ftp.nice.ch/Attic/openStep/implementation/gnustep/sources/libFoundation.0.7.tgz#/libFoundation-0.7/FoundationExtensions/extensions/NSInvocation.h

This is NSInvocation.h in view mode; [Download] [Up]

/* 
   Copyright (C) 1996 
	Ovidiu Predescu <ovidiu@bx.logicnet.ro>
	Mircea Oancea <mircea@jupiter.elcom.pub.ro>

   Author: Ovidiu Predescu <ovidiu@bx.logicnet.ro>

   This file is part of the FoundationExtensions library.

   This library is free software; you can redistribute it and/or
   modify it under the terms of the GNU Library General Public
   License as published by the Free Software Foundation; either
   version 2 of the License, or (at your option) any later version.

   This library is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   Library General Public License for more details.

   You should have received a copy of the GNU Library General Public
   License along with this library; see the file COPYING.LIB.
   If not, write to the Free Software Foundation,
   59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/

#ifndef __NSInvocation_h__
#define __NSInvocation_h__

#include <Foundation/NSMethodSignature.h>

@interface NSInvocation : NSObject
{
    SEL selector;
    id target;
    NSMethodSignature* signature;
    arglist_t frame;
    void* returnValue;
    BOOL argumentsRetained;
    BOOL ownsFrame;
    BOOL ownsReturnValue;
    retval_t returnFrame;
}

/* Creating Invocations */
+ (NSInvocation*)invocationWithMethodSignature:(NSMethodSignature*)sig;

/* Managing Invocation Arguments */
- (BOOL)argumentsRetained;
- (void)getArgument:(void*)argumentLocation
	atIndex:(int)index;
- (void)getReturnValue:(void*)retLoc;
- (NSMethodSignature*)methodSignature;
- (void)retainArguments;
- (SEL)selector;
- (void)setArgument:(void*)argumentLocation
	atIndex:(int)index;
- (void)setReturnValue:(void*)retLoc;
- (void)setSelector:(SEL)selector;
- (void)setTarget:(id)target;
- (id)target;

/* Dispatching an Invocation */
- (void)invoke;
- (void)invokeWithTarget:(id)target;

@end


@interface NSInvocation (Extensions)
- (void)setArgumentFrame:(void*)frame;
- (retval_t)returnFrame;
- (void*)returnValue;
@end /* NSInvocation (Extensions) */


#endif /* __NSInvocation_h__ */

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.