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