1 martin 1.25 //%LICENSE////////////////////////////////////////////////////////////////
|
2 martin 1.26 //
|
3 martin 1.25 // 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.26 //
|
10 martin 1.25 // 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.26 //
|
17 martin 1.25 // The above copyright notice and this permission notice shall be included
18 // in all copies or substantial portions of the Software.
|
19 martin 1.26 //
|
20 martin 1.25 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
21 martin 1.26 // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
22 martin 1.25 // 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.26 //
|
28 martin 1.25 //////////////////////////////////////////////////////////////////////////
|
29 mike 1.2 //
30 //%/////////////////////////////////////////////////////////////////////////////
31
32 #ifndef Pegasus_CIMOperationResponseEncoder_h
33 #define Pegasus_CIMOperationResponseEncoder_h
34
35 #include <Pegasus/Common/Config.h>
|
36 sahana.prabhakar 1.27 #include <Pegasus/Common/MessageQueue.h>
|
37 mike 1.2 #include <Pegasus/Common/CIMMessage.h>
38
39 PEGASUS_NAMESPACE_BEGIN
40
41 /** This class encodes CIM operation requests and passes them up-stream.
|
42 mday 1.6 */
|
43 sahana.prabhakar 1.27 class CIMOperationResponseEncoder : public MessageQueue
|
44 mike 1.2 {
|
45 kumpf 1.24 private:
46 static const String OUT_OF_MEMORY_MESSAGE;
|
47 kumpf 1.14
|
48 kumpf 1.24 public:
|
49 mike 1.2
|
50 sahana.prabhakar 1.27 typedef MessageQueue Base;
|
51 mike 1.2
|
52 kumpf 1.24 CIMOperationResponseEncoder();
|
53 mike 1.2
|
54 kumpf 1.24 ~CIMOperationResponseEncoder();
|
55 mike 1.2
|
56 kumpf 1.24 void sendResponse(
57 CIMResponseMessage* response,
58 const String& name,
59 Boolean isImplicit,
60 Buffer* bodygiven = 0);
|
61 kumpf 1.23
|
62 kumpf 1.24 virtual void enqueue(Message*);
|
63 mike 1.2
|
64 kumpf 1.24 virtual void handleEnqueue(Message*);
|
65 mike 1.2
|
66 kumpf 1.24 virtual void handleEnqueue();
|
67 mike 1.2
|
68 kumpf 1.24 void encodeCreateClassResponse(
69 CIMCreateClassResponseMessage* response);
|
70 mike 1.2
|
71 kumpf 1.24 void encodeGetClassResponse(
72 CIMGetClassResponseMessage* response);
|
73 mike 1.2
|
74 kumpf 1.24 void encodeModifyClassResponse(
75 CIMModifyClassResponseMessage* response);
|
76 mike 1.2
|
77 kumpf 1.24 void encodeEnumerateClassNamesResponse(
78 CIMEnumerateClassNamesResponseMessage* response);
|
79 mike 1.2
|
80 kumpf 1.24 void encodeEnumerateClassesResponse(
81 CIMEnumerateClassesResponseMessage* response);
|
82 mike 1.2
|
83 kumpf 1.24 void encodeDeleteClassResponse(
84 CIMDeleteClassResponseMessage* response);
|
85 mike 1.2
|
86 kumpf 1.24 void encodeCreateInstanceResponse(
87 CIMCreateInstanceResponseMessage* response);
|
88 mike 1.2
|
89 kumpf 1.24 void encodeGetInstanceResponse(
90 CIMGetInstanceResponseMessage* response);
|
91 mike 1.2
|
92 kumpf 1.24 void encodeModifyInstanceResponse(
93 CIMModifyInstanceResponseMessage* response);
|
94 mike 1.2
|
95 kumpf 1.24 void encodeEnumerateInstanceNamesResponse(
96 CIMEnumerateInstanceNamesResponseMessage* response);
|
97 mike 1.2
|
98 kumpf 1.24 void encodeEnumerateInstancesResponse(
99 CIMEnumerateInstancesResponseMessage* response);
|
100 mike 1.2
|
101 kumpf 1.24 void encodeDeleteInstanceResponse(
102 CIMDeleteInstanceResponseMessage* response);
|
103 mike 1.2
|
104 kumpf 1.24 void encodeGetPropertyResponse(
105 CIMGetPropertyResponseMessage* response);
|
106 mike 1.2
|
107 kumpf 1.24 void encodeSetPropertyResponse(
108 CIMSetPropertyResponseMessage* response);
|
109 mike 1.2
|
110 kumpf 1.24 void encodeSetQualifierResponse(
111 CIMSetQualifierResponseMessage* response);
|
112 mike 1.2
|
113 kumpf 1.24 void encodeGetQualifierResponse(
114 CIMGetQualifierResponseMessage* response);
|
115 mike 1.2
|
116 kumpf 1.24 void encodeEnumerateQualifiersResponse(
117 CIMEnumerateQualifiersResponseMessage* response);
|
118 mike 1.2
|
119 kumpf 1.24 void encodeDeleteQualifierResponse(
120 CIMDeleteQualifierResponseMessage* response);
|
121 mike 1.2
|
122 kumpf 1.24 void encodeReferenceNamesResponse(
123 CIMReferenceNamesResponseMessage* response);
|
124 mike 1.2
|
125 kumpf 1.24 void encodeReferencesResponse(
126 CIMReferencesResponseMessage* response);
|
127 mike 1.2
|
128 kumpf 1.24 void encodeAssociatorNamesResponse(
129 CIMAssociatorNamesResponseMessage* response);
|
130 mike 1.2
|
131 kumpf 1.24 void encodeAssociatorsResponse(
132 CIMAssociatorsResponseMessage* response);
|
133 kumpf 1.8
|
134 kumpf 1.24 void encodeExecQueryResponse(
135 CIMExecQueryResponseMessage* response);
136
137 void encodeInvokeMethodResponse(
138 CIMInvokeMethodResponseMessage* response);
|
139 mike 1.2 };
140
141 PEGASUS_NAMESPACE_END
142
143 #endif /* Pegasus_CIMOperationResponseEncoder_h */
|