![]() ![]() |
![]() |
1 karl 1.43 //%2006//////////////////////////////////////////////////////////////////////// | ||
2 chip 1.1 // | ||
3 karl 1.41 // Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development 4 // Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems. 5 // Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.; | ||
6 karl 1.31 // IBM Corp.; EMC Corporation, The Open Group. | ||
7 karl 1.41 // Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.; 8 // IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group. | ||
9 karl 1.42 // Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.; 10 // EMC Corporation; VERITAS Software Corporation; The Open Group. | ||
11 karl 1.43 // Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.; 12 // EMC Corporation; Symantec Corporation; The Open Group. | ||
13 chip 1.1 // 14 // Permission is hereby granted, free of charge, to any person obtaining a copy 15 // of this software and associated documentation files (the "Software"), to 16 // deal in the Software without restriction, including without limitation the 17 // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 18 // sell copies of the Software, and to permit persons to whom the Software is 19 // furnished to do so, subject to the following conditions: | ||
20 karl 1.31 // | ||
21 chip 1.1 // THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN 22 // ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED 23 // "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT 24 // LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR 25 // PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 26 // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN 27 // ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 28 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 29 // 30 //============================================================================== 31 // 32 //%///////////////////////////////////////////////////////////////////////////// 33 | ||
34 mday 1.23 | ||
35 chip 1.1 #ifndef Pegasus_CIMOMHandle_h 36 #define Pegasus_CIMOMHandle_h 37 38 #include <Pegasus/Common/Config.h> 39 #include <Pegasus/Common/OperationContext.h> 40 #include <Pegasus/Common/CIMObject.h> | ||
41 chip 1.6 #include <Pegasus/Common/CIMObjectPath.h> | ||
42 chip 1.3 #include <Pegasus/Common/CIMClass.h> 43 #include <Pegasus/Common/CIMInstance.h> | ||
44 chip 1.1 #include <Pegasus/Common/CIMPropertyList.h> | ||
45 mday 1.23 #include <Pegasus/Common/ResponseHandler.h> | ||
46 chuck 1.26 #include <Pegasus/Provider/Linkage.h> | ||
47 chip 1.6 | ||
48 kumpf 1.22 PEGASUS_NAMESPACE_BEGIN | ||
49 chip 1.1 | ||
50 chuck 1.35 #ifdef PEGASUS_OS_OS400 51 class CIMProviderOS400UserState; | ||
52 chuck 1.36 class CIMProviderOS400SystemState; | ||
53 chuck 1.35 #endif | ||
54 mday 1.23 | ||
55 kumpf 1.39 class CIMOMHandleRep; | ||
56 mday 1.23 | ||
57 chip 1.6 class PEGASUS_PROVIDER_LINKAGE CIMOMHandle | ||
58 chip 1.1 { | ||
59 mday 1.23 public: 60 61 /** */ 62 CIMOMHandle(void); | ||
63 chuck 1.35 | ||
64 mday 1.23 CIMOMHandle(const CIMOMHandle &); 65 66 /** */ | ||
67 kumpf 1.27 ~CIMOMHandle(void); | ||
68 mday 1.23 | ||
69 mday 1.24 CIMOMHandle & operator =(const CIMOMHandle & handle); | ||
70 mday 1.23 71 CIMClass getClass( 72 const OperationContext & context, 73 const CIMNamespaceName& nameSpace, 74 const CIMName& className, 75 Boolean localOnly, 76 Boolean includeQualifiers, 77 Boolean includeClassOrigin, 78 const CIMPropertyList& propertyList); 79 80 Array<CIMClass> enumerateClasses( 81 const OperationContext & context, 82 const CIMNamespaceName& nameSpace, 83 const CIMName& className, 84 Boolean deepInheritance, 85 Boolean localOnly, 86 Boolean includeQualifiers, 87 Boolean includeClassOrigin); 88 89 Array<CIMName> enumerateClassNames( 90 const OperationContext & context, 91 mday 1.23 const CIMNamespaceName& nameSpace, 92 const CIMName& className, 93 Boolean deepInheritance); 94 95 void createClass( 96 const OperationContext & context, 97 const CIMNamespaceName& nameSpace, 98 const CIMClass& newClass); 99 100 void modifyClass( 101 const OperationContext & context, 102 const CIMNamespaceName& nameSpace, 103 const CIMClass& modifiedClass); 104 105 void deleteClass( 106 const OperationContext & context, 107 const CIMNamespaceName& nameSpace, 108 const CIMName& className); 109 110 CIMInstance getInstance( 111 const OperationContext & context, 112 mday 1.23 const CIMNamespaceName& nameSpace, 113 const CIMObjectPath& instanceName, 114 Boolean localOnly, 115 Boolean includeQualifiers, 116 Boolean includeClassOrigin, 117 const CIMPropertyList& propertyList); 118 119 Array<CIMInstance> enumerateInstances( 120 const OperationContext & context, 121 const CIMNamespaceName& nameSpace, 122 const CIMName& className, 123 Boolean deepInheritance, 124 Boolean localOnly, 125 Boolean includeQualifiers, 126 Boolean includeClassOrigin, 127 const CIMPropertyList& propertyList); 128 129 Array<CIMObjectPath> enumerateInstanceNames( 130 const OperationContext & context, 131 const CIMNamespaceName& nameSpace, 132 const CIMName& className); 133 mday 1.23 134 CIMObjectPath createInstance( 135 const OperationContext & context, 136 const CIMNamespaceName& nameSpace, 137 const CIMInstance& newInstance); 138 139 void modifyInstance( 140 const OperationContext & context, 141 const CIMNamespaceName& nameSpace, 142 const CIMInstance& modifiedInstance, 143 Boolean includeQualifiers, 144 const CIMPropertyList& propertyList); 145 146 void deleteInstance( 147 const OperationContext & context, 148 const CIMNamespaceName& nameSpace, 149 const CIMObjectPath& instanceName); 150 151 Array<CIMObject> execQuery( 152 const OperationContext & context, 153 const CIMNamespaceName& nameSpace, 154 mday 1.23 const String& queryLanguage, 155 const String& query); 156 157 Array<CIMObject> associators( 158 const OperationContext & context, 159 const CIMNamespaceName& nameSpace, 160 const CIMObjectPath& objectName, 161 const CIMName& assocClass, 162 const CIMName& resultClass, 163 const String& role, 164 const String& resultRole, 165 Boolean includeQualifiers, 166 Boolean includeClassOrigin, 167 const CIMPropertyList& propertyList); 168 169 Array<CIMObjectPath> associatorNames( 170 const OperationContext & context, 171 const CIMNamespaceName& nameSpace, 172 const CIMObjectPath& objectName, 173 const CIMName& assocClass, 174 const CIMName& resultClass, 175 mday 1.23 const String& role, 176 const String& resultRole); 177 178 Array<CIMObject> references( 179 const OperationContext & context, 180 const CIMNamespaceName& nameSpace, 181 const CIMObjectPath& objectName, 182 const CIMName& resultClass, 183 const String& role, 184 Boolean includeQualifiers, 185 Boolean includeClassOrigin, 186 const CIMPropertyList& propertyList); 187 188 Array<CIMObjectPath> referenceNames( 189 const OperationContext & context, 190 const CIMNamespaceName& nameSpace, 191 const CIMObjectPath& objectName, 192 const CIMName& resultClass, 193 const String& role); 194 195 // property operations 196 mday 1.23 CIMValue getProperty( 197 const OperationContext & context, 198 const CIMNamespaceName& nameSpace, 199 const CIMObjectPath& instanceName, 200 const CIMName& propertyName); 201 202 void setProperty( 203 const OperationContext & context, 204 const CIMNamespaceName& nameSpace, 205 const CIMObjectPath& instanceName, 206 const CIMName& propertyName, 207 const CIMValue& newValue); 208 209 CIMValue invokeMethod( 210 const OperationContext & context, 211 const CIMNamespaceName& nameSpace, 212 const CIMObjectPath& instanceName, 213 const CIMName& methodName, 214 const Array<CIMParamValue>& inParameters, 215 Array<CIMParamValue>& outParameters); 216 | ||
217 kumpf 1.27 /** 218 Provides a hint to the CIM Server that the provider calling this 219 method prefers not to be unloaded. This hint applies in 220 situations where a provider unload is not necessary, such as 221 when the CIM Server unloads idle providers for efficiency reasons. 222 A provider may rescind this hint by using the allowProviderUnload 223 method. Note that disallowProviderUnload is cumulative, such that 224 each call to disallowProviderUnload must be matched with a call to 225 allowProviderUnload. 226 */ 227 void disallowProviderUnload(); 228 229 /** 230 Provides a hint to the CIM Server that the provider calling this 231 method no longer prefers not to be unloaded. This hint applies in 232 situations where a provider unload is not necessary, such as 233 when the CIM Server unloads idle providers for efficiency reasons. 234 This method is used to rescind a hint that was given using the 235 disallowProviderUnload method. Note that each allowProviderUnload 236 call should be preceded by a disallowProviderUnload call. 237 */ 238 kumpf 1.27 void allowProviderUnload(); 239 | ||
240 chuck 1.38 #ifdef PEGASUS_USE_EXPERIMENTAL_INTERFACES 241 /** 242 Returns the context of the response to the last request. 243 Currently, the context only contains the ContentLanguageListContainer 244 from the response. 245 Note: this method should be called directly after the call to the 246 CIM request method (getClass, etc), and can only be called once 247 per request. 248 */ 249 OperationContext getResponseContext(void); 250 #endif 251 | ||
252 mday 1.24 private: | ||
253 kumpf 1.39 CIMOMHandleRep* _rep; | ||
254 mday 1.24 | ||
255 kumpf 1.44 friend class ProviderStatus; | ||
256 schuur 1.33 friend class CMPIProvider; | ||
257 chuck 1.35 #ifdef PEGASUS_OS_OS400 | ||
258 chuck 1.37 friend class CIMProviderOS400UserState; | ||
259 chuck 1.35 CIMOMHandle(Uint32 os400UserStateKey); | ||
260 chuck 1.36 | ||
261 chuck 1.37 friend class CIMProviderOS400SystemState; | ||
262 chuck 1.36 void setOS400ProfileHandle(const char * profileHandle); | ||
263 chuck 1.35 #endif | ||
264 kumpf 1.27 Boolean unload_ok(void); | ||
265 chip 1.1 }; 266 267 PEGASUS_NAMESPACE_END 268 269 #endif |
No CVS admin address has been configured |
Powered by ViewCVS 0.9.2 |