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
|
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 }
|