1 mike 1.1 //%2006////////////////////////////////////////////////////////////////////////
2 //
3 // 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 // IBM Corp.; EMC Corporation, The Open Group.
7 // Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;
8 // IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group.
9 // Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;
10 // EMC Corporation; VERITAS Software Corporation; The Open Group.
11 // Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.;
12 // EMC Corporation; Symantec Corporation; The Open Group.
13 //
14 // Permission is hereby granted, free of charge, to any person obtaining a copy
15 // 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 // 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 //
21 // 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 // 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 // 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 #ifndef Pegasus_CIMBinMsgDeserializer_h
35 #define Pegasus_CIMBinMsgDeserializer_h
36
37 #include <Pegasus/Common/Config.h>
38 #include <Pegasus/Common/CIMMessage.h>
39 #include <Pegasus/Common/CIMBuffer.h>
40
41 PEGASUS_NAMESPACE_BEGIN
42
43 mike 1.1 /** This class converts binary messages into CIMMessage objects. Please see
44 comments for The CIMBuffer class for more information about goals of the
45 the serialization/deserialization scheme.
46 */
47 class PEGASUS_COMMON_LINKAGE CIMBinMsgDeserializer
48 {
49 public:
50
51 static CIMMessage* deserialize(CIMBuffer& in, size_t size);
52
53 private:
54
55 PEGASUS_HIDDEN_LINKAGE
56 static CIMRequestMessage* _getRequestMessage(
57 CIMBuffer& in,
58 MessageType type);
59
60 PEGASUS_HIDDEN_LINKAGE
61 static CIMResponseMessage* _getResponseMessage(
62 CIMBuffer& in,
|
65 mike 1.1
66 PEGASUS_HIDDEN_LINKAGE
67 static Boolean _getUserInfo(
68 CIMBuffer& in,
69 String& authType,
70 String& userName);
71
72 PEGASUS_HIDDEN_LINKAGE
73 static Boolean _getQueueIdStack(
74 CIMBuffer& in,
75 QueueIdStack& queueIdStack);
76
77 PEGASUS_HIDDEN_LINKAGE
78 static Boolean _getOperationContext(
79 CIMBuffer& in,
80 OperationContext& operationContext);
81
82 PEGASUS_HIDDEN_LINKAGE
83 static Boolean _getContentLanguageList(
84 CIMBuffer& in,
85 ContentLanguageList& contentLanguages);
86 mike 1.1
87 PEGASUS_HIDDEN_LINKAGE
88 static Boolean _getAcceptLanguageList(
89 CIMBuffer& in,
90 AcceptLanguageList& acceptLanguages);
91
92 PEGASUS_HIDDEN_LINKAGE
93 static Boolean _getException(
94 CIMBuffer& in,
95 CIMException& cimException);
96
97 PEGASUS_HIDDEN_LINKAGE
98 static Boolean _getPropertyList(
99 CIMBuffer& in,
100 CIMPropertyList& propertyList);
101
102 PEGASUS_HIDDEN_LINKAGE
103 static Boolean _getObjectPath(
104 CIMBuffer& in,
105 CIMObjectPath& cimObjectPath);
106
107 mike 1.1 PEGASUS_HIDDEN_LINKAGE
108 static Boolean _getInstance(
109 CIMBuffer& in,
110 CIMInstance& cimInstance);
111
112 PEGASUS_HIDDEN_LINKAGE
113 static Boolean _getNamespaceName(
114 CIMBuffer& in,
115 CIMNamespaceName& cimNamespaceName);
116
117 PEGASUS_HIDDEN_LINKAGE
118 static Boolean _getName(
119 CIMBuffer& in,
120 CIMName& cimName);
121
122 PEGASUS_HIDDEN_LINKAGE
123 static Boolean _getObject(
124 CIMBuffer& in,
125 CIMObject& object);
126
127 PEGASUS_HIDDEN_LINKAGE
128 mike 1.1 static Boolean _getParamValue(
129 CIMBuffer& in,
130 CIMParamValue& paramValue);
131
132 PEGASUS_HIDDEN_LINKAGE
133 static CIMGetInstanceRequestMessage*
134 _getGetInstanceRequestMessage(CIMBuffer& in);
135
136 PEGASUS_HIDDEN_LINKAGE
137 static CIMDeleteInstanceRequestMessage*
138 _getDeleteInstanceRequestMessage(CIMBuffer& in);
139
140 PEGASUS_HIDDEN_LINKAGE
141 static CIMCreateInstanceRequestMessage*
142 _getCreateInstanceRequestMessage(CIMBuffer& in);
143
144 PEGASUS_HIDDEN_LINKAGE
145 static CIMModifyInstanceRequestMessage*
146 _getModifyInstanceRequestMessage(CIMBuffer& in);
147
148 PEGASUS_HIDDEN_LINKAGE
149 mike 1.1 static CIMEnumerateInstancesRequestMessage*
150 _getEnumerateInstancesRequestMessage(CIMBuffer& in);
151
152 PEGASUS_HIDDEN_LINKAGE
153 static CIMEnumerateInstanceNamesRequestMessage*
154 _getEnumerateInstanceNamesRequestMessage(CIMBuffer& in);
155
156 PEGASUS_HIDDEN_LINKAGE
157 static CIMExecQueryRequestMessage*
158 _getExecQueryRequestMessage(CIMBuffer& in);
159
160 PEGASUS_HIDDEN_LINKAGE
161 static CIMAssociatorsRequestMessage*
162 _getAssociatorsRequestMessage(CIMBuffer& in);
163
164 PEGASUS_HIDDEN_LINKAGE
165 static CIMAssociatorNamesRequestMessage*
166 _getAssociatorNamesRequestMessage(CIMBuffer& in);
167
168 PEGASUS_HIDDEN_LINKAGE
169 static CIMReferencesRequestMessage*
170 mike 1.1 _getReferencesRequestMessage(CIMBuffer& in);
171
172 PEGASUS_HIDDEN_LINKAGE
173 static CIMReferenceNamesRequestMessage*
174 _getReferenceNamesRequestMessage(CIMBuffer& in);
175
176 PEGASUS_HIDDEN_LINKAGE
177 static CIMGetPropertyRequestMessage*
178 _getGetPropertyRequestMessage(CIMBuffer& in);
179
180 PEGASUS_HIDDEN_LINKAGE
181 static CIMSetPropertyRequestMessage*
182 _getSetPropertyRequestMessage(CIMBuffer& in);
183
184 PEGASUS_HIDDEN_LINKAGE
185 static CIMInvokeMethodRequestMessage*
186 _getInvokeMethodRequestMessage(CIMBuffer& in);
187
188 PEGASUS_HIDDEN_LINKAGE
189 static CIMInitializeProviderAgentRequestMessage*
190 _getInitializeProviderAgentRequestMessage(CIMBuffer& in);
191 mike 1.1
192 static CIMCreateSubscriptionRequestMessage*
193 _getCreateSubscriptionRequestMessage(CIMBuffer& in);
194
195 PEGASUS_HIDDEN_LINKAGE
196 static CIMModifySubscriptionRequestMessage*
197 _getModifySubscriptionRequestMessage(CIMBuffer& in);
198
199 PEGASUS_HIDDEN_LINKAGE
200 static CIMDeleteSubscriptionRequestMessage*
201 _getDeleteSubscriptionRequestMessage(CIMBuffer& in);
202
203 PEGASUS_HIDDEN_LINKAGE
204 static CIMExportIndicationRequestMessage*
205 _getExportIndicationRequestMessage(CIMBuffer& in);
206
207 PEGASUS_HIDDEN_LINKAGE
208 static CIMProcessIndicationRequestMessage*
209 _getProcessIndicationRequestMessage(CIMBuffer& in);
210
211 PEGASUS_HIDDEN_LINKAGE
212 mike 1.1 static CIMDisableModuleRequestMessage*
213 _getDisableModuleRequestMessage(CIMBuffer& in);
214
215 PEGASUS_HIDDEN_LINKAGE
216 static CIMEnableModuleRequestMessage*
217 _getEnableModuleRequestMessage(CIMBuffer& in);
218
219 PEGASUS_HIDDEN_LINKAGE
220 static CIMStopAllProvidersRequestMessage*
221 _getStopAllProvidersRequestMessage(CIMBuffer& in);
222
223 PEGASUS_HIDDEN_LINKAGE
224 static CIMNotifyConfigChangeRequestMessage*
225 _getNotifyConfigChangeRequestMessage(CIMBuffer& in);
226
227 PEGASUS_HIDDEN_LINKAGE
228 static CIMSubscriptionInitCompleteRequestMessage*
229 _getSubscriptionInitCompleteRequestMessage
230 (CIMBuffer& in);
231
232 PEGASUS_HIDDEN_LINKAGE
|