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

  1 chip  1.1 //%/////////////////////////////////////////////////////////////////////////////
  2           //
  3           // Copyright (c) 2000, 2001 The Open group, BMC Software, Tivoli Systems, IBM
  4           //
  5           // Permission is hereby granted, free of charge, to any person obtaining a copy
  6           // of this software and associated documentation files (the "Software"), to
  7           // deal in the Software without restriction, including without limitation the
  8           // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
  9           // sell copies of the Software, and to permit persons to whom the Software is
 10           // furnished to do so, subject to the following conditions:
 11           //
 12           // THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
 13           // ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
 14           // "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
 15           // LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
 16           // PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
 17           // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
 18           // ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
 19           // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 20           //
 21           //==============================================================================
 22 chip  1.1 //
 23           // Author: Chip Vincent (cvincent@us.ibm.com)
 24           //
 25           // Modified By: Roger Kumpf, Hewlett-Packard Company (roger_kumpf@hp.com)
 26           //              Nitin Upasani, Hewlett-Packard Company (Nitin_Upasani@hp.com)
 27           //
 28           //%/////////////////////////////////////////////////////////////////////////////
 29           
 30           #ifndef Pegasus_ProviderFacade_h
 31           #define Pegasus_ProviderFacade_h
 32           
 33           #include <Pegasus/Common/Config.h>
 34           
 35           #include <Pegasus/Provider/CIMBaseProvider.h>
 36           #include <Pegasus/Provider/CIMInstanceProvider.h>
 37           #include <Pegasus/Provider/CIMClassProvider.h>
 38           #include <Pegasus/Provider/CIMAssociationProvider.h>
 39           #include <Pegasus/Provider/CIMPropertyProvider.h>
 40           #include <Pegasus/Provider/CIMMethodProvider.h>
 41           #include <Pegasus/Provider/CIMQueryProvider.h>
 42           #include <Pegasus/Provider/CIMIndicationProvider.h>
 43 chip  1.1 #include <Pegasus/Provider/CIMIndicationConsumer.h>
 44           
 45           PEGASUS_NAMESPACE_BEGIN
 46           
 47 chip  1.4 // The ProviderModule class wraps a provider pointer extracted from a provider
 48           // module to ensure it is complete and well behaved. So, regardless of the
 49           // method supported by a "real" provider, it can be placed inside a reliable
 50           // facade with a known interface.
 51 chip  1.1 class PEGASUS_SERVER_LINKAGE ProviderFacade :
 52 chip  1.5 public CIMInstanceProvider,
 53               public CIMClassProvider,
 54               public CIMAssociationProvider,
 55               public CIMPropertyProvider,
 56               public CIMMethodProvider,
 57               public CIMQueryProvider,
 58               public CIMIndicationProvider,
 59               public CIMIndicationConsumer
 60 chip  1.1 {
 61           public:
 62 chip  1.5     ProviderFacade(CIMBaseProvider * provider);
 63               virtual ~ProviderFacade(void);
 64 chip  1.1 
 65 chip  1.5     // CIMBaseProvider interface
 66               virtual void initialize(CIMOMHandle & cimom);
 67               virtual void terminate(void);
 68           
 69               // CIMInstanceProvider interface
 70               virtual void getInstance(
 71           	const OperationContext & context,
 72           	const CIMReference & instanceReference,
 73           	const Uint32 flags,
 74           	const Array<String> & propertyList,
 75           	ResponseHandler<CIMInstance> & handler);
 76           
 77               virtual void enumerateInstances(
 78           	const OperationContext & context,
 79           	const CIMReference & classReference,
 80           	const Uint32 flags,
 81           	const Array<String> & propertyList,
 82           	ResponseHandler<CIMInstance> & handler);
 83           
 84               virtual void enumerateInstanceNames(
 85           	const OperationContext & context,
 86 chip  1.5 	const CIMReference & classReference,
 87           	ResponseHandler<CIMReference> & handler);
 88           
 89               virtual void modifyInstance(
 90           	const OperationContext & context,
 91           	const CIMReference & instanceReference,
 92           	const CIMInstance & instanceObject,
 93           	const Uint32 flags,
 94           	const Array<String> & propertyList,
 95           	ResponseHandler<CIMInstance> & handler);
 96           
 97               virtual void createInstance(
 98           	const OperationContext & context,
 99           	const CIMReference & instanceReference,
100           	const CIMInstance & instanceObject,
101           	ResponseHandler<CIMReference> & handler);
102           
103               virtual void deleteInstance(
104           	const OperationContext & context,
105           	const CIMReference & instanceReference,
106           	ResponseHandler<CIMInstance> & handler);
107 chip  1.5 
108               // CIMClassProvider interface
109               virtual void getClass(
110           	const OperationContext & context,
111           	const CIMReference & classReference,
112           	const Uint32 flags,
113           	const Array<String> & propertyList,
114           	ResponseHandler<CIMClass> & handler);
115           
116               virtual void enumerateClasses(
117           	const OperationContext & context,
118           	const CIMReference & classReference,
119           	const Uint32 flags,
120           	ResponseHandler<CIMClass> & handler);
121           
122               virtual void enumerateClassNames(
123           	const OperationContext & context,
124           	const CIMReference & classReference,
125           	const Uint32 flags,
126           	ResponseHandler<CIMReference> & handler);
127           
128 chip  1.5     virtual void modifyClass(
129           	const OperationContext & context,
130           	const CIMReference & classReference,
131           	const CIMClass & classObject,
132           	ResponseHandler<CIMClass> & handler);
133           
134               virtual void createClass(
135           	const OperationContext & context,
136           	const CIMReference & classReference,
137           	const CIMClass & classObject,
138           	ResponseHandler<CIMClass> & handler);
139           
140               virtual void deleteClass(
141           	const OperationContext & context,
142           	const CIMReference & classReference,
143           	ResponseHandler<CIMClass> & handler);
144           
145               // CIMAssociationProvider interface
146               virtual void associators(
147           	const OperationContext & context,
148           	const CIMReference & objectName,
149 chip  1.5 	const String & associationClass,
150           	const String & resultClass,
151           	const String & role,
152           	const String & resultRole,
153           	const Uint32 flags,
154           	const Array<String> & propertyList,
155           	ResponseHandler<CIMObject> & handler);
156           
157               virtual void associatorNames(
158           	const OperationContext & context,
159           	const CIMReference & objectName,
160           	const String & associationClass,
161           	const String & resultClass,
162           	const String & role,
163           	const String & resultRole,
164           	ResponseHandler<CIMReference> & handler);
165           
166               virtual void references(
167           	const OperationContext & context,
168           	const CIMReference & objectName,
169           	const String & resultClass,
170 chip  1.5 	const String & role,
171           	const Uint32 flags,
172           	const Array<String> & propertyList,
173           	ResponseHandler<CIMObject> & handler);
174           
175               virtual void referenceNames(
176           	const OperationContext & context,
177           	const CIMReference & objectName,
178           	const String & resultClass,
179           	const String & role,
180           	ResponseHandler<CIMReference> & handler);
181           
182               // CIMPropertyProvider interface
183               virtual void getProperty(
184           	const OperationContext & context,
185           	const CIMReference & instanceReference,
186           	const String & propertyName,
187           	ResponseHandler<CIMValue> & handler);
188           
189               virtual void setProperty(
190           	const OperationContext & context,
191 chip  1.5 	const CIMReference & instanceReference,
192           	const String & propertyName,
193           	const CIMValue & newValue,
194           	ResponseHandler<CIMValue> & handler);
195           
196               // CIMMethodProviderFacade
197               virtual void invokeMethod(
198           	const OperationContext & context,
199           	const CIMReference & objectReference,
200           	const String & methodName,
201           	const Array<CIMParamValue> & inParameters,
202           	Array<CIMParamValue> & outParameters,
203           	ResponseHandler<CIMValue> & handler);
204           
205               // CIMQueryProvider interface
206               virtual void executeQuery(
207           	const OperationContext & context,
208           	const String & queryLanguage,
209           	const String & query,
210           	ResponseHandler<CIMObject> & handler);
211           
212 chip  1.5     // CIMIndicationProvider interface
213               virtual void provideIndication(
214           	const OperationContext & context,
215           	const CIMReference & classReference,
216           	const CIMDateTime & minimumInterval,
217           	const CIMDateTime & maximumInterval,
218           	const Array<String> & propertyList,
219           	ResponseHandler<CIMInstance> & handler);
220           
221               virtual void updateIndication(
222           	const OperationContext & context,
223           	const CIMReference & classReference,
224           	const CIMDateTime & minimumInterval,
225           	const CIMDateTime & maximumInterval,
226           	const Array<String> & propertyList,
227           	ResponseHandler<CIMInstance> & handler);
228           
229               virtual void cancelIndication(
230           	const OperationContext & context,
231           	const CIMReference & classReference,
232           	ResponseHandler<CIMInstance> & handler);
233 chip  1.5 
234               virtual void checkIndication(
235           	const OperationContext & context,
236           	const CIMReference & classReference,
237           	const Array<String> & propertyList,
238           	ResponseHandler<CIMInstance> & handler);
239           
240               virtual void enableIndication(
241           	const OperationContext & context,
242           	const String & nameSpace,
243           	const Array<String> & classNames,
244           	const CIMPropertyList & propertyList,
245           	const Uint16 repeatNotificationPolicy,
246           	const String & otherRepeatNotificationPolicy,
247           	const CIMDateTime & repeatNotificationInterval,
248           	const CIMDateTime & repeatNotificationGap,
249           	const Uint16 repeatNotificationCount,
250           	const String & condition,
251           	const String & queryLanguage,
252           	const CIMInstance & subscription,
253           	ResponseHandler<CIMInstance> & handler);
254 chip  1.5 
255               virtual void disableIndication(
256           	const OperationContext & context,
257           	const String & nameSpace,
258           	const Array<String> & classNames,
259           	const CIMInstance & subscription,
260           	ResponseHandler<CIMInstance> & handler);
261           
262               virtual void modifyIndication(
263           	const OperationContext & context,
264           	const String & nameSpace,
265           	const Array<String> & classNames,
266           	const CIMPropertyList & propertyList,
267           	const Uint16 repeatNotificationPolicy,
268           	const String & otherRepeatNotificationPolicy,
269           	const CIMDateTime & repeatNotificationInterval,
270           	const CIMDateTime & repeatNotificationGap,
271           	const Uint16 repeatNotificationCount,
272           	const String & condition,
273           	const String & queryLanguage,
274           	const CIMInstance & subscription,
275 chip  1.5 	ResponseHandler<CIMInstance> & handler);
276           
277               // CIMIndicationConsumer interface
278               virtual void handleIndication(
279           	const OperationContext & context,
280           	const CIMInstance & indication,
281           	ResponseHandler<CIMInstance> & handler);
282           
283               virtual void handleIndication(
284           	const OperationContext & context,
285           	const String & url,
286           	const CIMInstance& indicationInstance)
287               {
288               }
289 chip  1.1 
290           protected:
291 chip  1.5     CIMBaseProvider * _provider;
292 chip  1.1 
293           };
294           
295           PEGASUS_NAMESPACE_END
296           
297           #endif

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2