1 /**Interface for NSInvocationOperation for GNUStep
2    Copyright (C) 2013 Free Software Foundation, Inc.
3 
4    Written by:  Graham Lee <iamleeg@gmail.com>
5    Date: 2013
6 
7    This file is part of the GNUstep Base Library.
8 
9    This library is free software; you can redistribute it and/or
10    modify it under the terms of the GNU Lesser General Public
11    License as published by the Free Software Foundation; either
12    version 2 of the License, or (at your option) any later version.
13 
14    This library is distributed in the hope that it will be useful,
15    but WITHOUT ANY WARRANTY; without even the implied warranty of
16    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
17    Lesser General Public License for more details.
18 
19    You should have received a copy of the GNU Lesser General Public
20    License along with this library; if not, write to the Free
21    Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
22    Boston, MA 02110 USA.
23 
24    */
25 
26 #ifndef __NSInvocationOperation_h_GNUSTEP_BASE_INCLUDE
27 #define __NSInvocationOperation_h_GNUSTEP_BASE_INCLUDE
28 
29 #import <Foundation/NSOperation.h>
30 #if OS_API_VERSION(MAC_OS_X_VERSION_10_5, GS_API_LATEST)
31 
32 #if	defined(__cplusplus)
33 extern "C" {
34 #endif
35 
36 @class NSInvocation;
37 @class NSException;
38 
39 @interface NSInvocationOperation : NSOperation
40 {
41   @private
42     NSInvocation *_invocation;
43     NSException *_exception;
44     void        *_reserved;
45 }
46 
47 - (id) initWithInvocation: (NSInvocation *)inv;
48 - (id) initWithTarget: (id)target selector: (SEL)aSelector object: (id)arg;
49 
50 - (NSInvocation *) invocation;
51 - (id) result;
52 
53 @end
54 
55 extern const NSString * NSInvocationOperationVoidResultException;
56 extern const NSString * NSInvocationOperationCancelledException;
57 
58 #if	defined(__cplusplus)
59 }
60 #endif
61 
62 #endif /* OS_API_VERSION */
63 #endif /* __NSInvocationOperation_h_GNUSTEP_BASE_INCLUDE */
64