(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                         queueIds.copyAndPop(),
202                         Array<CIMObjectPath>()));
203 kumpf  1.7      response->syncAttributes(this);
204 kumpf  1.11     return response.release();
205 kumpf  1.7  }
206             
207 kumpf  1.22 CIMResponseMessage* CIMExecQueryRequestMessage::buildResponse() const
208 kumpf  1.7  {
209 kumpf  1.11     AutoPtr<CIMExecQueryResponseMessage> response(
210                     new CIMExecQueryResponseMessage(
211                         messageId,
212                         CIMException(),
213 r.kieninger 1.40             queueIds.copyAndPop()));
214 kumpf       1.7      response->syncAttributes(this);
215 kumpf       1.11     return response.release();
216 kumpf       1.7  }
217                  
218 kumpf       1.22 CIMResponseMessage* CIMAssociatorsRequestMessage::buildResponse() const
219 kumpf       1.7  {
220 kumpf       1.11     AutoPtr<CIMAssociatorsResponseMessage> response(
221                          new CIMAssociatorsResponseMessage(
222                              messageId,
223                              CIMException(),
224 r.kieninger 1.40             queueIds.copyAndPop()));
225 kumpf       1.7      response->syncAttributes(this);
226 kumpf       1.11     return response.release();
227 kumpf       1.7  }
228                  
229 kumpf       1.22 CIMResponseMessage* CIMAssociatorNamesRequestMessage::buildResponse() const
230 kumpf       1.7  {
231 kumpf       1.11     AutoPtr<CIMAssociatorNamesResponseMessage> response(
232                          new CIMAssociatorNamesResponseMessage(
233                              messageId,
234                              CIMException(),
235                              queueIds.copyAndPop(),
236                              Array<CIMObjectPath>()));
237 kumpf       1.7      response->syncAttributes(this);
238 kumpf       1.11     return response.release();
239 kumpf       1.7  }
240                  
241 kumpf       1.22 CIMResponseMessage* CIMReferencesRequestMessage::buildResponse() const
242 kumpf       1.7  {
243 kumpf       1.11     AutoPtr<CIMReferencesResponseMessage> response(
244                          new CIMReferencesResponseMessage(
245                              messageId,
246                              CIMException(),
247                              queueIds.copyAndPop(),
248                              Array<CIMObject>()));
249 kumpf       1.7      response->syncAttributes(this);
250 kumpf       1.11     return response.release();
251 kumpf       1.7  }
252                  
253 kumpf       1.22 CIMResponseMessage* CIMReferenceNamesRequestMessage::buildResponse() const
254 kumpf       1.7  {
255 kumpf       1.11     AutoPtr<CIMReferenceNamesResponseMessage> response(
256                          new CIMReferenceNamesResponseMessage(
257                              messageId,
258                              CIMException(),
259                              queueIds.copyAndPop(),
260                              Array<CIMObjectPath>()));
261 kumpf       1.7      response->syncAttributes(this);
262 kumpf       1.11     return response.release();
263 kumpf       1.7  }
264                  
265 kumpf       1.22 CIMResponseMessage* CIMGetPropertyRequestMessage::buildResponse() const
266 kumpf       1.7  {
267 kumpf       1.11     AutoPtr<CIMGetPropertyResponseMessage> response(
268                          new CIMGetPropertyResponseMessage(
269                              messageId,
270                              CIMException(),
271                              queueIds.copyAndPop(),
272                              CIMValue()));
273 kumpf       1.7      response->syncAttributes(this);
274 kumpf       1.11     return response.release();
275 kumpf       1.7  }
276                  
277 kumpf       1.22 CIMResponseMessage* CIMSetPropertyRequestMessage::buildResponse() const
278 kumpf       1.7  {
279 kumpf       1.11     AutoPtr<CIMSetPropertyResponseMessage> response(
280                          new CIMSetPropertyResponseMessage(
281                              messageId,
282                              CIMException(),
283                              queueIds.copyAndPop()));
284 kumpf       1.7      response->syncAttributes(this);
285 kumpf       1.11     return response.release();
286 kumpf       1.7  }
287                  
288 kumpf       1.22 CIMResponseMessage* CIMGetQualifierRequestMessage::buildResponse() const
289 kumpf       1.7  {
290 kumpf       1.11     AutoPtr<CIMGetQualifierResponseMessage> response(
291                          new CIMGetQualifierResponseMessage(
292                              messageId,
293                              CIMException(),
294                              queueIds.copyAndPop(),
295                              CIMQualifierDecl()));
296 kumpf       1.7      response->syncAttributes(this);
297 kumpf       1.11     return response.release();
298 kumpf       1.7  }
299                  
300 kumpf       1.22 CIMResponseMessage* CIMSetQualifierRequestMessage::buildResponse() const
301 kumpf       1.7  {
302 kumpf       1.11     AutoPtr<CIMSetQualifierResponseMessage> response(
303                          new CIMSetQualifierResponseMessage(
304                              messageId,
305                              CIMException(),
306                              queueIds.copyAndPop()));
307 kumpf       1.7      response->syncAttributes(this);
308 kumpf       1.11     return response.release();
309 kumpf       1.7  }
310                  
311 kumpf       1.22 CIMResponseMessage* CIMDeleteQualifierRequestMessage::buildResponse() const
312 kumpf       1.7  {
313 kumpf       1.11     AutoPtr<CIMDeleteQualifierResponseMessage> response(
314                          new CIMDeleteQualifierResponseMessage(
315                              messageId,
316                              CIMException(),
317                              queueIds.copyAndPop()));
318 kumpf       1.7      response->syncAttributes(this);
319 kumpf       1.11     return response.release();
320 kumpf       1.7  }
321                  
322 kumpf       1.22 CIMResponseMessage* CIMEnumerateQualifiersRequestMessage::buildResponse() const
323 kumpf       1.7  {
324 kumpf       1.11     AutoPtr<CIMEnumerateQualifiersResponseMessage> response(
325                          new CIMEnumerateQualifiersResponseMessage(
326                              messageId,
327                              CIMException(),
328                              queueIds.copyAndPop(),
329                              Array<CIMQualifierDecl>()));
330 kumpf       1.7      response->syncAttributes(this);
331 kumpf       1.11     return response.release();
332 kumpf       1.7  }
333                  
334 kumpf       1.22 CIMResponseMessage* CIMInvokeMethodRequestMessage::buildResponse() const
335 kumpf       1.7  {
336 kumpf       1.11     AutoPtr<CIMInvokeMethodResponseMessage> response(
337                          new CIMInvokeMethodResponseMessage(
338                              messageId,
339                              CIMException(),
340                              queueIds.copyAndPop(),
341                              CIMValue(),
342                              Array<CIMParamValue>(),
343                              methodName));
344 kumpf       1.7      response->syncAttributes(this);
345 kumpf       1.11     return response.release();
346 kumpf       1.7  }
347                  
348 kumpf       1.22 CIMResponseMessage* CIMProcessIndicationRequestMessage::buildResponse() const
349 kumpf       1.7  {
350 kumpf       1.11     AutoPtr<CIMProcessIndicationResponseMessage> response(
351                          new CIMProcessIndicationResponseMessage(
352                              messageId,
353                              CIMException(),
354                              queueIds.copyAndPop()));
355 kumpf       1.7      response->syncAttributes(this);
356 kumpf       1.11     return response.release();
357 kumpf       1.7  }
358                  
359 kumpf       1.29 CIMResponseMessage*
360                      CIMNotifyProviderRegistrationRequestMessage::buildResponse() const
361 kumpf       1.7  {
362 kumpf       1.11     AutoPtr<CIMNotifyProviderRegistrationResponseMessage> response(
363                          new CIMNotifyProviderRegistrationResponseMessage(
364                              messageId,
365                              CIMException(),
366                              queueIds.copyAndPop()));
367 kumpf       1.7      response->syncAttributes(this);
368 kumpf       1.11     return response.release();
369 kumpf       1.7  }
370                  
371 kumpf       1.29 CIMResponseMessage*
372                      CIMNotifyProviderTerminationRequestMessage::buildResponse() const
373 kumpf       1.7  {
374 kumpf       1.11     AutoPtr<CIMNotifyProviderTerminationResponseMessage> response(
375                          new CIMNotifyProviderTerminationResponseMessage(
376                              messageId,
377                              CIMException(),
378                              queueIds.copyAndPop()));
379 kumpf       1.7      response->syncAttributes(this);
380 kumpf       1.11     return response.release();
381 kumpf       1.7  }
382                  
383 kumpf       1.22 CIMResponseMessage* CIMHandleIndicationRequestMessage::buildResponse() const
384 kumpf       1.7  {
385 kumpf       1.11     AutoPtr<CIMHandleIndicationResponseMessage> response(
386                          new CIMHandleIndicationResponseMessage(
387                              messageId,
388                              CIMException(),
389                              queueIds.copyAndPop()));
390 kumpf       1.7      response->syncAttributes(this);
391 kumpf       1.11     return response.release();
392 kumpf       1.7  }
393                  
394 kumpf       1.22 CIMResponseMessage* CIMCreateSubscriptionRequestMessage::buildResponse() const
395 kumpf       1.7  {
396 kumpf       1.11     AutoPtr<CIMCreateSubscriptionResponseMessage> response(
397                          new CIMCreateSubscriptionResponseMessage(
398                              messageId,
399                              CIMException(),
400                              queueIds.copyAndPop()));
401 kumpf       1.7      response->syncAttributes(this);
402 kumpf       1.11     return response.release();
403 kumpf       1.7  }
404                  
405 kumpf       1.22 CIMResponseMessage* CIMModifySubscriptionRequestMessage::buildResponse() const
406 kumpf       1.7  {
407 kumpf       1.11     AutoPtr<CIMModifySubscriptionResponseMessage> response(
408                          new CIMModifySubscriptionResponseMessage(
409                              messageId,
410                              CIMException(),
411                              queueIds.copyAndPop()));
412 kumpf       1.7      response->syncAttributes(this);
413 kumpf       1.11     return response.release();
414 kumpf       1.7  }
415                  
416 kumpf       1.22 CIMResponseMessage* CIMDeleteSubscriptionRequestMessage::buildResponse() const
417 kumpf       1.7  {
418 kumpf       1.11     AutoPtr<CIMDeleteSubscriptionResponseMessage> response(
419                          new CIMDeleteSubscriptionResponseMessage(
420                              messageId,
421                              CIMException(),
422                              queueIds.copyAndPop()));
423 kumpf       1.7      response->syncAttributes(this);
424 kumpf       1.11     return response.release();
425 kumpf       1.7  }
426                  
427 kumpf       1.29 CIMResponseMessage*
428 kumpf       1.22     CIMSubscriptionInitCompleteRequestMessage::buildResponse() const
429 carolann.graves 1.16 {
430                          AutoPtr<CIMSubscriptionInitCompleteResponseMessage> response(
431                              new CIMSubscriptionInitCompleteResponseMessage(
432                                  messageId,
433                                  CIMException(),
434                                  queueIds.copyAndPop()));
435                          response->syncAttributes(this);
436                          return response.release();
437                      }
438                      
439 venkat.puvvada  1.39 CIMResponseMessage*
440                          CIMIndicationServiceDisabledRequestMessage::buildResponse() const
441                      {
442                          AutoPtr<CIMIndicationServiceDisabledResponseMessage> response(
443                              new CIMIndicationServiceDisabledResponseMessage(
444                                  messageId,
445                                  CIMException(),
446                                  queueIds.copyAndPop()));
447                          response->syncAttributes(this);
448                          return response.release();
449                      }
450                      
451 kumpf           1.22 CIMResponseMessage* CIMDisableModuleRequestMessage::buildResponse() const
452 kumpf           1.7  {
453 kumpf           1.11     AutoPtr<CIMDisableModuleResponseMessage> response(
454                              new CIMDisableModuleResponseMessage(
455                                  messageId,
456                                  CIMException(),
457                                  queueIds.copyAndPop(),
458                                  Array<Uint16>()));
459 kumpf           1.7      response->syncAttributes(this);
460 kumpf           1.11     return response.release();
461 kumpf           1.7  }
462                      
463 kumpf           1.22 CIMResponseMessage* CIMEnableModuleRequestMessage::buildResponse() const
464 kumpf           1.7  {
465 kumpf           1.11     AutoPtr<CIMEnableModuleResponseMessage> response(
466                              new CIMEnableModuleResponseMessage(
467                                  messageId,
468                                  CIMException(),
469                                  queueIds.copyAndPop(),
470                                  Array<Uint16>()));
471 kumpf           1.7      response->syncAttributes(this);
472 kumpf           1.11     return response.release();
473 kumpf           1.7  }
474                      
475 kumpf           1.22 CIMResponseMessage* CIMNotifyProviderEnableRequestMessage::buildResponse() const
476 kumpf           1.7  {
477 kumpf           1.11     AutoPtr<CIMNotifyProviderEnableResponseMessage> response(
478                              new CIMNotifyProviderEnableResponseMessage(
479                                  messageId,
480                                  CIMException(),
481                                  queueIds.copyAndPop()));
482 kumpf           1.7      response->syncAttributes(this);
483 kumpf           1.11     return response.release();
484 kumpf           1.7  }
485                      
486 carolann.graves 1.23 CIMResponseMessage* CIMNotifyProviderFailRequestMessage::buildResponse() const
487                      {
488                          AutoPtr<CIMNotifyProviderFailResponseMessage> response(
489                              new CIMNotifyProviderFailResponseMessage(
490                                  messageId,
491                                  CIMException(),
492                                  queueIds.copyAndPop()));
493                          response->syncAttributes(this);
494                          return response.release();
495                      }
496                      
497 kumpf           1.22 CIMResponseMessage* CIMStopAllProvidersRequestMessage::buildResponse() const
498 kumpf           1.7  {
499 kumpf           1.11     AutoPtr<CIMStopAllProvidersResponseMessage> response(
500                              new CIMStopAllProvidersResponseMessage(
501                                  messageId,
502                                  CIMException(),
503                                  queueIds.copyAndPop()));
504 kumpf           1.7      response->syncAttributes(this);
505 kumpf           1.11     return response.release();
506 kumpf           1.7  }
507                      
508 kumpf           1.29 CIMResponseMessage*
509                          CIMInitializeProviderAgentRequestMessage::buildResponse() const
510 kumpf           1.9  {
511 kumpf           1.11     AutoPtr<CIMInitializeProviderAgentResponseMessage> response(
512                              new CIMInitializeProviderAgentResponseMessage(
513                                  messageId,
514                                  CIMException(),
515                                  queueIds.copyAndPop()));
516 kumpf           1.9      response->syncAttributes(this);
517 kumpf           1.11     return response.release();
518 kumpf           1.9  }
519                      
520 kumpf           1.22 CIMResponseMessage* CIMNotifyConfigChangeRequestMessage::buildResponse() const
521 kumpf           1.10 {
522 kumpf           1.11     AutoPtr<CIMNotifyConfigChangeResponseMessage> response(
523                              new CIMNotifyConfigChangeResponseMessage(
524                                  messageId,
525                                  CIMException(),
526                                  queueIds.copyAndPop()));
527 kumpf           1.10     response->syncAttributes(this);
528 kumpf           1.11     return response.release();
529 kumpf           1.10 }
530                      
531 kumpf           1.30 CIMMessage::CIMMessage(
532                          MessageType type,
533                          const String& messageId_)
534 kumpf           1.31     : Message(type),
535 kumpf           1.33       messageId(messageId_),
536                            _languageContextThreadId(Threads::self())
537 kumpf           1.31 #ifndef PEGASUS_DISABLE_PERFINST
538                            ,_serverStartTimeMicroseconds(0),
539                            _providerTimeMicroseconds(0),
540                            _totalServerTimeMicroseconds(0)
541                      #endif
542 karl            1.13 {
543 kumpf           1.19     operationContext.insert(
544 kumpf           1.29         AcceptLanguageListContainer(AcceptLanguageList()));
545 kumpf           1.19     operationContext.insert(
546 kumpf           1.29         ContentLanguageListContainer(ContentLanguageList()));
547 mike            1.36 
548                          binaryRequest = false;
549                          binaryResponse = false;
550 karl            1.13 }
551                      
552 kumpf           1.31 #ifndef PEGASUS_DISABLE_PERFINST
553                      void CIMMessage::endServer()
554                      {
555                          PEGASUS_ASSERT(_serverStartTimeMicroseconds != 0);
556                      
557                          _totalServerTimeMicroseconds =
558                              TimeValue::getCurrentTime().toMicroseconds() -
559                                  _serverStartTimeMicroseconds;
560                      
561                          Uint64 serverTimeMicroseconds =
562                              _totalServerTimeMicroseconds - _providerTimeMicroseconds;
563                      
564                          Uint16 statType = (Uint16)((getType() >= CIM_GET_CLASS_RESPONSE_MESSAGE) ?
565                              getType() - CIM_GET_CLASS_RESPONSE_MESSAGE : getType() - 1);
566                      
567                          StatisticalData::current()->addToValue(serverTimeMicroseconds, statType,
568                              StatisticalData::PEGASUS_STATDATA_SERVER);
569                      
570                          StatisticalData::current()->addToValue(_providerTimeMicroseconds, statType,
571                              StatisticalData::PEGASUS_STATDATA_PROVIDER);
572                      
573 kumpf           1.31     /* This adds the number of bytes read to the total.the request size
574                             value must be stored (requSize) and passed to the StatisticalData
575                             object at the end of processingm otherwise it will be the ONLY value
576                             that is passed to the client which reports the current state of the
577                             object, not the previous (one command ago) state */
578                      
579                          StatisticalData::current()->addToValue(
580                              StatisticalData::current()->requSize,
581                              statType,
582                              StatisticalData::PEGASUS_STATDATA_BYTES_READ);
583                      }
584                      #endif
585                      
586 karl            1.13 CIMRequestMessage::CIMRequestMessage(
587 kumpf           1.30     MessageType type_,
588                          const String& messageId_,
589                          const QueueIdStack& queueIds_)
590 kumpf           1.21     : CIMMessage(type_, messageId_), queueIds(queueIds_)
591 karl            1.13 {
592                      }
593                      
594                      CIMResponseMessage::CIMResponseMessage(
595 kumpf           1.30     MessageType type_,
596 karl            1.13     const String& messageId_,
597                          const CIMException& cimException_,
598                          const QueueIdStack& queueIds_)
599 kumpf           1.29     :
600 karl            1.13     CIMMessage(type_, messageId_),
601                          queueIds(queueIds_),
602                          cimException(cimException_)
603                      {
604                      }
605                      
606                      CIMOperationRequestMessage::CIMOperationRequestMessage(
607 kumpf           1.30     MessageType type_,
608 karl            1.13     const String& messageId_,
609                          const QueueIdStack& queueIds_,
610 kumpf           1.24     const String& authType_,
611                          const String& userName_,
612 karl            1.13     const CIMNamespaceName& nameSpace_,
613                          const CIMName& className_,
614                          Uint32 providerType_)
615 kumpf           1.29     :
616 karl            1.13     CIMRequestMessage(type_, messageId_, queueIds_),
617 kumpf           1.24     authType(authType_),
618                          userName(userName_),
619 karl            1.13     nameSpace(nameSpace_),
620                          className(className_),
621                          providerType(providerType_)
622                      {
623                      }
624                      
625 mike            1.1  PEGASUS_NAMESPACE_END

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2