blob: 4cea91a815524cdcd20065a204e6bf2450a9854c [file] [log] [blame]
/*
* Copyright (C) 2006, 2007, 2008 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#ifndef DO_NO_IMPORTS
import "oaidl.idl";
import "ocidl.idl";
#endif
interface IWebInvocation;
interface IWebMethodSignature;
[
object,
oleautomation,
uuid(D25D748C-6C1E-478d-9832-FDA26E8F7EE4),
pointer_default(unique)
]
interface IWebUndoManager : IUnknown
{
/*
- (void)beginUndoGrouping
*/
HRESULT beginUndoGrouping();
/*
- (BOOL)canRedo
*/
HRESULT canRedo([out, retval] BOOL* result);
/*
- (BOOL)canUndo
*/
HRESULT canUndo([out, retval] BOOL* result);
/*
- (void)disableUndoRegistration
*/
HRESULT disableUndoRegistration();
/*
- (void)enableUndoRegistration
*/
HRESULT enableUndoRegistration();
/*
- (void)endUndoGrouping
*/
HRESULT endUndoGrouping();
/*
- (void)forwardInvocation:(NSInvocation *)anInvocation
*/
HRESULT forwardInvocation([in] IWebInvocation* anInvocation);
/*
- (int)groupingLevel
*/
HRESULT groupingLevel([out, retval] int* groupingLevel);
/*
- (BOOL)groupsByEvent
*/
HRESULT groupsByEvent([out, retval] BOOL* result);
/*
- (BOOL)isRedoing
*/
HRESULT isRedoing([out, retval] BOOL* result);
/*
- (BOOL)isUndoing
*/
HRESULT isUndoing([out, retval] BOOL* result);
/*
- (BOOL)isUndoRegistrationEnabled
*/
HRESULT isUndoRegistrationEnabled([out, retval] BOOL* result);
/*
- (unsigned)levelsOfUndo
*/
HRESULT levelsOfUndo([out, retval] UINT* result);
/*
- (id)prepareWithInvocationTarget:(id)target
*/
HRESULT prepareWithInvocationTarget([in] IUnknown* target, [out, retval] IUnknown** result);
/*
- (void)redo
*/
HRESULT redo();
/*
- (NSString *)redoActionName
*/
HRESULT redoActionName([out, retval] BSTR* result);
/*
- (NSString *)redoMenuItemTitle
*/
HRESULT redoMenuItemTitle([out, retval] BSTR* result);
/*
- (NSString *)redoMenuTitleForUndoActionName:(NSString *)actionName
*/
HRESULT redoMenuTitleForUndoActionName([in] BSTR actionName, [out, retval] BSTR* result);
/*
- (void)registerUndoWithTarget:(id)target selector:(SEL)aSelector object:(id)anObject
*/
HRESULT registerUndoWithTarget([in] IUnknown* target, [in] UINT aSelector, [in] IUnknown* anObject);
/*
- (void)removeAllActions
*/
HRESULT removeAllActions();
/*
- (void)removeAllActionsWithTarget:(id)target
*/
HRESULT removeAllActionsWithTarget([in] IUnknown* target);
/*
- (NSArray *)runLoopModes
*/
HRESULT runLoopModes([out, retval] IEnumVARIANT** enumModes);
/*
- (void)setActionName:(NSString *)actionName
*/
HRESULT setActionName([in] BSTR actionName);
/*
- (void)setGroupsByEvent:(BOOL)flag
*/
HRESULT setGroupsByEvent([in] BOOL flag);
/*
- (void)setLevelsOfUndo:(unsigned)anInt
*/
HRESULT setLevelsOfUndo([in] UINT anInt);
/*
- (void)setRunLoopModes:(NSArray *)modes
*/
HRESULT setRunLoopModes([in] int cModes, [in, size_is(cModes)] BSTR* modes);
/*
- (void)undo
*/
HRESULT undo();
/*
- (NSString *)undoActionName
*/
HRESULT undoActionName([out, retval] BSTR* result);
/*
- (NSString *)undoMenuItemTitle
*/
HRESULT undoMenuItemTitle([out, retval] BSTR* result);
/*
- (NSString *)undoMenuTitleForUndoActionName:(NSString *)actionName
*/
HRESULT undoMenuTitleForUndoActionName([in] BSTR actionName, [out, retval] BSTR* result);
/*
- (void)undoNestedGroup
*/
HRESULT undoNestedGroup();
}
[
object,
oleautomation,
uuid(67B067BE-4DE6-45c2-AD39-A91DFA84FF4E),
pointer_default(unique)
]
interface IWebInvocation : IUnknown
{
/*
+ (NSInvocation *)invocationWithMethodSignature:(NSMethodSignature *)signature
*/
HRESULT invocationWithMethodSignature([in] IWebMethodSignature* signature);
/*
- (BOOL)argumentsRetained
*/
HRESULT argumentsRetained([out, retval] BOOL* result);
/*
- (void)getArgument:(void *)buffer atIndex:(int)index
*/
[local] HRESULT getArgument([in] void* buffer, [in] int index);
/*
- (void)getReturnValue:(void *)buffer
*/
[local] HRESULT getReturnValue([in] void* buffer);
/*
- (void)invoke
*/
HRESULT invoke();
/*
- (void)invokeWithTarget:(id)anObject
*/
HRESULT invokeWithTarget([in] IUnknown* anObject);
/*
- (NSMethodSignature *)methodSignature
*/
HRESULT methodSignature([out, retval] IWebMethodSignature** result);
/*
- (void)retainArguments
*/
HRESULT retainArguments();
/*
- (SEL)selector
*/
HRESULT selector([out, retval] UINT* result);
/*
- (void)setArgument:(void *)buffer atIndex:(int)index
*/
[local] HRESULT setArgument([in] void* buffer, [in] int atIndex);
/*
- (void)setReturnValue:(void *)buffer
*/
[local] HRESULT setReturnValue([in] void* buffer);
/*
- (void)setSelector:(SEL)selector
*/
HRESULT setSelector([in] UINT selector);
/*
- (void)setTarget:(id)anObject
*/
HRESULT setTarget([in] IUnknown* anObject);
/*
- (id)target
*/
HRESULT target([out, retval] IUnknown** result);
}
[
object,
oleautomation,
uuid(431DD6B2-56BF-4f48-943B-78CCEAC418E4),
pointer_default(unique)
]
interface IWebMethodSignature : IUnknown
{
/*
- (unsigned)frameLength
*/
HRESULT frameLength([out, retval] UINT* result);
/*
- (const char *)getArgumentTypeAtIndex:(unsigned)index
*/
HRESULT getArgumentTypeAtIndex([in] UINT index, [out, retval] BSTR* result);
/*
- (BOOL)isOneway
*/
HRESULT isOneway([out, retval] BOOL* result);
/*
- (unsigned)methodReturnLength
*/
HRESULT methodReturnLength([out, retval] UINT* result);
/*
- (const char *)methodReturnType
*/
HRESULT methodReturnType([out, retval] BSTR* result);
/*
- (unsigned)numberOfArguments
*/
HRESULT numberOfArguments([out, retval] UINT* result);
}