1/* 2 * Copyright (C) 2006, 2007, 2008 Apple Inc. All rights reserved. 3 * 4 * Redistribution and use in source and binary forms, with or without 5 * modification, are permitted provided that the following conditions 6 * are met: 7 * 1. Redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer. 9 * 2. Redistributions in binary form must reproduce the above copyright 10 * notice, this list of conditions and the following disclaimer in the 11 * documentation and/or other materials provided with the distribution. 12 * 13 * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY 14 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 15 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 16 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR 17 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 18 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 19 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 20 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY 21 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 22 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 23 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 24 */ 25 26#ifndef DO_NO_IMPORTS 27import "oaidl.idl"; 28import "ocidl.idl"; 29#endif 30 31interface IWebInvocation; 32interface IWebMethodSignature; 33 34[ 35 object, 36 oleautomation, 37 uuid(D25D748C-6C1E-478d-9832-FDA26E8F7EE4), 38 pointer_default(unique) 39] 40interface IWebUndoManager : IUnknown 41{ 42 /* 43 - (void)beginUndoGrouping 44 */ 45 HRESULT beginUndoGrouping(); 46 47 /* 48 - (BOOL)canRedo 49 */ 50 HRESULT canRedo([out, retval] BOOL* result); 51 52 /* 53 - (BOOL)canUndo 54 */ 55 HRESULT canUndo([out, retval] BOOL* result); 56 57 /* 58 - (void)disableUndoRegistration 59 */ 60 HRESULT disableUndoRegistration(); 61 62 /* 63 - (void)enableUndoRegistration 64 */ 65 HRESULT enableUndoRegistration(); 66 67 /* 68 - (void)endUndoGrouping 69 */ 70 HRESULT endUndoGrouping(); 71 72 /* 73 - (void)forwardInvocation:(NSInvocation *)anInvocation 74 */ 75 HRESULT forwardInvocation([in] IWebInvocation* anInvocation); 76 77 /* 78 - (int)groupingLevel 79 */ 80 HRESULT groupingLevel([out, retval] int* groupingLevel); 81 82 /* 83 - (BOOL)groupsByEvent 84 */ 85 HRESULT groupsByEvent([out, retval] BOOL* result); 86 87 /* 88 - (BOOL)isRedoing 89 */ 90 HRESULT isRedoing([out, retval] BOOL* result); 91 92 /* 93 - (BOOL)isUndoing 94 */ 95 HRESULT isUndoing([out, retval] BOOL* result); 96 97 /* 98 - (BOOL)isUndoRegistrationEnabled 99 */ 100 HRESULT isUndoRegistrationEnabled([out, retval] BOOL* result); 101 102 /* 103 - (unsigned)levelsOfUndo 104 */ 105 HRESULT levelsOfUndo([out, retval] UINT* result); 106 107 /* 108 - (id)prepareWithInvocationTarget:(id)target 109 */ 110 HRESULT prepareWithInvocationTarget([in] IUnknown* target, [out, retval] IUnknown** result); 111 112 /* 113 - (void)redo 114 */ 115 HRESULT redo(); 116 117 /* 118 - (NSString *)redoActionName 119 */ 120 HRESULT redoActionName([out, retval] BSTR* result); 121 122 /* 123 - (NSString *)redoMenuItemTitle 124 */ 125 HRESULT redoMenuItemTitle([out, retval] BSTR* result); 126 127 /* 128 - (NSString *)redoMenuTitleForUndoActionName:(NSString *)actionName 129 */ 130 HRESULT redoMenuTitleForUndoActionName([in] BSTR actionName, [out, retval] BSTR* result); 131 132 /* 133 - (void)registerUndoWithTarget:(id)target selector:(SEL)aSelector object:(id)anObject 134 */ 135 HRESULT registerUndoWithTarget([in] IUnknown* target, [in] UINT aSelector, [in] IUnknown* anObject); 136 137 /* 138 - (void)removeAllActions 139 */ 140 HRESULT removeAllActions(); 141 142 /* 143 - (void)removeAllActionsWithTarget:(id)target 144 */ 145 HRESULT removeAllActionsWithTarget([in] IUnknown* target); 146 147 /* 148 - (NSArray *)runLoopModes 149 */ 150 HRESULT runLoopModes([out, retval] IEnumVARIANT** enumModes); 151 152 /* 153 - (void)setActionName:(NSString *)actionName 154 */ 155 HRESULT setActionName([in] BSTR actionName); 156 157 /* 158 - (void)setGroupsByEvent:(BOOL)flag 159 */ 160 HRESULT setGroupsByEvent([in] BOOL flag); 161 162 /* 163 - (void)setLevelsOfUndo:(unsigned)anInt 164 */ 165 HRESULT setLevelsOfUndo([in] UINT anInt); 166 167 /* 168 - (void)setRunLoopModes:(NSArray *)modes 169 */ 170 HRESULT setRunLoopModes([in] int cModes, [in, size_is(cModes)] BSTR* modes); 171 172 /* 173 - (void)undo 174 */ 175 HRESULT undo(); 176 177 /* 178 - (NSString *)undoActionName 179 */ 180 HRESULT undoActionName([out, retval] BSTR* result); 181 182 /* 183 - (NSString *)undoMenuItemTitle 184 */ 185 HRESULT undoMenuItemTitle([out, retval] BSTR* result); 186 187 /* 188 - (NSString *)undoMenuTitleForUndoActionName:(NSString *)actionName 189 */ 190 HRESULT undoMenuTitleForUndoActionName([in] BSTR actionName, [out, retval] BSTR* result); 191 192 /* 193 - (void)undoNestedGroup 194 */ 195 HRESULT undoNestedGroup(); 196} 197 198[ 199 object, 200 oleautomation, 201 uuid(67B067BE-4DE6-45c2-AD39-A91DFA84FF4E), 202 pointer_default(unique) 203] 204interface IWebInvocation : IUnknown 205{ 206 /* 207 + (NSInvocation *)invocationWithMethodSignature:(NSMethodSignature *)signature 208 */ 209 HRESULT invocationWithMethodSignature([in] IWebMethodSignature* signature); 210 211 /* 212 - (BOOL)argumentsRetained 213 */ 214 HRESULT argumentsRetained([out, retval] BOOL* result); 215 216 /* 217 - (void)getArgument:(void *)buffer atIndex:(int)index 218 */ 219 [local] HRESULT getArgument([in] void* buffer, [in] int index); 220 221 /* 222 - (void)getReturnValue:(void *)buffer 223 */ 224 [local] HRESULT getReturnValue([in] void* buffer); 225 226 /* 227 - (void)invoke 228 */ 229 HRESULT invoke(); 230 231 /* 232 - (void)invokeWithTarget:(id)anObject 233 */ 234 HRESULT invokeWithTarget([in] IUnknown* anObject); 235 236 /* 237 - (NSMethodSignature *)methodSignature 238 */ 239 HRESULT methodSignature([out, retval] IWebMethodSignature** result); 240 241 /* 242 - (void)retainArguments 243 */ 244 HRESULT retainArguments(); 245 246 /* 247 - (SEL)selector 248 */ 249 HRESULT selector([out, retval] UINT* result); 250 251 /* 252 - (void)setArgument:(void *)buffer atIndex:(int)index 253 */ 254 [local] HRESULT setArgument([in] void* buffer, [in] int atIndex); 255 256 /* 257 - (void)setReturnValue:(void *)buffer 258 */ 259 [local] HRESULT setReturnValue([in] void* buffer); 260 261 /* 262 - (void)setSelector:(SEL)selector 263 */ 264 HRESULT setSelector([in] UINT selector); 265 266 /* 267 - (void)setTarget:(id)anObject 268 */ 269 HRESULT setTarget([in] IUnknown* anObject); 270 271 /* 272 - (id)target 273 */ 274 HRESULT target([out, retval] IUnknown** result); 275} 276 277[ 278 object, 279 oleautomation, 280 uuid(431DD6B2-56BF-4f48-943B-78CCEAC418E4), 281 pointer_default(unique) 282] 283interface IWebMethodSignature : IUnknown 284{ 285 /* 286 - (unsigned)frameLength 287 */ 288 HRESULT frameLength([out, retval] UINT* result); 289 290 /* 291 - (const char *)getArgumentTypeAtIndex:(unsigned)index 292 */ 293 HRESULT getArgumentTypeAtIndex([in] UINT index, [out, retval] BSTR* result); 294 295 /* 296 - (BOOL)isOneway 297 */ 298 HRESULT isOneway([out, retval] BOOL* result); 299 300 /* 301 - (unsigned)methodReturnLength 302 */ 303 HRESULT methodReturnLength([out, retval] UINT* result); 304 305 /* 306 - (const char *)methodReturnType 307 */ 308 HRESULT methodReturnType([out, retval] BSTR* result); 309 310 /* 311 - (unsigned)numberOfArguments 312 */ 313 HRESULT numberOfArguments([out, retval] UINT* result); 314} 315