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

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

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2