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

  1 martin 1.37 //%LICENSE////////////////////////////////////////////////////////////////
  2 martin 1.38 //
  3 martin 1.37 // 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.38 //
 10 martin 1.37 // 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.38 //
 17 martin 1.37 // The above copyright notice and this permission notice shall be included
 18             // in all copies or substantial portions of the Software.
 19 martin 1.38 //
 20 martin 1.37 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
 21 martin 1.38 // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 22 martin 1.37 // 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.38 //
 28 martin 1.37 //////////////////////////////////////////////////////////////////////////
 29 mike   1.1  //
 30             //%/////////////////////////////////////////////////////////////////////////////
 31             
 32 kumpf  1.7  #include <Pegasus/Common/AutoPtr.h>
 33 kumpf  1.31 #include <Pegasus/Common/StatisticalData.h>
 34 mike   1.1  #include "CIMMessage.h"
 35 mike   1.34 #include "XmlWriter.h"
 36 mike   1.1  
 37 mike   1.2  PEGASUS_USING_STD;
 38             
 39 mike   1.1  PEGASUS_NAMESPACE_BEGIN
 40             
 41 mike   1.34 #define PEGASUS_ARRAY_T ArraySint8
 42             # include "ArrayImpl.h"
 43             #undef PEGASUS_ARRAY_T
 44             
 45 kumpf  1.22 void CIMResponseMessage::syncAttributes(const CIMRequestMessage* request)
 46 kumpf  1.7  {
 47                 // Propagate request attributes to the response, as necessary
 48                 setMask(request->getMask());
 49                 setHttpMethod(request->getHttpMethod());
 50 j.alex 1.17     setCloseConnect(request->getCloseConnect());
 51 kumpf  1.27 #ifndef PEGASUS_DISABLE_PERFINST
 52 kumpf  1.28     setServerStartTime(request->getServerStartTime());
 53 kumpf  1.27 #endif
 54 mike   1.36     binaryRequest = request->binaryRequest;
 55                 binaryResponse = request->binaryResponse;
 56 kumpf  1.7  }
 57             
 58 kumpf  1.22 CIMResponseMessage* CIMGetClassRequestMessage::buildResponse() const
 59 kumpf  1.7  {
 60 kumpf  1.11     AutoPtr<CIMGetClassResponseMessage> response(
 61                     new CIMGetClassResponseMessage(
 62                         messageId,
 63                         CIMException(),
 64                         queueIds.copyAndPop(),
 65                         CIMClass()));
 66 kumpf  1.7      response->syncAttributes(this);
 67 kumpf  1.11     return response.release();
 68 kumpf  1.7  }
 69             
 70 kumpf  1.22 CIMResponseMessage* CIMGetInstanceRequestMessage::buildResponse() const
 71 kumpf  1.7  {
 72 kumpf  1.11     AutoPtr<CIMGetInstanceResponseMessage> response(
 73                     new CIMGetInstanceResponseMessage(
 74                         messageId,
 75                         CIMException(),
 76 mike   1.34             queueIds.copyAndPop()));
 77 kumpf  1.7      response->syncAttributes(this);
 78 kumpf  1.11     return response.release();
 79 kumpf  1.7  }
 80             
 81 kumpf  1.22 CIMResponseMessage* CIMExportIndicationRequestMessage::buildResponse() const
 82 kumpf  1.7  {
 83 kumpf  1.11     AutoPtr<CIMExportIndicationResponseMessage> response(
 84                     new CIMExportIndicationResponseMessage(
 85                         messageId,
 86                         CIMException(),
 87                         queueIds.copyAndPop()));
 88 kumpf  1.7      response->syncAttributes(this);
 89 kumpf  1.11     return response.release();
 90 kumpf  1.7  }
 91             
 92 kumpf  1.22 CIMResponseMessage* CIMDeleteClassRequestMessage::buildResponse() const
 93 kumpf  1.7  {
 94 kumpf  1.11     AutoPtr<CIMDeleteClassResponseMessage> response(
 95                     new CIMDeleteClassResponseMessage(
 96                         messageId,
 97                         CIMException(),
 98                         queueIds.copyAndPop()));
 99 kumpf  1.7      response->syncAttributes(this);
100 kumpf  1.11     return response.release();
101 kumpf  1.7  }
102             
103 kumpf  1.22 CIMResponseMessage* CIMDeleteInstanceRequestMessage::buildResponse() const
104 kumpf  1.7  {
105 kumpf  1.11     AutoPtr<CIMDeleteInstanceResponseMessage> response(
106                     new CIMDeleteInstanceResponseMessage(
107                         messageId,
108                         CIMException(),
109                         queueIds.copyAndPop()));
110 kumpf  1.7      response->syncAttributes(this);
111 kumpf  1.11     return response.release();
112 kumpf  1.7  }
113             
114 kumpf  1.22 CIMResponseMessage* CIMCreateClassRequestMessage::buildResponse() const
115 kumpf  1.7  {
116 kumpf  1.11     AutoPtr<CIMCreateClassResponseMessage> response(
117                     new CIMCreateClassResponseMessage(
118                         messageId,
119                         CIMException(),
120                         queueIds.copyAndPop()));
121 kumpf  1.7      response->syncAttributes(this);
122 kumpf  1.11     return response.release();
123 kumpf  1.7  }
124             
125 kumpf  1.22 CIMResponseMessage* CIMCreateInstanceRequestMessage::buildResponse() const
126 kumpf  1.7  {
127 kumpf  1.11     AutoPtr<CIMCreateInstanceResponseMessage> response(
128                     new CIMCreateInstanceResponseMessage(
129                         messageId,
130                         CIMException(),
131                         queueIds.copyAndPop(),
132                         CIMObjectPath()));
133 kumpf  1.7      response->syncAttributes(this);
134 kumpf  1.11     return response.release();
135 kumpf  1.7  }
136             
137 kumpf  1.22 CIMResponseMessage* CIMModifyClassRequestMessage::buildResponse() const
138 kumpf  1.7  {
139 kumpf  1.11     AutoPtr<CIMModifyClassResponseMessage> response(
140                     new CIMModifyClassResponseMessage(
141                         messageId,
142                         CIMException(),
143                         queueIds.copyAndPop()));
144 kumpf  1.7      response->syncAttributes(this);
145 kumpf  1.11     return response.release();
146 kumpf  1.7  }
147             
148 kumpf  1.22 CIMResponseMessage* CIMModifyInstanceRequestMessage::buildResponse() const
149 kumpf  1.7  {
150 kumpf  1.11     AutoPtr<CIMModifyInstanceResponseMessage> response(
151                     new CIMModifyInstanceResponseMessage(
152                         messageId,
153                         CIMException(),
154                         queueIds.copyAndPop()));
155 kumpf  1.7      response->syncAttributes(this);
156 kumpf  1.11     return response.release();
157 kumpf  1.7  }
158             
159 kumpf  1.22 CIMResponseMessage* CIMEnumerateClassesRequestMessage::buildResponse() const
160 kumpf  1.7  {
161 kumpf  1.11     AutoPtr<CIMEnumerateClassesResponseMessage> response(
162                     new CIMEnumerateClassesResponseMessage(
163                         messageId,
164                         CIMException(),
165                         queueIds.copyAndPop(),
166                         Array<CIMClass>()));
167 kumpf  1.7      response->syncAttributes(this);
168 kumpf  1.11     return response.release();
169 kumpf  1.7  }
170             
171 kumpf  1.22 CIMResponseMessage* CIMEnumerateClassNamesRequestMessage::buildResponse() const
172 kumpf  1.7  {
173 kumpf  1.11     AutoPtr<CIMEnumerateClassNamesResponseMessage> response(
174                     new CIMEnumerateClassNamesResponseMessage(
175                         messageId,
176                         CIMException(),
177                         queueIds.copyAndPop(),
178                         Array<CIMName>()));
179 kumpf  1.7      response->syncAttributes(this);
180 kumpf  1.11     return response.release();
181 kumpf  1.7  }
182             
183 kumpf  1.22 CIMResponseMessage* CIMEnumerateInstancesRequestMessage::buildResponse() const
184 kumpf  1.7  {
185 kumpf  1.11     AutoPtr<CIMEnumerateInstancesResponseMessage> response(
186                     new CIMEnumerateInstancesResponseMessage(
187                         messageId,
188                         CIMException(),
189 mike   1.34             queueIds.copyAndPop()));
190 kumpf  1.7      response->syncAttributes(this);
191 kumpf  1.11     return response.release();
192 kumpf  1.7  }
193             
194 kumpf  1.29 CIMResponseMessage*
195                 CIMEnumerateInstanceNamesRequestMessage::buildResponse() const
196 kumpf  1.7  {
197 kumpf  1.11     AutoPtr<CIMEnumerateInstanceNamesResponseMessage> response(
198                     new CIMEnumerateInstanceNamesResponseMessage(
199                         messageId,
200                         CIMException(),
201 thilo.boehm 1.41             queueIds.copyAndPop()));
202 kumpf       1.7      response->syncAttributes(this);
203 kumpf       1.11     return response.release();
204 kumpf       1.7  }
205                  
206 kumpf       1.22 CIMResponseMessage* CIMExecQueryRequestMessage::buildResponse() const
207 kumpf       1.7  {
208 kumpf       1.11     AutoPtr<CIMExecQueryResponseMessage> response(
209                          new CIMExecQueryResponseMessage(
210                              messageId,
211                              CIMException(),
212 r.kieninger 1.40             queueIds.copyAndPop()));
213 kumpf       1.7      response->syncAttributes(this);
214 kumpf       1.11     return response.release();
215 kumpf       1.7  }
216                  
217 kumpf       1.22 CIMResponseMessage* CIMAssociatorsRequestMessage::buildResponse() const
218 kumpf       1.7  {
219 kumpf       1.11     AutoPtr<CIMAssociatorsResponseMessage> response(
220                          new CIMAssociatorsResponseMessage(
221                              messageId,
222                              CIMException(),
223 r.kieninger 1.40             queueIds.copyAndPop()));
224 kumpf       1.7      response->syncAttributes(this);
225 kumpf       1.11     return response.release();
226 kumpf       1.7  }
227                  
228 kumpf       1.22 CIMResponseMessage* CIMAssociatorNamesRequestMessage::buildResponse() const
229 kumpf       1.7  {
230 kumpf       1.11     AutoPtr<CIMAssociatorNamesResponseMessage> response(
231                          new CIMAssociatorNamesResponseMessage(
232                              messageId,
233                              CIMException(),
234 thilo.boehm 1.41             queueIds.copyAndPop()));
235 kumpf       1.7      response->syncAttributes(this);
236 kumpf       1.11     return response.release();
237 kumpf       1.7  }
238                  
239 kumpf       1.22 CIMResponseMessage* CIMReferencesRequestMessage::buildResponse() const
240 kumpf       1.7  {
241 kumpf       1.11     AutoPtr<CIMReferencesResponseMessage> response(
242                          new CIMReferencesResponseMessage(
243                              messageId,
244                              CIMException(),
245 thilo.boehm 1.41             queueIds.copyAndPop()));
246 kumpf       1.7      response->syncAttributes(this);
247 kumpf       1.11     return response.release();
248 kumpf       1.7  }
249                  
250 kumpf       1.22 CIMResponseMessage* CIMReferenceNamesRequestMessage::buildResponse() const
251 kumpf       1.7  {
252 kumpf       1.11     AutoPtr<CIMReferenceNamesResponseMessage> response(
253                          new CIMReferenceNamesResponseMessage(
254                              messageId,
255                              CIMException(),
256 thilo.boehm 1.41             queueIds.copyAndPop()));
257 kumpf       1.7      response->syncAttributes(this);
258 kumpf       1.11     return response.release();
259 kumpf       1.7  }
260                  
261 kumpf       1.22 CIMResponseMessage* CIMGetPropertyRequestMessage::buildResponse() const
262 kumpf       1.7  {
263 kumpf       1.11     AutoPtr<CIMGetPropertyResponseMessage> response(
264                          new CIMGetPropertyResponseMessage(
265                              messageId,
266                              CIMException(),
267                              queueIds.copyAndPop(),
268                              CIMValue()));
269 kumpf       1.7      response->syncAttributes(this);
270 kumpf       1.11     return response.release();
271 kumpf       1.7  }
272                  
273 kumpf       1.22 CIMResponseMessage* CIMSetPropertyRequestMessage::buildResponse() const
274 kumpf       1.7  {
275 kumpf       1.11     AutoPtr<CIMSetPropertyResponseMessage> response(
276                          new CIMSetPropertyResponseMessage(
277                              messageId,
278                              CIMException(),
279                              queueIds.copyAndPop()));
280 kumpf       1.7      response->syncAttributes(this);
281 kumpf       1.11     return response.release();
282 kumpf       1.7  }
283                  
284 kumpf       1.22 CIMResponseMessage* CIMGetQualifierRequestMessage::buildResponse() const
285 kumpf       1.7  {
286 kumpf       1.11     AutoPtr<CIMGetQualifierResponseMessage> response(
287                          new CIMGetQualifierResponseMessage(
288                              messageId,
289                              CIMException(),
290                              queueIds.copyAndPop(),
291                              CIMQualifierDecl()));
292 kumpf       1.7      response->syncAttributes(this);
293 kumpf       1.11     return response.release();
294 kumpf       1.7  }
295                  
296 kumpf       1.22 CIMResponseMessage* CIMSetQualifierRequestMessage::buildResponse() const
297 kumpf       1.7  {
298 kumpf       1.11     AutoPtr<CIMSetQualifierResponseMessage> response(
299                          new CIMSetQualifierResponseMessage(
300                              messageId,
301                              CIMException(),
302                              queueIds.copyAndPop()));
303 kumpf       1.7      response->syncAttributes(this);
304 kumpf       1.11     return response.release();
305 kumpf       1.7  }
306                  
307 kumpf       1.22 CIMResponseMessage* CIMDeleteQualifierRequestMessage::buildResponse() const
308 kumpf       1.7  {
309 kumpf       1.11     AutoPtr<CIMDeleteQualifierResponseMessage> response(
310                          new CIMDeleteQualifierResponseMessage(
311                              messageId,
312                              CIMException(),
313                              queueIds.copyAndPop()));
314 kumpf       1.7      response->syncAttributes(this);
315 kumpf       1.11     return response.release();
316 kumpf       1.7  }
317                  
318 kumpf       1.22 CIMResponseMessage* CIMEnumerateQualifiersRequestMessage::buildResponse() const
319 kumpf       1.7  {
320 kumpf       1.11     AutoPtr<CIMEnumerateQualifiersResponseMessage> response(
321                          new CIMEnumerateQualifiersResponseMessage(
322                              messageId,
323                              CIMException(),
324                              queueIds.copyAndPop(),
325                              Array<CIMQualifierDecl>()));
326 kumpf       1.7      response->syncAttributes(this);
327 kumpf       1.11     return response.release();
328 kumpf       1.7  }
329                  
330 kumpf       1.22 CIMResponseMessage* CIMInvokeMethodRequestMessage::buildResponse() const
331 kumpf       1.7  {
332 kumpf       1.11     AutoPtr<CIMInvokeMethodResponseMessage> response(
333                          new CIMInvokeMethodResponseMessage(
334                              messageId,
335                              CIMException(),
336                              queueIds.copyAndPop(),
337                              CIMValue(),
338                              Array<CIMParamValue>(),
339                              methodName));
340 kumpf       1.7      response->syncAttributes(this);
341 kumpf       1.11     return response.release();
342 kumpf       1.7  }
343                  
344 kumpf       1.22 CIMResponseMessage* CIMProcessIndicationRequestMessage::buildResponse() const
345 kumpf       1.7  {
346 kumpf       1.11     AutoPtr<CIMProcessIndicationResponseMessage> response(
347                          new CIMProcessIndicationResponseMessage(
348                              messageId,
349                              CIMException(),
350                              queueIds.copyAndPop()));
351 kumpf       1.7      response->syncAttributes(this);
352 kumpf       1.11     return response.release();
353 kumpf       1.7  }
354                  
355 kumpf       1.29 CIMResponseMessage*
356                      CIMNotifyProviderRegistrationRequestMessage::buildResponse() const
357 kumpf       1.7  {
358 kumpf       1.11     AutoPtr<CIMNotifyProviderRegistrationResponseMessage> response(
359                          new CIMNotifyProviderRegistrationResponseMessage(
360                              messageId,
361                              CIMException(),
362                              queueIds.copyAndPop()));
363 kumpf       1.7      response->syncAttributes(this);
364 kumpf       1.11     return response.release();
365 kumpf       1.7  }
366                  
367 kumpf       1.29 CIMResponseMessage*
368                      CIMNotifyProviderTerminationRequestMessage::buildResponse() const
369 kumpf       1.7  {
370 kumpf       1.11     AutoPtr<CIMNotifyProviderTerminationResponseMessage> response(
371                          new CIMNotifyProviderTerminationResponseMessage(
372                              messageId,
373                              CIMException(),
374                              queueIds.copyAndPop()));
375 kumpf       1.7      response->syncAttributes(this);
376 kumpf       1.11     return response.release();
377 kumpf       1.7  }
378                  
379 kumpf       1.22 CIMResponseMessage* CIMHandleIndicationRequestMessage::buildResponse() const
380 kumpf       1.7  {
381 kumpf       1.11     AutoPtr<CIMHandleIndicationResponseMessage> response(
382                          new CIMHandleIndicationResponseMessage(
383                              messageId,
384                              CIMException(),
385                              queueIds.copyAndPop()));
386 kumpf       1.7      response->syncAttributes(this);
387 kumpf       1.11     return response.release();
388 kumpf       1.7  }
389                  
390 kumpf       1.22 CIMResponseMessage* CIMCreateSubscriptionRequestMessage::buildResponse() const
391 kumpf       1.7  {
392 kumpf       1.11     AutoPtr<CIMCreateSubscriptionResponseMessage> response(
393                          new CIMCreateSubscriptionResponseMessage(
394                              messageId,
395                              CIMException(),
396                              queueIds.copyAndPop()));
397 kumpf       1.7      response->syncAttributes(this);
398 kumpf       1.11     return response.release();
399 kumpf       1.7  }
400                  
401 kumpf       1.22 CIMResponseMessage* CIMModifySubscriptionRequestMessage::buildResponse() const
402 kumpf       1.7  {
403 kumpf       1.11     AutoPtr<CIMModifySubscriptionResponseMessage> response(
404                          new CIMModifySubscriptionResponseMessage(
405                              messageId,
406                              CIMException(),
407                              queueIds.copyAndPop()));
408 kumpf       1.7      response->syncAttributes(this);
409 kumpf       1.11     return response.release();
410 kumpf       1.7  }
411                  
412 kumpf       1.22 CIMResponseMessage* CIMDeleteSubscriptionRequestMessage::buildResponse() const
413 kumpf       1.7  {
414 kumpf       1.11     AutoPtr<CIMDeleteSubscriptionResponseMessage> response(
415                          new CIMDeleteSubscriptionResponseMessage(
416                              messageId,
417                              CIMException(),
418                              queueIds.copyAndPop()));
419 kumpf       1.7      response->syncAttributes(this);
420 kumpf       1.11     return response.release();
421 kumpf       1.7  }
422                  
423 kumpf       1.29 CIMResponseMessage*
424 kumpf       1.22     CIMSubscriptionInitCompleteRequestMessage::buildResponse() const
425 carolann.graves 1.16 {
426                          AutoPtr<CIMSubscriptionInitCompleteResponseMessage> response(
427                              new CIMSubscriptionInitCompleteResponseMessage(
428                                  messageId,
429                                  CIMException(),
430                                  queueIds.copyAndPop()));
431                          response->syncAttributes(this);
432                          return response.release();
433                      }
434                      
435 venkat.puvvada  1.39 CIMResponseMessage*
436                          CIMIndicationServiceDisabledRequestMessage::buildResponse() const
437                      {
438                          AutoPtr<CIMIndicationServiceDisabledResponseMessage> response(
439                              new CIMIndicationServiceDisabledResponseMessage(
440                                  messageId,
441                                  CIMException(),
442                                  queueIds.copyAndPop()));
443                          response->syncAttributes(this);
444                          return response.release();
445                      }
446                      
447 kumpf           1.22 CIMResponseMessage* CIMDisableModuleRequestMessage::buildResponse() const
448 kumpf           1.7  {
449 kumpf           1.11     AutoPtr<CIMDisableModuleResponseMessage> response(
450                              new CIMDisableModuleResponseMessage(
451                                  messageId,
452                                  CIMException(),
453                                  queueIds.copyAndPop(),
454                                  Array<Uint16>()));
455 kumpf           1.7      response->syncAttributes(this);
456 kumpf           1.11     return response.release();
457 kumpf           1.7  }
458                      
459 kumpf           1.22 CIMResponseMessage* CIMEnableModuleRequestMessage::buildResponse() const
460 kumpf           1.7  {
461 kumpf           1.11     AutoPtr<CIMEnableModuleResponseMessage> response(
462                              new CIMEnableModuleResponseMessage(
463                                  messageId,
464                                  CIMException(),
465                                  queueIds.copyAndPop(),
466                                  Array<Uint16>()));
467 kumpf           1.7      response->syncAttributes(this);
468 kumpf           1.11     return response.release();
469 kumpf           1.7  }
470                      
471 kumpf           1.22 CIMResponseMessage* CIMNotifyProviderEnableRequestMessage::buildResponse() const
472 kumpf           1.7  {
473 kumpf           1.11     AutoPtr<CIMNotifyProviderEnableResponseMessage> response(
474                              new CIMNotifyProviderEnableResponseMessage(
475                                  messageId,
476                                  CIMException(),
477                                  queueIds.copyAndPop()));
478 kumpf           1.7      response->syncAttributes(this);
479 kumpf           1.11     return response.release();
480 kumpf           1.7  }
481                      
482 carolann.graves 1.23 CIMResponseMessage* CIMNotifyProviderFailRequestMessage::buildResponse() const
483                      {
484                          AutoPtr<CIMNotifyProviderFailResponseMessage> response(
485                              new CIMNotifyProviderFailResponseMessage(
486                                  messageId,
487                                  CIMException(),
488                                  queueIds.copyAndPop()));
489                          response->syncAttributes(this);
490                          return response.release();
491                      }
492                      
493 kumpf           1.22 CIMResponseMessage* CIMStopAllProvidersRequestMessage::buildResponse() const
494 kumpf           1.7  {
495 kumpf           1.11     AutoPtr<CIMStopAllProvidersResponseMessage> response(
496                              new CIMStopAllProvidersResponseMessage(
497                                  messageId,
498                                  CIMException(),
499                                  queueIds.copyAndPop()));
500 kumpf           1.7      response->syncAttributes(this);
501 kumpf           1.11     return response.release();
502 kumpf           1.7  }
503                      
504 kumpf           1.29 CIMResponseMessage*
505                          CIMInitializeProviderAgentRequestMessage::buildResponse() const
506 kumpf           1.9  {
507 kumpf           1.11     AutoPtr<CIMInitializeProviderAgentResponseMessage> response(
508                              new CIMInitializeProviderAgentResponseMessage(
509                                  messageId,
510                                  CIMException(),
511                                  queueIds.copyAndPop()));
512 kumpf           1.9      response->syncAttributes(this);
513 kumpf           1.11     return response.release();
514 kumpf           1.9  }
515                      
516 kumpf           1.22 CIMResponseMessage* CIMNotifyConfigChangeRequestMessage::buildResponse() const
517 kumpf           1.10 {
518 kumpf           1.11     AutoPtr<CIMNotifyConfigChangeResponseMessage> response(
519                              new CIMNotifyConfigChangeResponseMessage(
520                                  messageId,
521                                  CIMException(),
522                                  queueIds.copyAndPop()));
523 kumpf           1.10     response->syncAttributes(this);
524 kumpf           1.11     return response.release();
525 kumpf           1.10 }
526                      
527 venkat.puvvada  1.43 CIMResponseMessage*
528                          CIMNotifySubscriptionNotActiveRequestMessage::buildResponse() const
529                      {
530                          AutoPtr<CIMNotifySubscriptionNotActiveResponseMessage> response(
531                              new CIMNotifySubscriptionNotActiveResponseMessage(
532                                  messageId,
533                                  CIMException(),
534                                  queueIds.copyAndPop()));
535                          response->syncAttributes(this);
536                          return response.release();
537                      }
538                      
539                      CIMResponseMessage*
540                          CIMNotifyListenerNotActiveRequestMessage::buildResponse() const
541                      {
542                          AutoPtr<CIMNotifyListenerNotActiveResponseMessage> response(
543                              new CIMNotifyListenerNotActiveResponseMessage(
544                                  messageId,
545                                  CIMException(),
546                                  queueIds.copyAndPop()));
547                          response->syncAttributes(this);
548 venkat.puvvada  1.43     return response.release();
549                      }
550                      
551 thilo.boehm     1.41 CIMResponseMessage* ProvAgtGetScmoClassRequestMessage::buildResponse() const
552                      {
553                          AutoPtr<ProvAgtGetScmoClassResponseMessage> response(
554                              new ProvAgtGetScmoClassResponseMessage(
555                                  messageId,
556                                  CIMException(),
557                                  queueIds.copyAndPop(),
558                                  SCMOClass("","")));
559                          response->syncAttributes(this);
560                          return response.release();
561                      }
562                      
563 kumpf           1.30 CIMMessage::CIMMessage(
564                          MessageType type,
565                          const String& messageId_)
566 kumpf           1.31     : Message(type),
567 kumpf           1.33       messageId(messageId_),
568                            _languageContextThreadId(Threads::self())
569 kumpf           1.31 #ifndef PEGASUS_DISABLE_PERFINST
570                            ,_serverStartTimeMicroseconds(0),
571                            _providerTimeMicroseconds(0),
572                            _totalServerTimeMicroseconds(0)
573                      #endif
574 karl            1.13 {
575 kumpf           1.19     operationContext.insert(
576 kumpf           1.29         AcceptLanguageListContainer(AcceptLanguageList()));
577 kumpf           1.19     operationContext.insert(
578 kumpf           1.29         ContentLanguageListContainer(ContentLanguageList()));
579 mike            1.36 
580                          binaryRequest = false;
581                          binaryResponse = false;
582 karl            1.13 }
583                      
584 kumpf           1.31 #ifndef PEGASUS_DISABLE_PERFINST
585                      void CIMMessage::endServer()
586                      {
587                          PEGASUS_ASSERT(_serverStartTimeMicroseconds != 0);
588                      
589                          _totalServerTimeMicroseconds =
590                              TimeValue::getCurrentTime().toMicroseconds() -
591                                  _serverStartTimeMicroseconds;
592                      
593                          Uint64 serverTimeMicroseconds =
594                              _totalServerTimeMicroseconds - _providerTimeMicroseconds;
595                      
596                          Uint16 statType = (Uint16)((getType() >= CIM_GET_CLASS_RESPONSE_MESSAGE) ?
597                              getType() - CIM_GET_CLASS_RESPONSE_MESSAGE : getType() - 1);
598                      
599                          StatisticalData::current()->addToValue(serverTimeMicroseconds, statType,
600                              StatisticalData::PEGASUS_STATDATA_SERVER);
601                      
602                          StatisticalData::current()->addToValue(_providerTimeMicroseconds, statType,
603                              StatisticalData::PEGASUS_STATDATA_PROVIDER);
604                      
605 kumpf           1.31     /* This adds the number of bytes read to the total.the request size
606                             value must be stored (requSize) and passed to the StatisticalData
607                             object at the end of processingm otherwise it will be the ONLY value
608                             that is passed to the client which reports the current state of the
609                             object, not the previous (one command ago) state */
610                      
611                          StatisticalData::current()->addToValue(
612                              StatisticalData::current()->requSize,
613                              statType,
614                              StatisticalData::PEGASUS_STATDATA_BYTES_READ);
615                      }
616                      #endif
617                      
618 karl            1.13 CIMRequestMessage::CIMRequestMessage(
619 kumpf           1.30     MessageType type_,
620                          const String& messageId_,
621                          const QueueIdStack& queueIds_)
622 kumpf           1.21     : CIMMessage(type_, messageId_), queueIds(queueIds_)
623 karl            1.13 {
624                      }
625                      
626                      CIMResponseMessage::CIMResponseMessage(
627 kumpf           1.30     MessageType type_,
628 karl            1.13     const String& messageId_,
629                          const CIMException& cimException_,
630 sahana.prabhakar 1.42     const QueueIdStack& queueIds_,
631                           Boolean isAsyncResponsePending_)
632 kumpf            1.29     :
633 karl             1.13     CIMMessage(type_, messageId_),
634                           queueIds(queueIds_),
635 sahana.prabhakar 1.42     cimException(cimException_),
636                           isAsyncResponsePending(isAsyncResponsePending_)
637 karl             1.13 {
638                       }
639                       
640                       CIMOperationRequestMessage::CIMOperationRequestMessage(
641 kumpf            1.30     MessageType type_,
642 karl             1.13     const String& messageId_,
643                           const QueueIdStack& queueIds_,
644 kumpf            1.24     const String& authType_,
645                           const String& userName_,
646 karl             1.13     const CIMNamespaceName& nameSpace_,
647                           const CIMName& className_,
648                           Uint32 providerType_)
649 kumpf            1.29     :
650 karl             1.13     CIMRequestMessage(type_, messageId_, queueIds_),
651 kumpf            1.24     authType(authType_),
652                           userName(userName_),
653 karl             1.13     nameSpace(nameSpace_),
654                           className(className_),
655                           providerType(providerType_)
656                       {
657                       }
658                       
659 mike             1.1  PEGASUS_NAMESPACE_END

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2