(file) Return to SimpleResponseHandler.cpp CVS log (file) (dir) Up to [Pegasus] / pegasus / src / Pegasus / ProviderManager2

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

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2