/usr/include/GNUstep/NGObjWeb/SoActionInvocation.h is in libsope-dev 2.2.17-1build2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 | /*
Copyright (C) 2002-2009 SKYRIX Software AG
This file is part of SOPE.
SOPE is free software; you can redistribute it and/or modify it under
the terms of the GNU Lesser General Public License as published by the
Free Software Foundation; either version 2, or (at your option) any
later version.
SOPE 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 Lesser General Public
License for more details.
You should have received a copy of the GNU Lesser General Public
License along with SOPE; see the file COPYING. If not, write to the
Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
02111-1307, USA.
*/
#ifndef __SoObjects_SoActionInvocation_H__
#define __SoObjects_SoActionInvocation_H__
#import <Foundation/NSObject.h>
/*
SoActionInvocation
An invocation object for WODirectAction based SoClass methods.
If the invocation is bound, the action is instantiated and initialized,
if it is called, the "actionName" is called and the result is returned or
if no "actionName" is set, the default action is called.
Usage:
methods = {
view = {
protectedBy = "View";
actionClass = "DirectAction"; // class to be instantiated
actionName = "view"; // 'viewAction' will get called
};
...
}
Positional Arguments
When being queried using some method which supplies positional arguments
(for example XML-RPC), you can assign keys to each position using the
'positionalKeys' argument info.
If more arguments are passed in than the number of keys specified in the
argument info, the additional arguments will be ignore (a warning will get
printed).
If less arguments are passed in, the additional keys will be resetted to
'nil' (-takeValue:nil forKey:key will get called) to ensure that the call
signature is deterministic.
methods = {
"blogger.getUsersBlogs" = {
protectedBy = "View";
actionClass = BloggerGetUserBlogs;
arguments = {
positionalKeys = ( appId, login, password );
};
};
...
}
SOAP Arguments
When being queried using SOAP, you can extract keys from the SOAP message
using EDOM query pathes. The values are assigned to the specified keys of
the action/page object.
methods = {
"cms.login" = {
actionClass = CMSLoginAction;
arguments = {
SOAP = { // key is from context.soRequestType
login = "/envelope/loginRequest/login";
password = "/envelope/loginRequest/password";
};
}
};
}
*/
@class NSString, NSArray, NSDictionary, NSMutableString;
@interface SoActionInvocation : NSObject
{
NSString *actionClassName;
NSString *actionName;
/* for bound invocations */
id methodObject;
id object;
NSDictionary *argumentSpecifications;
}
- (id)initWithActionClassName:(NSString *)_cn;
- (id)initWithActionClassName:(NSString *)_cn actionName:(NSString *)_action;
/* accessors */
- (NSString *)actionClassName;
- (NSString *)actionName;
- (void)setArgumentSpecifications:(NSDictionary *)_specs;
- (NSDictionary *)argumentSpecifications;
/* bindings */
- (BOOL)isBound;
- (id)bindToObject:(id)_object inContext:(id)_ctx;
/* calling the method */
- (id)callOnObject:(id)_client inContext:(id)_ctx;
- (id)callOnObject:(id)_client
withPositionalParameters:(NSArray *)_args
inContext:(id)_ctx;
/* description */
- (void)appendAttributesToDescription:(NSMutableString *)_ms;
@end
#endif /* __SoObjects_SoActionInvocation_H__ */
|