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
|