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

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2