(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           class PEGASUS_SERVER_LINKAGE ProviderFacade :
 48           	public CIMInstanceProvider,
 49           	public CIMClassProvider,
 50           	public CIMAssociationProvider,
 51           	public CIMPropertyProvider,
 52           	public CIMMethodProvider,
 53           	public CIMQueryProvider,
 54           	public CIMIndicationProvider,
 55           	public CIMIndicationConsumer
 56           {
 57           public:
 58           	ProviderFacade(CIMBaseProvider * provider);
 59           	virtual ~ProviderFacade(void);
 60           
 61           	// CIMBaseProvider interface
 62           	virtual void initialize(CIMOMHandle & cimom);
 63           	virtual void terminate(void);
 64 chip  1.1 
 65           	// CIMInstanceProvider interface
 66           	virtual void getInstance(
 67           		const OperationContext & context,
 68           		const CIMReference & instanceReference,
 69           		const Uint32 flags,
 70           		const Array<String> & propertyList,
 71           		ResponseHandler<CIMInstance> & handler);
 72           
 73           	virtual void enumerateInstances(
 74           		const OperationContext & context,
 75           		const CIMReference & classReference,
 76           		const Uint32 flags,
 77           		const Array<String> & propertyList,
 78           		ResponseHandler<CIMInstance> & handler);
 79           
 80           	virtual void enumerateInstanceNames(
 81           		const OperationContext & context,
 82           		const CIMReference & classReference,
 83           		ResponseHandler<CIMReference> & handler);
 84           
 85 chip  1.1 	virtual void modifyInstance(
 86           		const OperationContext & context,
 87           		const CIMReference & instanceReference,
 88           		const CIMInstance & instanceObject,
 89           		const Uint32 flags,
 90           		const Array<String> & propertyList,
 91           		ResponseHandler<CIMInstance> & handler);
 92           
 93           	virtual void createInstance(
 94           		const OperationContext & context,
 95           		const CIMReference & instanceReference,
 96           		const CIMInstance & instanceObject,
 97           		ResponseHandler<CIMReference> & handler);
 98           
 99           	virtual void deleteInstance(
100           		const OperationContext & context,
101           		const CIMReference & instanceReference,
102           		ResponseHandler<CIMInstance> & handler);
103           
104           	// CIMClassProvider interface
105           	virtual void getClass(
106 chip  1.1 		const OperationContext & context,
107           		const CIMReference & classReference,
108           		const Uint32 flags,
109           		const Array<String> & propertyList,
110           		ResponseHandler<CIMClass> & handler);
111           
112           	virtual void enumerateClasses(
113           		const OperationContext & context,
114           		const CIMReference & classReference,
115           		const Uint32 flags,
116           		ResponseHandler<CIMClass> & handler);
117           
118           	virtual void enumerateClassNames(
119           		const OperationContext & context,
120           		const CIMReference & classReference,
121           		const Uint32 flags,
122           		ResponseHandler<CIMReference> & handler);
123           
124           	virtual void modifyClass(
125           		const OperationContext & context,
126           		const CIMReference & classReference,
127 chip  1.1 		const CIMClass & classObject,
128           		ResponseHandler<CIMClass> & handler);
129           
130           	virtual void createClass(
131           		const OperationContext & context,
132           		const CIMReference & classReference,
133           		const CIMClass & classObject,
134           		ResponseHandler<CIMClass> & handler);
135           
136           	virtual void deleteClass(
137           		const OperationContext & context,
138           		const CIMReference & classReference,
139           		ResponseHandler<CIMClass> & handler);
140           
141           	// CIMAssociationProvider interface
142           	virtual void associators(
143           		const OperationContext & context,
144           		const CIMReference & objectName,
145           		const String & associationClass,
146           		const String & resultClass,
147           		const String & role,
148 chip  1.1 		const String & resultRole,
149           		const Uint32 flags,
150           		const Array<String> & propertyList,
151           		ResponseHandler<CIMObject> & handler);
152           
153           	virtual void associatorNames(
154           		const OperationContext & context,
155           		const CIMReference & objectName,
156           		const String & associationClass,
157           		const String & resultClass,
158           		const String & role,
159           		const String & resultRole,
160           		ResponseHandler<CIMReference> & handler);
161           
162           	virtual void references(
163           		const OperationContext & context,
164           		const CIMReference & objectName,
165           		const String & resultClass,
166           		const String & role,
167           		const Uint32 flags,
168           		const Array<String> & propertyList,
169 chip  1.1 		ResponseHandler<CIMObject> & handler);
170           
171           	virtual void referenceNames(
172           		const OperationContext & context,
173           		const CIMReference & objectName,
174           		const String & resultClass,
175           		const String & role,
176           		ResponseHandler<CIMReference> & handler);
177           
178           	// CIMPropertyProvider interface
179           	virtual void getProperty(
180           		const OperationContext & context,
181           		const CIMReference & instanceReference,
182           		const String & propertyName,
183           		ResponseHandler<CIMValue> & handler);
184           
185           	virtual void setProperty(
186           		const OperationContext & context,
187           		const CIMReference & instanceReference,
188           		const String & propertyName,
189           		const CIMValue & newValue,
190 chip  1.1 		ResponseHandler<CIMValue> & handler);
191           
192           	// CIMMethodProviderFacade
193           	virtual void invokeMethod(
194           		const OperationContext & context,
195           		const CIMReference & objectReference,
196           		const String & methodName,
197           		const Array<CIMParamValue> & inParameters,
198           		Array<CIMParamValue> & outParameters,
199           		ResponseHandler<CIMValue> & handler);
200           
201           	// CIMQueryProvider interface
202           	virtual void executeQuery(
203           		const OperationContext & context,
204           		const String & queryLanguage,
205           		const String & query,
206           		ResponseHandler<CIMObject> & handler);
207           
208           	// CIMIndicationProvider interface
209           	virtual void provideIndication(
210           		const OperationContext & context,
211 chip  1.1 		const CIMReference & classReference,
212           		const CIMDateTime & minimumInterval,
213           		const CIMDateTime & maximumInterval,
214           		const Array<String> & propertyList,
215           		ResponseHandler<CIMInstance> & handler);
216           	
217           	virtual void updateIndication(
218           		const OperationContext & context,
219           		const CIMReference & classReference,
220           		const CIMDateTime & minimumInterval,
221           		const CIMDateTime & maximumInterval,
222           		const Array<String> & propertyList,
223           		ResponseHandler<CIMInstance> & handler);
224           
225           	virtual void cancelIndication(
226           		const OperationContext & context,
227           		const CIMReference & classReference,
228           		ResponseHandler<CIMInstance> & handler);
229           
230           	virtual void checkIndication(
231           		const OperationContext & context,
232 chip  1.1 		const CIMReference & classReference,
233           		const Array<String> & propertyList,
234           		ResponseHandler<CIMInstance> & handler);
235           
236           	virtual void enableIndication(
237           	    	const OperationContext & context,
238           		const String & nameSpace,
239           		const Array<String> & classNames,
240           		const String & providerName,
241           		const Array<String> & propertyList,
242           		const Uint16 repeatNotificationPolicy,
243           		const String & otherRepeatNotificationPolicy,
244           		const CIMDateTime & repeatNotificationInterval,
245           		const CIMDateTime & repeatNotificationGap,
246           		const Uint16 repeatNotificationCount,
247           		const String & condition,
248           		const String & queryLanguage,
249           		const CIMInstance & subscription,
250           		ResponseHandler<CIMInstance> & handler);
251           
252           	virtual void disableIndication(
253 chip  1.1 		const OperationContext & context,
254           		const String & nameSpace,
255           		const Array<String> & classNames,
256           		const String & providerName,
257           		const CIMInstance & subscription,
258           		ResponseHandler<CIMInstance> & handler);
259           
260           	virtual void modifyIndication(
261           		const OperationContext & context,
262           		const String & nameSpace,
263           		const Array<String> & classNames,
264           		const String & providerName,
265           		const Array<String> & propertyList,
266           		const Uint16 repeatNotificationPolicy,
267           		const String & otherRepeatNotificationPolicy,
268           		const CIMDateTime & repeatNotificationInterval,
269           		const CIMDateTime & repeatNotificationGap,
270           		const Uint16 repeatNotificationCount,
271           		const String & condition,
272           		const String & queryLanguage,
273           		const CIMInstance & subscription,
274 chip  1.1 		ResponseHandler<CIMInstance> & handler);
275           
276           	// CIMIndicationConsumer interface
277           	virtual void handleIndication(
278           		const OperationContext & context,
279           		const CIMInstance & indication,
280           		ResponseHandler<CIMInstance> & handler);
281           
282           	virtual void handleIndication(
283           		const OperationContext & context,
284           		const String & url,
285           		const CIMInstance& indicationInstance) { }
286           
287           protected:
288           	CIMBaseProvider * _provider;
289           
290           };
291           
292           PEGASUS_NAMESPACE_END
293           
294           #endif

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2