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
|