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

  1 karl  1.20 //%2006////////////////////////////////////////////////////////////////////////
  2 mike  1.1  //
  3 karl  1.12 // Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development
  4            // Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems.
  5            // Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.;
  6 karl  1.6  // IBM Corp.; EMC Corporation, The Open Group.
  7 karl  1.12 // Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;
  8            // IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group.
  9 karl  1.15 // Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;
 10            // EMC Corporation; VERITAS Software Corporation; The Open Group.
 11 karl  1.20 // Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.;
 12            // EMC Corporation; Symantec Corporation; The Open Group.
 13 mike  1.1  //
 14            // Permission is hereby granted, free of charge, to any person obtaining a copy
 15 chip  1.3  // of this software and associated documentation files (the "Software"), to
 16            // deal in the Software without restriction, including without limitation the
 17            // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
 18 mike  1.1  // sell copies of the Software, and to permit persons to whom the Software is
 19            // furnished to do so, subject to the following conditions:
 20 kumpf 1.5  // 
 21 chip  1.3  // THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
 22 mike  1.1  // ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
 23            // "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
 24 chip  1.3  // LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
 25            // PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
 26            // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
 27 mike  1.1  // ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
 28            // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 29            //
 30            //==============================================================================
 31            //
 32            //%/////////////////////////////////////////////////////////////////////////////
 33            
 34 kumpf 1.7  #include <Pegasus/Common/AutoPtr.h>
 35 kumpf 1.31 #include <Pegasus/Common/StatisticalData.h>
 36 mike  1.1  #include "CIMMessage.h"
 37 mike  1.34 #include "XmlWriter.h"
 38 mike  1.1  
 39 mike  1.2  PEGASUS_USING_STD;
 40            
 41 mike  1.1  PEGASUS_NAMESPACE_BEGIN
 42            
 43 mike  1.34 #define PEGASUS_ARRAY_T ArraySint8
 44            # include "ArrayImpl.h"
 45            #undef PEGASUS_ARRAY_T
 46            
 47 kumpf 1.22 void CIMResponseMessage::syncAttributes(const CIMRequestMessage* request)
 48 kumpf 1.7  {
 49                // Propagate request attributes to the response, as necessary
 50                setMask(request->getMask());
 51                setHttpMethod(request->getHttpMethod());
 52 j.alex 1.17     setCloseConnect(request->getCloseConnect());
 53 kumpf  1.27 #ifndef PEGASUS_DISABLE_PERFINST
 54 kumpf  1.28     setServerStartTime(request->getServerStartTime());
 55 kumpf  1.27 #endif
 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                         queueIds.copyAndPop(),
214                         Array<CIMObject>()));
215 kumpf  1.7      response->syncAttributes(this);
216 kumpf  1.11     return response.release();
217 kumpf  1.7  }
218             
219 kumpf  1.22 CIMResponseMessage* CIMAssociatorsRequestMessage::buildResponse() const
220 kumpf  1.7  {
221 kumpf  1.11     AutoPtr<CIMAssociatorsResponseMessage> response(
222                     new CIMAssociatorsResponseMessage(
223                         messageId,
224                         CIMException(),
225                         queueIds.copyAndPop(),
226                         Array<CIMObject>()));
227 kumpf  1.7      response->syncAttributes(this);
228 kumpf  1.11     return response.release();
229 kumpf  1.7  }
230             
231 kumpf  1.22 CIMResponseMessage* CIMAssociatorNamesRequestMessage::buildResponse() const
232 kumpf  1.7  {
233 kumpf  1.11     AutoPtr<CIMAssociatorNamesResponseMessage> response(
234                     new CIMAssociatorNamesResponseMessage(
235                         messageId,
236                         CIMException(),
237                         queueIds.copyAndPop(),
238                         Array<CIMObjectPath>()));
239 kumpf  1.7      response->syncAttributes(this);
240 kumpf  1.11     return response.release();
241 kumpf  1.7  }
242             
243 kumpf  1.22 CIMResponseMessage* CIMReferencesRequestMessage::buildResponse() const
244 kumpf  1.7  {
245 kumpf  1.11     AutoPtr<CIMReferencesResponseMessage> response(
246                     new CIMReferencesResponseMessage(
247                         messageId,
248                         CIMException(),
249                         queueIds.copyAndPop(),
250                         Array<CIMObject>()));
251 kumpf  1.7      response->syncAttributes(this);
252 kumpf  1.11     return response.release();
253 kumpf  1.7  }
254             
255 kumpf  1.22 CIMResponseMessage* CIMReferenceNamesRequestMessage::buildResponse() const
256 kumpf  1.7  {
257 kumpf  1.11     AutoPtr<CIMReferenceNamesResponseMessage> response(
258                     new CIMReferenceNamesResponseMessage(
259                         messageId,
260                         CIMException(),
261                         queueIds.copyAndPop(),
262                         Array<CIMObjectPath>()));
263 kumpf  1.7      response->syncAttributes(this);
264 kumpf  1.11     return response.release();
265 kumpf  1.7  }
266             
267 kumpf  1.22 CIMResponseMessage* CIMGetPropertyRequestMessage::buildResponse() const
268 kumpf  1.7  {
269 kumpf  1.11     AutoPtr<CIMGetPropertyResponseMessage> response(
270                     new CIMGetPropertyResponseMessage(
271                         messageId,
272                         CIMException(),
273                         queueIds.copyAndPop(),
274                         CIMValue()));
275 kumpf  1.7      response->syncAttributes(this);
276 kumpf  1.11     return response.release();
277 kumpf  1.7  }
278             
279 kumpf  1.22 CIMResponseMessage* CIMSetPropertyRequestMessage::buildResponse() const
280 kumpf  1.7  {
281 kumpf  1.11     AutoPtr<CIMSetPropertyResponseMessage> response(
282                     new CIMSetPropertyResponseMessage(
283                         messageId,
284                         CIMException(),
285                         queueIds.copyAndPop()));
286 kumpf  1.7      response->syncAttributes(this);
287 kumpf  1.11     return response.release();
288 kumpf  1.7  }
289             
290 kumpf  1.22 CIMResponseMessage* CIMGetQualifierRequestMessage::buildResponse() const
291 kumpf  1.7  {
292 kumpf  1.11     AutoPtr<CIMGetQualifierResponseMessage> response(
293                     new CIMGetQualifierResponseMessage(
294                         messageId,
295                         CIMException(),
296                         queueIds.copyAndPop(),
297                         CIMQualifierDecl()));
298 kumpf  1.7      response->syncAttributes(this);
299 kumpf  1.11     return response.release();
300 kumpf  1.7  }
301             
302 kumpf  1.22 CIMResponseMessage* CIMSetQualifierRequestMessage::buildResponse() const
303 kumpf  1.7  {
304 kumpf  1.11     AutoPtr<CIMSetQualifierResponseMessage> response(
305                     new CIMSetQualifierResponseMessage(
306                         messageId,
307                         CIMException(),
308                         queueIds.copyAndPop()));
309 kumpf  1.7      response->syncAttributes(this);
310 kumpf  1.11     return response.release();
311 kumpf  1.7  }
312             
313 kumpf  1.22 CIMResponseMessage* CIMDeleteQualifierRequestMessage::buildResponse() const
314 kumpf  1.7  {
315 kumpf  1.11     AutoPtr<CIMDeleteQualifierResponseMessage> response(
316                     new CIMDeleteQualifierResponseMessage(
317                         messageId,
318                         CIMException(),
319                         queueIds.copyAndPop()));
320 kumpf  1.7      response->syncAttributes(this);
321 kumpf  1.11     return response.release();
322 kumpf  1.7  }
323             
324 kumpf  1.22 CIMResponseMessage* CIMEnumerateQualifiersRequestMessage::buildResponse() const
325 kumpf  1.7  {
326 kumpf  1.11     AutoPtr<CIMEnumerateQualifiersResponseMessage> response(
327                     new CIMEnumerateQualifiersResponseMessage(
328                         messageId,
329                         CIMException(),
330                         queueIds.copyAndPop(),
331                         Array<CIMQualifierDecl>()));
332 kumpf  1.7      response->syncAttributes(this);
333 kumpf  1.11     return response.release();
334 kumpf  1.7  }
335             
336 kumpf  1.22 CIMResponseMessage* CIMInvokeMethodRequestMessage::buildResponse() const
337 kumpf  1.7  {
338 kumpf  1.11     AutoPtr<CIMInvokeMethodResponseMessage> response(
339                     new CIMInvokeMethodResponseMessage(
340                         messageId,
341                         CIMException(),
342                         queueIds.copyAndPop(),
343                         CIMValue(),
344                         Array<CIMParamValue>(),
345                         methodName));
346 kumpf  1.7      response->syncAttributes(this);
347 kumpf  1.11     return response.release();
348 kumpf  1.7  }
349             
350 kumpf  1.22 CIMResponseMessage* CIMProcessIndicationRequestMessage::buildResponse() const
351 kumpf  1.7  {
352 kumpf  1.11     AutoPtr<CIMProcessIndicationResponseMessage> response(
353                     new CIMProcessIndicationResponseMessage(
354                         messageId,
355                         CIMException(),
356                         queueIds.copyAndPop()));
357 kumpf  1.7      response->syncAttributes(this);
358 kumpf  1.11     return response.release();
359 kumpf  1.7  }
360             
361 kumpf  1.29 CIMResponseMessage*
362                 CIMNotifyProviderRegistrationRequestMessage::buildResponse() const
363 kumpf  1.7  {
364 kumpf  1.11     AutoPtr<CIMNotifyProviderRegistrationResponseMessage> response(
365                     new CIMNotifyProviderRegistrationResponseMessage(
366                         messageId,
367                         CIMException(),
368                         queueIds.copyAndPop()));
369 kumpf  1.7      response->syncAttributes(this);
370 kumpf  1.11     return response.release();
371 kumpf  1.7  }
372             
373 kumpf  1.29 CIMResponseMessage*
374                 CIMNotifyProviderTerminationRequestMessage::buildResponse() const
375 kumpf  1.7  {
376 kumpf  1.11     AutoPtr<CIMNotifyProviderTerminationResponseMessage> response(
377                     new CIMNotifyProviderTerminationResponseMessage(
378                         messageId,
379                         CIMException(),
380                         queueIds.copyAndPop()));
381 kumpf  1.7      response->syncAttributes(this);
382 kumpf  1.11     return response.release();
383 kumpf  1.7  }
384             
385 kumpf  1.22 CIMResponseMessage* CIMHandleIndicationRequestMessage::buildResponse() const
386 kumpf  1.7  {
387 kumpf  1.11     AutoPtr<CIMHandleIndicationResponseMessage> response(
388                     new CIMHandleIndicationResponseMessage(
389                         messageId,
390                         CIMException(),
391                         queueIds.copyAndPop()));
392 kumpf  1.7      response->syncAttributes(this);
393 kumpf  1.11     return response.release();
394 kumpf  1.7  }
395             
396 kumpf  1.22 CIMResponseMessage* CIMCreateSubscriptionRequestMessage::buildResponse() const
397 kumpf  1.7  {
398 kumpf  1.11     AutoPtr<CIMCreateSubscriptionResponseMessage> response(
399                     new CIMCreateSubscriptionResponseMessage(
400                         messageId,
401                         CIMException(),
402                         queueIds.copyAndPop()));
403 kumpf  1.7      response->syncAttributes(this);
404 kumpf  1.11     return response.release();
405 kumpf  1.7  }
406             
407 kumpf  1.22 CIMResponseMessage* CIMModifySubscriptionRequestMessage::buildResponse() const
408 kumpf  1.7  {
409 kumpf  1.11     AutoPtr<CIMModifySubscriptionResponseMessage> response(
410                     new CIMModifySubscriptionResponseMessage(
411                         messageId,
412                         CIMException(),
413                         queueIds.copyAndPop()));
414 kumpf  1.7      response->syncAttributes(this);
415 kumpf  1.11     return response.release();
416 kumpf  1.7  }
417             
418 kumpf  1.22 CIMResponseMessage* CIMDeleteSubscriptionRequestMessage::buildResponse() const
419 kumpf  1.7  {
420 kumpf  1.11     AutoPtr<CIMDeleteSubscriptionResponseMessage> response(
421                     new CIMDeleteSubscriptionResponseMessage(
422                         messageId,
423                         CIMException(),
424                         queueIds.copyAndPop()));
425 kumpf  1.7      response->syncAttributes(this);
426 kumpf  1.11     return response.release();
427 kumpf  1.7  }
428             
429 kumpf  1.29 CIMResponseMessage*
430 kumpf  1.22     CIMSubscriptionInitCompleteRequestMessage::buildResponse() const
431 carolann.graves 1.16 {
432                          AutoPtr<CIMSubscriptionInitCompleteResponseMessage> response(
433                              new CIMSubscriptionInitCompleteResponseMessage(
434                                  messageId,
435                                  CIMException(),
436                                  queueIds.copyAndPop()));
437                          response->syncAttributes(this);
438                          return response.release();
439                      }
440                      
441 kumpf           1.22 CIMResponseMessage* CIMDisableModuleRequestMessage::buildResponse() const
442 kumpf           1.7  {
443 kumpf           1.11     AutoPtr<CIMDisableModuleResponseMessage> response(
444                              new CIMDisableModuleResponseMessage(
445                                  messageId,
446                                  CIMException(),
447                                  queueIds.copyAndPop(),
448                                  Array<Uint16>()));
449 kumpf           1.7      response->syncAttributes(this);
450 kumpf           1.11     return response.release();
451 kumpf           1.7  }
452                      
453 kumpf           1.22 CIMResponseMessage* CIMEnableModuleRequestMessage::buildResponse() const
454 kumpf           1.7  {
455 kumpf           1.11     AutoPtr<CIMEnableModuleResponseMessage> response(
456                              new CIMEnableModuleResponseMessage(
457                                  messageId,
458                                  CIMException(),
459                                  queueIds.copyAndPop(),
460                                  Array<Uint16>()));
461 kumpf           1.7      response->syncAttributes(this);
462 kumpf           1.11     return response.release();
463 kumpf           1.7  }
464                      
465 kumpf           1.22 CIMResponseMessage* CIMNotifyProviderEnableRequestMessage::buildResponse() const
466 kumpf           1.7  {
467 kumpf           1.11     AutoPtr<CIMNotifyProviderEnableResponseMessage> response(
468                              new CIMNotifyProviderEnableResponseMessage(
469                                  messageId,
470                                  CIMException(),
471                                  queueIds.copyAndPop()));
472 kumpf           1.7      response->syncAttributes(this);
473 kumpf           1.11     return response.release();
474 kumpf           1.7  }
475                      
476 carolann.graves 1.23 CIMResponseMessage* CIMNotifyProviderFailRequestMessage::buildResponse() const
477                      {
478                          AutoPtr<CIMNotifyProviderFailResponseMessage> response(
479                              new CIMNotifyProviderFailResponseMessage(
480                                  messageId,
481                                  CIMException(),
482                                  queueIds.copyAndPop()));
483                          response->syncAttributes(this);
484                          return response.release();
485                      }
486                      
487 kumpf           1.22 CIMResponseMessage* CIMStopAllProvidersRequestMessage::buildResponse() const
488 kumpf           1.7  {
489 kumpf           1.11     AutoPtr<CIMStopAllProvidersResponseMessage> response(
490                              new CIMStopAllProvidersResponseMessage(
491                                  messageId,
492                                  CIMException(),
493                                  queueIds.copyAndPop()));
494 kumpf           1.7      response->syncAttributes(this);
495 kumpf           1.11     return response.release();
496 kumpf           1.7  }
497                      
498 kumpf           1.29 CIMResponseMessage*
499                          CIMInitializeProviderAgentRequestMessage::buildResponse() const
500 kumpf           1.9  {
501 kumpf           1.11     AutoPtr<CIMInitializeProviderAgentResponseMessage> response(
502                              new CIMInitializeProviderAgentResponseMessage(
503                                  messageId,
504                                  CIMException(),
505                                  queueIds.copyAndPop()));
506 kumpf           1.9      response->syncAttributes(this);
507 kumpf           1.11     return response.release();
508 kumpf           1.9  }
509                      
510 kumpf           1.22 CIMResponseMessage* CIMNotifyConfigChangeRequestMessage::buildResponse() const
511 kumpf           1.10 {
512 kumpf           1.11     AutoPtr<CIMNotifyConfigChangeResponseMessage> response(
513                              new CIMNotifyConfigChangeResponseMessage(
514                                  messageId,
515                                  CIMException(),
516                                  queueIds.copyAndPop()));
517 kumpf           1.10     response->syncAttributes(this);
518 kumpf           1.11     return response.release();
519 kumpf           1.10 }
520                      
521 kumpf           1.30 CIMMessage::CIMMessage(
522                          MessageType type,
523                          const String& messageId_)
524 kumpf           1.31     : Message(type),
525 kumpf           1.33       messageId(messageId_),
526                            _languageContextThreadId(Threads::self())
527 kumpf           1.31 #ifndef PEGASUS_DISABLE_PERFINST
528                            ,_serverStartTimeMicroseconds(0),
529                            _providerTimeMicroseconds(0),
530                            _totalServerTimeMicroseconds(0)
531                      #endif
532 karl            1.13 {
533 kumpf           1.19     operationContext.insert(
534 kumpf           1.29         AcceptLanguageListContainer(AcceptLanguageList()));
535 kumpf           1.19     operationContext.insert(
536 kumpf           1.29         ContentLanguageListContainer(ContentLanguageList()));
537 karl            1.13 }
538                      
539 kumpf           1.31 #ifndef PEGASUS_DISABLE_PERFINST
540                      void CIMMessage::endServer()
541                      {
542                          PEGASUS_ASSERT(_serverStartTimeMicroseconds != 0);
543                      
544                          _totalServerTimeMicroseconds =
545                              TimeValue::getCurrentTime().toMicroseconds() -
546                                  _serverStartTimeMicroseconds;
547                      
548                          Uint64 serverTimeMicroseconds =
549                              _totalServerTimeMicroseconds - _providerTimeMicroseconds;
550                      
551                          Uint16 statType = (Uint16)((getType() >= CIM_GET_CLASS_RESPONSE_MESSAGE) ?
552                              getType() - CIM_GET_CLASS_RESPONSE_MESSAGE : getType() - 1);
553                      
554                          StatisticalData::current()->addToValue(serverTimeMicroseconds, statType,
555                              StatisticalData::PEGASUS_STATDATA_SERVER);
556                      
557                          StatisticalData::current()->addToValue(_providerTimeMicroseconds, statType,
558                              StatisticalData::PEGASUS_STATDATA_PROVIDER);
559                      
560 kumpf           1.31     /* This adds the number of bytes read to the total.the request size
561                             value must be stored (requSize) and passed to the StatisticalData
562                             object at the end of processingm otherwise it will be the ONLY value
563                             that is passed to the client which reports the current state of the
564                             object, not the previous (one command ago) state */
565                      
566                          StatisticalData::current()->addToValue(
567                              StatisticalData::current()->requSize,
568                              statType,
569                              StatisticalData::PEGASUS_STATDATA_BYTES_READ);
570                      }
571                      #endif
572                      
573 karl            1.13 CIMRequestMessage::CIMRequestMessage(
574 kumpf           1.30     MessageType type_,
575                          const String& messageId_,
576                          const QueueIdStack& queueIds_)
577 kumpf           1.21     : CIMMessage(type_, messageId_), queueIds(queueIds_)
578 karl            1.13 {
579                      }
580                      
581                      CIMResponseMessage::CIMResponseMessage(
582 kumpf           1.30     MessageType type_,
583 karl            1.13     const String& messageId_,
584                          const CIMException& cimException_,
585                          const QueueIdStack& queueIds_)
586 kumpf           1.29     :
587 karl            1.13     CIMMessage(type_, messageId_),
588                          queueIds(queueIds_),
589                          cimException(cimException_)
590                      {
591                      }
592                      
593                      CIMOperationRequestMessage::CIMOperationRequestMessage(
594 kumpf           1.30     MessageType type_,
595 karl            1.13     const String& messageId_,
596                          const QueueIdStack& queueIds_,
597 kumpf           1.24     const String& authType_,
598                          const String& userName_,
599 karl            1.13     const CIMNamespaceName& nameSpace_,
600                          const CIMName& className_,
601                          Uint32 providerType_)
602 kumpf           1.29     :
603 karl            1.13     CIMRequestMessage(type_, messageId_, queueIds_),
604 kumpf           1.24     authType(authType_),
605                          userName(userName_),
606 karl            1.13     nameSpace(nameSpace_),
607                          className(className_),
608                          providerType(providerType_)
609                      {
610                      }
611                      
612 mike            1.34 Array<CIMInstance>& CIMEnumerateInstancesResponseMessage::getNamedInstances()
613                      {
614                          if (resolveCallback)
615                          {
616                              (*resolveCallback)(
617                                  instancesData, 
618                                  referencesData, 
619                                  hostsData,
620                                  nameSpacesData, 
621                                  _namedInstances);
622                              resolveCallback = 0;
623                          }
624                      
625                          return _namedInstances;
626                      }
627                      
628                      void CIMEnumerateInstancesResponseMessage::setNamedInstances(
629                          const Array<CIMInstance>& x)
630                      {
631                          resolveCallback = 0;
632                          _namedInstances = x;
633 mike            1.34 }
634                      
635 mike            1.1  PEGASUS_NAMESPACE_END

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2