(file) Return to CIMOMHandle.h CVS log (file) (dir) Up to [Pegasus] / pegasus / src / Pegasus / Provider

  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