1 karl 1.8 //%2006////////////////////////////////////////////////////////////////////////
|
2 schuur 1.1 //
|
3 karl 1.2 // 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 schuur 1.1 // IBM Corp.; EMC Corporation, The Open Group.
|
7 karl 1.2 // 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.4 // Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;
10 // EMC Corporation; VERITAS Software Corporation; The Open Group.
|
11 karl 1.8 // Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.;
12 // EMC Corporation; Symantec Corporation; The Open Group.
|
13 schuur 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.8 //
|
21 schuur 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 chip 1.5 #include "SimpleResponseHandler.h"
35
36 #include <Pegasus/ProviderManager2/OperationResponseHandler.h>
37
38 #include <Pegasus/Common/Logger.h>
|
39 schuur 1.1
40 PEGASUS_NAMESPACE_BEGIN
41
|
42 chip 1.5 //
43 // SimpleResponseHandler
44 //
45
|
46 kumpf 1.10 SimpleResponseHandler::SimpleResponseHandler()
|
47 chip 1.5 {
48 }
49
|
50 kumpf 1.10 SimpleResponseHandler::~SimpleResponseHandler()
|
51 chip 1.5 {
52 }
53
|
54 kumpf 1.10 void SimpleResponseHandler::processing()
|
55 chip 1.5 {
56 Logger::put(
57 Logger::STANDARD_LOG,
58 System::CIMSERVER,
59 Logger::TRACE,
60 "SimpleResponseHandler::processing()");
61
62 // do nothing
63 }
64
|
65 kumpf 1.10 void SimpleResponseHandler::complete()
|
66 brian.campbell 1.3 {
|
67 chip 1.5 Logger::put(
68 Logger::STANDARD_LOG,
69 System::CIMSERVER,
70 Logger::TRACE,
71 "SimpleResponseHandler::complete()");
|
72 brian.campbell 1.3
|
73 chip 1.5 send(true);
74 }
|
75 brian.campbell 1.3
|
76 chip 1.5 // return the number of objects in this handler
|
77 kumpf 1.10 Uint32 SimpleResponseHandler::size() const
|
78 chip 1.5 {
|
79 kumpf 1.10 return 0;
|
80 brian.campbell 1.3 }
81
|
82 chip 1.5 // clear any objects in this handler
|
83 kumpf 1.10 void SimpleResponseHandler::clear()
|
84 chip 1.5 {
85 }
|
86 brian.campbell 1.3
|
87 kumpf 1.10 ContentLanguageList SimpleResponseHandler::getLanguages()
|
88 brian.campbell 1.3 {
|
89 a.dunfey 1.9 Logger::put(
|
90 chip 1.5 Logger::STANDARD_LOG,
91 System::CIMSERVER,
92 Logger::TRACE,
93 "SimpleResponseHandler: getLanguages()");
94
|
95 a.dunfey 1.9 ContentLanguageList langs;
|
96 chip 1.5
|
97 a.dunfey 1.9 // Try to get the ContentLanguageList out of the
98 // OperationContext in the base ResponseHandler.
99 OperationContext context = getContext();
|
100 chip 1.5
|
101 kumpf 1.10 if (context.contains(ContentLanguageListContainer::NAME))
|
102 a.dunfey 1.9 {
103 ContentLanguageListContainer cntr =
104 context.get(ContentLanguageListContainer::NAME);
|
105 chip 1.5 langs = cntr.getLanguages();
|
106 a.dunfey 1.9 }
|
107 chip 1.5
|
108 a.dunfey 1.9 return langs;
|
109 chip 1.5 }
110
111 void SimpleResponseHandler::send(Boolean isComplete)
112 {
|
113 kumpf 1.10 // If this was NOT instantiated as a derived OperationResponseHandle class,
114 // then this will be null but is NOT an error. In this case, there is no
115 // response attached, hence no data,so there is nothing to send. else we
116 // have a valid "cross-cast" to the operation side
|
117 chip 1.5
|
118 kumpf 1.10 OperationResponseHandler* operation =
119 dynamic_cast<OperationResponseHandler*>(this);
|
120 chip 1.5
|
121 kumpf 1.10 if (operation)
|
122 chip 1.5 {
123 operation->send(isComplete);
124 }
125 }
126
127 //
128 // SimpleInstanceResponseHandler
129 //
130
|
131 kumpf 1.10 SimpleInstanceResponseHandler::SimpleInstanceResponseHandler()
|
132 chip 1.5 {
133 }
134
|
135 kumpf 1.10 void SimpleInstanceResponseHandler::processing()
|
136 chip 1.5 {
137 SimpleResponseHandler::processing();
138 }
139
|
140 kumpf 1.10 void SimpleInstanceResponseHandler::complete()
|
141 chip 1.5 {
142 SimpleResponseHandler::complete();
143 }
144
|
145 kumpf 1.10 Uint32 SimpleInstanceResponseHandler::size() const
|
146 chip 1.5 {
|
147 kumpf 1.10 return _objects.size();
|
148 chip 1.5 }
149
|
150 kumpf 1.10 void SimpleInstanceResponseHandler::clear()
|
151 chip 1.5 {
152 _objects.clear();
153 }
154
|
155 kumpf 1.10 void SimpleInstanceResponseHandler::deliver(const CIMInstance& instance)
|
156 chip 1.5 {
|
157 mike 1.6 PEG_LOGGER_TRACE((
|
158 chip 1.5 Logger::STANDARD_LOG,
159 System::CIMSERVER,
160 Logger::TRACE,
|
161 mike 1.6 "SimpleInstanceResponseHandler::deliver()"));
|
162 chip 1.5
163 _objects.append(instance);
164
165 send(false);
166 }
167
|
168 kumpf 1.10 void SimpleInstanceResponseHandler::deliver(const Array<CIMInstance>& instances)
|
169 chip 1.5 {
170 // call deliver for each object in the array
|
171 kumpf 1.10 for (Uint32 i = 0, n = instances.size(); i < n; i++)
|
172 chip 1.5 {
173 deliver(instances[i]);
174 }
175 }
176
|
177 kumpf 1.10 const Array<CIMInstance> SimpleInstanceResponseHandler::getObjects() const
|
178 chip 1.5 {
|
179 kumpf 1.10 return _objects;
|
180 chip 1.5 }
181
182 //
183 // SimpleObjectPathResponseHandler
184 //
185
|
186 kumpf 1.10 SimpleObjectPathResponseHandler::SimpleObjectPathResponseHandler()
|
187 chip 1.5 {
188 }
189
|
190 kumpf 1.10 void SimpleObjectPathResponseHandler::processing()
|
191 chip 1.5 {
192 SimpleResponseHandler::processing();
193 }
194
|
195 kumpf 1.10 void SimpleObjectPathResponseHandler::complete()
|
196 chip 1.5 {
197 SimpleResponseHandler::complete();
198 }
199
|
200 kumpf 1.10 Uint32 SimpleObjectPathResponseHandler::size() const
|
201 chip 1.5 {
|
202 kumpf 1.10 return _objects.size();
|
203 chip 1.5 }
204
|
205 kumpf 1.10 void SimpleObjectPathResponseHandler::clear()
|
206 chip 1.5 {
207 _objects.clear();
208 }
209
|
210 kumpf 1.10 void SimpleObjectPathResponseHandler::deliver(const CIMObjectPath& objectPath)
|
211 chip 1.5 {
212 Logger::put(
213 Logger::STANDARD_LOG,
214 System::CIMSERVER,
215 Logger::TRACE,
216 "SimpleObjectPathResponseHandler::deliver()");
217
218 _objects.append(objectPath);
219
220 send(false);
221 }
222
|
223 kumpf 1.10 void SimpleObjectPathResponseHandler::deliver(
224 const Array<CIMObjectPath>& objectPaths)
|
225 chip 1.5 {
226 // call deliver for each object in the array
|
227 kumpf 1.10 for (Uint32 i = 0, n = objectPaths.size(); i < n; i++)
|
228 chip 1.5 {
229 deliver(objectPaths[i]);
230 }
231 }
232
|
233 kumpf 1.10 const Array<CIMObjectPath> SimpleObjectPathResponseHandler::getObjects() const
|
234 chip 1.5 {
|
235 kumpf 1.10 return _objects;
|
236 chip 1.5 }
237
238 //
239 // SimpleMethodResultResponseHandler
240 //
241
|
242 kumpf 1.10 SimpleMethodResultResponseHandler::SimpleMethodResultResponseHandler()
|
243 chip 1.5 {
244 }
245
|
246 kumpf 1.10 void SimpleMethodResultResponseHandler::processing()
|
247 chip 1.5 {
248 SimpleResponseHandler::processing();
249 }
250
|
251 kumpf 1.10 void SimpleMethodResultResponseHandler::complete()
|
252 chip 1.5 {
253 SimpleResponseHandler::complete();
254 }
255
|
256 kumpf 1.10 Uint32 SimpleMethodResultResponseHandler::size() const
|
257 chip 1.5 {
|
258 kumpf 1.10 return _objects.size();
|
259 chip 1.5 }
260
|
261 kumpf 1.10 void SimpleMethodResultResponseHandler::clear()
|
262 chip 1.5 {
263 _objects.clear();
264
265 _returnValue.clear();
266 }
267
|
268 kumpf 1.10 void SimpleMethodResultResponseHandler::deliverParamValue(
269 const CIMParamValue& outParamValue)
|
270 chip 1.5 {
271 _objects.append(outParamValue);
272
273 // async delivers not yet supported for parameters
274 //send(false);
275 }
276
|
277 kumpf 1.10 void SimpleMethodResultResponseHandler::deliverParamValue(
278 const Array<CIMParamValue>& outParamValues)
|
279 chip 1.5 {
280 // call deliver for each object in the array
|
281 kumpf 1.10 for (Uint32 i = 0, n = outParamValues.size(); i < n; i++)
|
282 chip 1.5 {
283 deliverParamValue(outParamValues[i]);
284 }
285 }
286
|
287 kumpf 1.10 void SimpleMethodResultResponseHandler::deliver(const CIMValue& returnValue)
|
288 chip 1.5 {
289 Logger::put(
290 Logger::STANDARD_LOG,
291 System::CIMSERVER,
292 Logger::TRACE,
293 "SimpleMethodResultResponseHandler::deliver()");
294
295 _returnValue = returnValue;
296
297 send(false);
298 }
299
|
300 kumpf 1.10 const Array<CIMParamValue>
301 SimpleMethodResultResponseHandler::getParamValues() const
|
302 chip 1.5 {
|
303 kumpf 1.10 return _objects;
|
304 chip 1.5 }
305
|
306 kumpf 1.10 const CIMValue SimpleMethodResultResponseHandler::getReturnValue() const
|
307 chip 1.5 {
|
308 kumpf 1.10 return _returnValue;
|
309 chip 1.5 }
310
311 //
312 // SimpleIndicationResponseHandler
313 //
314
|
315 kumpf 1.10 SimpleIndicationResponseHandler::SimpleIndicationResponseHandler()
|
316 chip 1.5 {
317 }
318
|
319 kumpf 1.10 void SimpleIndicationResponseHandler::processing()
|
320 chip 1.5 {
321 SimpleResponseHandler::processing();
322 }
323
|
324 kumpf 1.10 void SimpleIndicationResponseHandler::complete()
|
325 chip 1.5 {
326 SimpleResponseHandler::complete();
327 }
328
|
329 kumpf 1.10 Uint32 SimpleIndicationResponseHandler::size() const
|
330 chip 1.5 {
|
331 kumpf 1.10 return _objects.size();
|
332 chip 1.5 }
333
|
334 kumpf 1.10 void SimpleIndicationResponseHandler::clear()
|
335 chip 1.5 {
336 _objects.clear();
337 }
338
|
339 kumpf 1.10 void SimpleIndicationResponseHandler::deliver(const CIMIndication& indication)
|
340 chip 1.5 {
341 Logger::put(
342 Logger::STANDARD_LOG,
343 System::CIMSERVER,
344 Logger::TRACE,
345 "SimpleIndicationResponseHandler::deliver()");
346
347 _objects.append(indication);
348
349 send(false);
350 }
351
|
352 kumpf 1.10 void SimpleIndicationResponseHandler::deliver(
353 const Array<CIMIndication>& indications)
|
354 chip 1.5 {
355 // call deliver for each object in the array
|
356 kumpf 1.10 for (Uint32 i = 0, n = indications.size(); i < n; i++)
|
357 chip 1.5 {
358 deliver(indications[i]);
359 }
360 }
361
362 void SimpleIndicationResponseHandler::deliver(
|
363 kumpf 1.10 const OperationContext& context,
364 const CIMIndication& indication)
|
365 chip 1.5 {
366 Logger::put(
367 Logger::STANDARD_LOG,
368 System::CIMSERVER,
369 Logger::TRACE,
370 "SimpleIndicationResponseHandler::deliver()");
371
372 _objects.append(indication);
373 }
374
375 void SimpleIndicationResponseHandler::deliver(
|
376 kumpf 1.10 const OperationContext& context,
377 const Array<CIMIndication>& indications)
|
378 chip 1.5 {
379 // call deliver for each object in the array
|
380 kumpf 1.10 for (Uint32 i = 0, n = indications.size(); i < n; i++)
|
381 chip 1.5 {
382 deliver(indications[i]);
383 }
384 }
385
|
386 kumpf 1.10 const Array<CIMIndication> SimpleIndicationResponseHandler::getObjects() const
|
387 chip 1.5 {
|
388 kumpf 1.10 return _objects;
|
389 chip 1.5 }
390
391
392 //
393 // SimpleObjectResponseHandler
394 //
395
|
396 kumpf 1.10 SimpleObjectResponseHandler::SimpleObjectResponseHandler()
|
397 chip 1.5 {
398 }
399
|
400 kumpf 1.10 void SimpleObjectResponseHandler::processing()
|
401 chip 1.5 {
402 SimpleResponseHandler::processing();
403 }
404
|
405 kumpf 1.10 void SimpleObjectResponseHandler::complete()
|
406 chip 1.5 {
407 SimpleResponseHandler::complete();
408 }
409
|
410 kumpf 1.10 Uint32 SimpleObjectResponseHandler::size() const
|
411 chip 1.5 {
|
412 kumpf 1.10 return _objects.size();
|
413 chip 1.5 }
414
|
415 kumpf 1.10 void SimpleObjectResponseHandler::clear()
|
416 chip 1.5 {
417 _objects.clear();
418 }
419
|
420 kumpf 1.10 void SimpleObjectResponseHandler::deliver(const CIMObject& object)
|
421 chip 1.5 {
422 Logger::put(
423 Logger::STANDARD_LOG,
424 System::CIMSERVER,
425 Logger::TRACE,
426 "SimpleObjectResponseHandler::deliver()");
427
428 _objects.append(object);
429
430 send(false);
431 }
432
|
433 kumpf 1.10 void SimpleObjectResponseHandler::deliver(const Array<CIMObject>& objects)
|
434 chip 1.5 {
435 // call deliver for each object in the array
|
436 kumpf 1.10 for (Uint32 i = 0, n = objects.size(); i < n; i++)
|
437 chip 1.5 {
438 deliver(objects[i]);
439 }
440 }
441
|
442 kumpf 1.10 const Array<CIMObject> SimpleObjectResponseHandler::getObjects() const
|
443 chip 1.5 {
|
444 kumpf 1.10 return _objects;
|
445 chip 1.5 }
446
447 //
448 // SimpleInstance2ObjectResponseHandler
449 //
450
|
451 kumpf 1.10 SimpleInstance2ObjectResponseHandler::SimpleInstance2ObjectResponseHandler()
|
452 chip 1.5 {
453 }
454
|
455 kumpf 1.10 void SimpleInstance2ObjectResponseHandler::processing()
|
456 chip 1.5 {
457 SimpleResponseHandler::processing();
458 }
459
|
460 kumpf 1.10 void SimpleInstance2ObjectResponseHandler::complete()
|
461 chip 1.5 {
462 SimpleResponseHandler::complete();
463 }
464
|
465 kumpf 1.10 Uint32 SimpleInstance2ObjectResponseHandler::size() const
|
466 chip 1.5 {
|
467 kumpf 1.10 return _objects.size();
|
468 chip 1.5 }
469
|
470 kumpf 1.10 void SimpleInstance2ObjectResponseHandler::clear()
|
471 chip 1.5 {
472 _objects.clear();
473 }
474
|
475 kumpf 1.10 void SimpleInstance2ObjectResponseHandler::deliver(const CIMInstance& object)
|
476 chip 1.5 {
477 Logger::put(
478 Logger::STANDARD_LOG,
479 System::CIMSERVER,
480 Logger::TRACE,
481 "SimpleInstance2ObjectResponseHandler::deliver()");
482
483 _objects.append(CIMObject(object));
484
485 // async delivers not yet supported
486 //send(false);
487 }
488
|
489 kumpf 1.10 void SimpleInstance2ObjectResponseHandler::deliver(
490 const Array<CIMInstance>& objects)
|
491 chip 1.5 {
492 // call deliver for each object in the array
|
493 kumpf 1.10 for (Uint32 i = 0, n = objects.size(); i < n; i++)
|
494 chip 1.5 {
495 deliver(objects[i]);
496 }
497 }
498
|
499 kumpf 1.10 const Array<CIMObject> SimpleInstance2ObjectResponseHandler::getObjects() const
|
500 chip 1.5 {
|
501 kumpf 1.10 return _objects;
|
502 chip 1.5 }
503
504 //
505 // SimpleValueResponseHandler
506 //
507
|
508 kumpf 1.10 SimpleValueResponseHandler::SimpleValueResponseHandler()
|
509 chip 1.5 {
510 }
511
|
512 kumpf 1.10 void SimpleValueResponseHandler::processing()
|
513 chip 1.5 {
514 SimpleResponseHandler::processing();
515 }
516
|
517 kumpf 1.10 void SimpleValueResponseHandler::complete()
|
518 chip 1.5 {
519 SimpleResponseHandler::complete();
520 }
521
|
522 kumpf 1.10 Uint32 SimpleValueResponseHandler::size() const
|
523 chip 1.5 {
|
524 kumpf 1.10 return _objects.size();
|
525 chip 1.5 }
526
|
527 kumpf 1.10 void SimpleValueResponseHandler::clear()
|
528 chip 1.5 {
529 _objects.clear();
530 }
531
|
532 kumpf 1.10 void SimpleValueResponseHandler::deliver(const CIMValue& value)
|
533 chip 1.5 {
534 Logger::put(
535 Logger::STANDARD_LOG,
536 System::CIMSERVER,
537 Logger::TRACE,
538 "SimpleValueResponseHandler::deliver()");
539
540 _objects.append(value);
541
542 send(false);
543 }
544
|
545 kumpf 1.10 void SimpleValueResponseHandler::deliver(const Array<CIMValue>& values)
|
546 chip 1.5 {
547 // call deliver for each object in the array
|
548 kumpf 1.10 for (Uint32 i = 0, n = values.size(); i < n; i++)
|
549 chip 1.5 {
550 deliver(values[i]);
551 }
552 }
553
|
554 kumpf 1.10 const Array<CIMValue> SimpleValueResponseHandler::getObjects() const
|
555 chip 1.5 {
|
556 kumpf 1.10 return _objects;
|
557 brian.campbell 1.3 }
558
|
559 schuur 1.1 PEGASUS_NAMESPACE_END
|