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