(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                     Tracer::LEVEL3,
 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                             Tracer::LEVEL3,
 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                             Tracer::LEVEL3,
 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