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

  1 martin 1.13 //%LICENSE////////////////////////////////////////////////////////////////
  2 martin 1.14 //
  3 martin 1.13 // Licensed to The Open Group (TOG) under one or more contributor license
  4             // agreements.  Refer to the OpenPegasusNOTICE.txt file distributed with
  5             // this work for additional information regarding copyright ownership.
  6             // Each contributor licenses this file to you under the OpenPegasus Open
  7             // Source License; you may not use this file except in compliance with the
  8             // License.
  9 martin 1.14 //
 10 martin 1.13 // Permission is hereby granted, free of charge, to any person obtaining a
 11             // copy of this software and associated documentation files (the "Software"),
 12             // to deal in the Software without restriction, including without limitation
 13             // the rights to use, copy, modify, merge, publish, distribute, sublicense,
 14             // and/or sell copies of the Software, and to permit persons to whom the
 15             // Software is furnished to do so, subject to the following conditions:
 16 martin 1.14 //
 17 martin 1.13 // The above copyright notice and this permission notice shall be included
 18             // in all copies or substantial portions of the Software.
 19 martin 1.14 //
 20 martin 1.13 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
 21 martin 1.14 // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 22 martin 1.13 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
 23             // IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
 24             // CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
 25             // TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
 26             // SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 27 martin 1.14 //
 28 martin 1.13 //////////////////////////////////////////////////////////////////////////
 29 schuur 1.1  //
 30             //%/////////////////////////////////////////////////////////////////////////////
 31             
 32 chip   1.5  #include "SimpleResponseHandler.h"
 33             
 34             #include <Pegasus/ProviderManager2/OperationResponseHandler.h>
 35             
 36 marek  1.11 #include <Pegasus/Common/Tracer.h>
 37 schuur 1.1  
 38             PEGASUS_NAMESPACE_BEGIN
 39             
 40 chip   1.5  //
 41             // SimpleResponseHandler
 42             //
 43             
 44 kumpf  1.10 SimpleResponseHandler::SimpleResponseHandler()
 45 chip   1.5  {
 46             }
 47             
 48 kumpf  1.10 SimpleResponseHandler::~SimpleResponseHandler()
 49 chip   1.5  {
 50             }
 51             
 52 kumpf  1.10 void SimpleResponseHandler::processing()
 53 chip   1.5  {
 54 marek  1.11     PEG_TRACE_CSTRING(
 55                     TRC_PROVIDERMANAGER,
 56 marek  1.12         Tracer::LEVEL4,
 57 chip   1.5          "SimpleResponseHandler::processing()");
 58                 // do nothing
 59             }
 60             
 61 kumpf  1.10 void SimpleResponseHandler::complete()
 62 brian.campbell 1.3  {
 63 marek          1.11     PEG_TRACE_CSTRING(
 64                             TRC_PROVIDERMANAGER,
 65 marek          1.12         Tracer::LEVEL4,
 66 chip           1.5          "SimpleResponseHandler::complete()");
 67 brian.campbell 1.3  
 68 chip           1.5      send(true);
 69                     }
 70 brian.campbell 1.3  
 71 chip           1.5  // return the number of objects in this handler
 72 kumpf          1.10 Uint32 SimpleResponseHandler::size() const
 73 chip           1.5  {
 74 kumpf          1.10     return 0;
 75 brian.campbell 1.3  }
 76                     
 77 chip           1.5  // clear any objects in this handler
 78 kumpf          1.10 void SimpleResponseHandler::clear()
 79 chip           1.5  {
 80                     }
 81 brian.campbell 1.3  
 82 kumpf          1.10 ContentLanguageList SimpleResponseHandler::getLanguages()
 83 brian.campbell 1.3  {
 84 marek          1.11     PEG_TRACE_CSTRING(
 85                             TRC_PROVIDERMANAGER,
 86 marek          1.12         Tracer::LEVEL4,
 87 chip           1.5          "SimpleResponseHandler: getLanguages()");
 88                     
 89 a.dunfey       1.9      ContentLanguageList langs;
 90 chip           1.5  
 91 a.dunfey       1.9      // Try to get the ContentLanguageList out of the
 92                         // OperationContext in the base ResponseHandler.
 93                         OperationContext context = getContext();
 94 chip           1.5  
 95 kumpf          1.10     if (context.contains(ContentLanguageListContainer::NAME))
 96 a.dunfey       1.9      {
 97                             ContentLanguageListContainer cntr =
 98                                 context.get(ContentLanguageListContainer::NAME);
 99 chip           1.5          langs = cntr.getLanguages();
100 a.dunfey       1.9      }
101 chip           1.5  
102 a.dunfey       1.9      return langs;
103 chip           1.5  }
104                     
105                     void SimpleResponseHandler::send(Boolean isComplete)
106                     {
107 kumpf          1.10     // If this was NOT instantiated as a derived OperationResponseHandle class,
108                         // then this will be null but is NOT an error. In this case, there is no
109                         // response attached, hence no data,so there is nothing to send. else we
110                         // have a valid "cross-cast" to the operation side
111 chip           1.5  
112 kumpf          1.10     OperationResponseHandler* operation =
113                             dynamic_cast<OperationResponseHandler*>(this);
114 chip           1.5  
115 kumpf          1.10     if (operation)
116 chip           1.5      {
117                             operation->send(isComplete);
118                         }
119                     }
120                     
121                     //
122                     // SimpleInstanceResponseHandler
123                     //
124                     
125 kumpf          1.10 SimpleInstanceResponseHandler::SimpleInstanceResponseHandler()
126 chip           1.5  {
127                     }
128                     
129 kumpf          1.10 void SimpleInstanceResponseHandler::processing()
130 chip           1.5  {
131                         SimpleResponseHandler::processing();
132                     }
133                     
134 kumpf          1.10 void SimpleInstanceResponseHandler::complete()
135 chip           1.5  {
136                         SimpleResponseHandler::complete();
137                     }
138                     
139 kumpf          1.10 Uint32 SimpleInstanceResponseHandler::size() const
140 chip           1.5  {
141 kumpf          1.10     return _objects.size();
142 chip           1.5  }
143                     
144 kumpf          1.10 void SimpleInstanceResponseHandler::clear()
145 chip           1.5  {
146                         _objects.clear();
147                     }
148                     
149 kumpf          1.10 void SimpleInstanceResponseHandler::deliver(const CIMInstance& instance)
150 chip           1.5  {
151 marek          1.11     PEG_TRACE_CSTRING(
152                             TRC_PROVIDERMANAGER,
153                             Tracer::LEVEL4,
154                             "SimpleInstanceResponseHandler::deliver()");
155 chip           1.5  
156                         _objects.append(instance);
157                     
158                         send(false);
159                     }
160                     
161 kumpf          1.10 void SimpleInstanceResponseHandler::deliver(const Array<CIMInstance>& instances)
162 chip           1.5  {
163                         // call deliver for each object in the array
164 kumpf          1.10     for (Uint32 i = 0, n = instances.size(); i < n; i++)
165 chip           1.5      {
166                             deliver(instances[i]);
167                         }
168                     }
169                     
170 kumpf          1.10 const Array<CIMInstance> SimpleInstanceResponseHandler::getObjects() const
171 chip           1.5  {
172 kumpf          1.10     return _objects;
173 chip           1.5  }
174                     
175                     //
176                     // SimpleObjectPathResponseHandler
177                     //
178                     
179 kumpf          1.10 SimpleObjectPathResponseHandler::SimpleObjectPathResponseHandler()
180 chip           1.5  {
181                     }
182                     
183 kumpf          1.10 void SimpleObjectPathResponseHandler::processing()
184 chip           1.5  {
185                         SimpleResponseHandler::processing();
186                     }
187                     
188 kumpf          1.10 void SimpleObjectPathResponseHandler::complete()
189 chip           1.5  {
190                         SimpleResponseHandler::complete();
191                     }
192                     
193 kumpf          1.10 Uint32 SimpleObjectPathResponseHandler::size() const
194 chip           1.5  {
195 kumpf          1.10     return _objects.size();
196 chip           1.5  }
197                     
198 kumpf          1.10 void SimpleObjectPathResponseHandler::clear()
199 chip           1.5  {
200                         _objects.clear();
201                     }
202                     
203 kumpf          1.10 void SimpleObjectPathResponseHandler::deliver(const CIMObjectPath& objectPath)
204 chip           1.5  {
205 marek          1.11     PEG_TRACE_CSTRING(
206                             TRC_PROVIDERMANAGER,
207                             Tracer::LEVEL4,
208 chip           1.5          "SimpleObjectPathResponseHandler::deliver()");
209                     
210                         _objects.append(objectPath);
211                     
212                         send(false);
213                     }
214                     
215 kumpf          1.10 void SimpleObjectPathResponseHandler::deliver(
216                         const Array<CIMObjectPath>& objectPaths)
217 chip           1.5  {
218                         // call deliver for each object in the array
219 kumpf          1.10     for (Uint32 i = 0, n = objectPaths.size(); i < n; i++)
220 chip           1.5      {
221                             deliver(objectPaths[i]);
222                         }
223                     }
224                     
225 kumpf          1.10 const Array<CIMObjectPath> SimpleObjectPathResponseHandler::getObjects() const
226 chip           1.5  {
227 kumpf          1.10     return _objects;
228 chip           1.5  }
229                     
230                     //
231                     // SimpleMethodResultResponseHandler
232                     //
233                     
234 kumpf          1.10 SimpleMethodResultResponseHandler::SimpleMethodResultResponseHandler()
235 chip           1.5  {
236                     }
237                     
238 kumpf          1.10 void SimpleMethodResultResponseHandler::processing()
239 chip           1.5  {
240                         SimpleResponseHandler::processing();
241                     }
242                     
243 kumpf          1.10 void SimpleMethodResultResponseHandler::complete()
244 chip           1.5  {
245                         SimpleResponseHandler::complete();
246                     }
247                     
248 kumpf          1.10 Uint32 SimpleMethodResultResponseHandler::size() const
249 chip           1.5  {
250 kumpf          1.10     return _objects.size();
251 chip           1.5  }
252                     
253 kumpf          1.10 void SimpleMethodResultResponseHandler::clear()
254 chip           1.5  {
255                         _objects.clear();
256                     
257                         _returnValue.clear();
258                     }
259                     
260 kumpf          1.10 void SimpleMethodResultResponseHandler::deliverParamValue(
261                         const CIMParamValue& outParamValue)
262 chip           1.5  {
263                         _objects.append(outParamValue);
264                     
265                         // async delivers not yet supported for parameters
266                         //send(false);
267                     }
268                     
269 kumpf          1.10 void SimpleMethodResultResponseHandler::deliverParamValue(
270                         const Array<CIMParamValue>& outParamValues)
271 chip           1.5  {
272                         // call deliver for each object in the array
273 kumpf          1.10     for (Uint32 i = 0, n = outParamValues.size(); i < n; i++)
274 chip           1.5      {
275                             deliverParamValue(outParamValues[i]);
276                         }
277                     }
278                     
279 kumpf          1.10 void SimpleMethodResultResponseHandler::deliver(const CIMValue& returnValue)
280 chip           1.5  {
281 marek          1.11     PEG_TRACE_CSTRING(
282                             TRC_PROVIDERMANAGER,
283                             Tracer::LEVEL4,
284 chip           1.5          "SimpleMethodResultResponseHandler::deliver()");
285                     
286                         _returnValue = returnValue;
287                     
288                         send(false);
289                     }
290                     
291 kumpf          1.10 const Array<CIMParamValue>
292                         SimpleMethodResultResponseHandler::getParamValues() const
293 chip           1.5  {
294 kumpf          1.10     return _objects;
295 chip           1.5  }
296                     
297 kumpf          1.10 const CIMValue SimpleMethodResultResponseHandler::getReturnValue() const
298 chip           1.5  {
299 kumpf          1.10     return _returnValue;
300 chip           1.5  }
301                     
302                     //
303                     // SimpleIndicationResponseHandler
304                     //
305                     
306 kumpf          1.10 SimpleIndicationResponseHandler::SimpleIndicationResponseHandler()
307 chip           1.5  {
308                     }
309                     
310 kumpf          1.10 void SimpleIndicationResponseHandler::processing()
311 chip           1.5  {
312                         SimpleResponseHandler::processing();
313                     }
314                     
315 kumpf          1.10 void SimpleIndicationResponseHandler::complete()
316 chip           1.5  {
317                         SimpleResponseHandler::complete();
318                     }
319                     
320 kumpf          1.10 Uint32 SimpleIndicationResponseHandler::size() const
321 chip           1.5  {
322 kumpf          1.10     return _objects.size();
323 chip           1.5  }
324                     
325 kumpf          1.10 void SimpleIndicationResponseHandler::clear()
326 chip           1.5  {
327                         _objects.clear();
328                     }
329                     
330 kumpf          1.10 void SimpleIndicationResponseHandler::deliver(const CIMIndication& indication)
331 chip           1.5  {
332 marek          1.11     PEG_TRACE_CSTRING(
333                             TRC_PROVIDERMANAGER,
334                             Tracer::LEVEL4,
335 chip           1.5          "SimpleIndicationResponseHandler::deliver()");
336                     
337                         _objects.append(indication);
338                     
339                         send(false);
340                     }
341                     
342 kumpf          1.10 void SimpleIndicationResponseHandler::deliver(
343                         const Array<CIMIndication>& indications)
344 chip           1.5  {
345                         // call deliver for each object in the array
346 kumpf          1.10     for (Uint32 i = 0, n = indications.size(); i < n; i++)
347 chip           1.5      {
348                             deliver(indications[i]);
349                         }
350                     }
351                     
352                     void SimpleIndicationResponseHandler::deliver(
353 kumpf          1.10     const OperationContext& context,
354                         const CIMIndication& indication)
355 chip           1.5  {
356 marek          1.11     PEG_TRACE_CSTRING(
357                             TRC_PROVIDERMANAGER,
358                             Tracer::LEVEL4,
359 chip           1.5          "SimpleIndicationResponseHandler::deliver()");
360                     
361                         _objects.append(indication);
362                     }
363                     
364                     void SimpleIndicationResponseHandler::deliver(
365 kumpf          1.10     const OperationContext& context,
366                         const Array<CIMIndication>& indications)
367 chip           1.5  {
368                         // call deliver for each object in the array
369 kumpf          1.10     for (Uint32 i = 0, n = indications.size(); i < n; i++)
370 chip           1.5      {
371                             deliver(indications[i]);
372                         }
373                     }
374                     
375 kumpf          1.10 const Array<CIMIndication> SimpleIndicationResponseHandler::getObjects() const
376 chip           1.5  {
377 kumpf          1.10     return _objects;
378 chip           1.5  }
379                     
380                     
381                     //
382                     // SimpleObjectResponseHandler
383                     //
384                     
385 kumpf          1.10 SimpleObjectResponseHandler::SimpleObjectResponseHandler()
386 chip           1.5  {
387                     }
388                     
389 kumpf          1.10 void SimpleObjectResponseHandler::processing()
390 chip           1.5  {
391                         SimpleResponseHandler::processing();
392                     }
393                     
394 kumpf          1.10 void SimpleObjectResponseHandler::complete()
395 chip           1.5  {
396                         SimpleResponseHandler::complete();
397                     }
398                     
399 kumpf          1.10 Uint32 SimpleObjectResponseHandler::size() const
400 chip           1.5  {
401 kumpf          1.10     return _objects.size();
402 chip           1.5  }
403                     
404 kumpf          1.10 void SimpleObjectResponseHandler::clear()
405 chip           1.5  {
406                         _objects.clear();
407                     }
408                     
409 kumpf          1.10 void SimpleObjectResponseHandler::deliver(const CIMObject& object)
410 chip           1.5  {
411 marek          1.11     PEG_TRACE_CSTRING(
412                             TRC_PROVIDERMANAGER,
413                             Tracer::LEVEL4,
414 chip           1.5          "SimpleObjectResponseHandler::deliver()");
415                     
416                         _objects.append(object);
417                     
418                         send(false);
419                     }
420                     
421 kumpf          1.10 void SimpleObjectResponseHandler::deliver(const Array<CIMObject>& objects)
422 chip           1.5  {
423                         // call deliver for each object in the array
424 kumpf          1.10     for (Uint32 i = 0, n = objects.size(); i < n; i++)
425 chip           1.5      {
426                             deliver(objects[i]);
427                         }
428                     }
429                     
430 kumpf          1.10 const Array<CIMObject> SimpleObjectResponseHandler::getObjects() const
431 chip           1.5  {
432 kumpf          1.10     return _objects;
433 chip           1.5  }
434                     
435                     //
436                     // SimpleInstance2ObjectResponseHandler
437                     //
438                     
439 kumpf          1.10 SimpleInstance2ObjectResponseHandler::SimpleInstance2ObjectResponseHandler()
440 chip           1.5  {
441                     }
442                     
443 kumpf          1.10 void SimpleInstance2ObjectResponseHandler::processing()
444 chip           1.5  {
445                         SimpleResponseHandler::processing();
446                     }
447                     
448 kumpf          1.10 void SimpleInstance2ObjectResponseHandler::complete()
449 chip           1.5  {
450                         SimpleResponseHandler::complete();
451                     }
452                     
453 kumpf          1.10 Uint32 SimpleInstance2ObjectResponseHandler::size() const
454 chip           1.5  {
455 kumpf          1.10     return _objects.size();
456 chip           1.5  }
457                     
458 kumpf          1.10 void SimpleInstance2ObjectResponseHandler::clear()
459 chip           1.5  {
460                         _objects.clear();
461                     }
462                     
463 kumpf          1.10 void SimpleInstance2ObjectResponseHandler::deliver(const CIMInstance& object)
464 chip           1.5  {
465 marek          1.11     PEG_TRACE_CSTRING(
466                             TRC_PROVIDERMANAGER,
467                             Tracer::LEVEL4,
468 chip           1.5          "SimpleInstance2ObjectResponseHandler::deliver()");
469                     
470                         _objects.append(CIMObject(object));
471                     
472                         // async delivers not yet supported
473                         //send(false);
474                     }
475                     
476 kumpf          1.10 void SimpleInstance2ObjectResponseHandler::deliver(
477                         const Array<CIMInstance>& objects)
478 chip           1.5  {
479                         // call deliver for each object in the array
480 kumpf          1.10     for (Uint32 i = 0, n = objects.size(); i < n; i++)
481 chip           1.5      {
482                             deliver(objects[i]);
483                         }
484                     }
485                     
486 kumpf          1.10 const Array<CIMObject> SimpleInstance2ObjectResponseHandler::getObjects() const
487 chip           1.5  {
488 kumpf          1.10     return _objects;
489 chip           1.5  }
490                     
491                     //
492                     // SimpleValueResponseHandler
493                     //
494                     
495 kumpf          1.10 SimpleValueResponseHandler::SimpleValueResponseHandler()
496 chip           1.5  {
497                     }
498                     
499 kumpf          1.10 void SimpleValueResponseHandler::processing()
500 chip           1.5  {
501                         SimpleResponseHandler::processing();
502                     }
503                     
504 kumpf          1.10 void SimpleValueResponseHandler::complete()
505 chip           1.5  {
506                         SimpleResponseHandler::complete();
507                     }
508                     
509 kumpf          1.10 Uint32 SimpleValueResponseHandler::size() const
510 chip           1.5  {
511 kumpf          1.10     return _objects.size();
512 chip           1.5  }
513                     
514 kumpf          1.10 void SimpleValueResponseHandler::clear()
515 chip           1.5  {
516                         _objects.clear();
517                     }
518                     
519 kumpf          1.10 void SimpleValueResponseHandler::deliver(const CIMValue& value)
520 chip           1.5  {
521 marek          1.11     PEG_TRACE_CSTRING(
522                             TRC_PROVIDERMANAGER,
523                             Tracer::LEVEL4,
524 chip           1.5          "SimpleValueResponseHandler::deliver()");
525                     
526                         _objects.append(value);
527                     
528                         send(false);
529                     }
530                     
531 kumpf          1.10 void SimpleValueResponseHandler::deliver(const Array<CIMValue>& values)
532 chip           1.5  {
533                         // call deliver for each object in the array
534 kumpf          1.10     for (Uint32 i = 0, n = values.size(); i < n; i++)
535 chip           1.5      {
536                             deliver(values[i]);
537                         }
538                     }
539                     
540 kumpf          1.10 const Array<CIMValue> SimpleValueResponseHandler::getObjects() const
541 chip           1.5  {
542 kumpf          1.10     return _objects;
543 brian.campbell 1.3  }
544                     
545 schuur         1.1  PEGASUS_NAMESPACE_END

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2