1 mike 1.1.2.1 //%/////////////////////////////////////////////////////////////////////////////
2 //
|
3 kumpf 1.1.2.5 // Copyright (c) 2000, 2001 BMC Software, Hewlett-Packard Company, IBM,
4 // The Open Group, Tivoli Systems
|
5 mike 1.1.2.1 //
6 // Permission is hereby granted, free of charge, to any person obtaining a copy
7 // of this software and associated documentation files (the "Software"), to
8 // deal in the Software without restriction, including without limitation the
9 // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
10 // sell copies of the Software, and to permit persons to whom the Software is
11 // furnished to do so, subject to the following conditions:
12 //
13 // THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
14 // ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
15 // "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
16 // LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
17 // PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
18 // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
19 // ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21 //
22 //==============================================================================
23 //
24 // Author: Mike Brasher (mbrasher@bmc.com)
25 //
|
26 kumpf 1.1.2.5 // Modified By: Nitin Upasani, Hewlett-Packard Company (Nitin_Upasani@hp.com)
|
27 mike 1.1.2.1 //
28 //%/////////////////////////////////////////////////////////////////////////////
29
|
30 mike 1.1.2.3 #ifndef Pegasus_CIMOperationResponseDecoder_h
31 #define Pegasus_CIMOperationResponseDecoder_h
|
32 mike 1.1.2.1
33 #include <fstream>
34 #include <Pegasus/Common/Config.h>
35 #include <Pegasus/Common/MessageQueue.h>
36 #include <Pegasus/Common/HTTPMessage.h>
|
37 kumpf 1.1.2.7 #include <Pegasus/Common/CIMMessage.h>
|
38 mike 1.1.2.4 #include <Pegasus/Client/Linkage.h>
|
39 mike 1.1.2.1
40 PEGASUS_NAMESPACE_BEGIN
41
|
42 mike 1.1.2.2 class XmlParser;
43
|
44 mike 1.1.2.1 /** This class receives HTTP messages and decodes them into CIM Operation
45 Responses messages which it places on its output queue.
46 */
47 class PEGASUS_CLIENT_LINKAGE CIMOperationResponseDecoder : public MessageQueue
48 {
49 public:
50
51 /** Constuctor.
52 @param outputQueue queue to receive decoded HTTP messages.
53 */
54 CIMOperationResponseDecoder(MessageQueue* outputQueue);
55
56 /** Destructor. */
57 ~CIMOperationResponseDecoder();
58
59 /** This method is called when a message is enqueued on this queue. */
60 virtual void handleEnqueue();
61
62 /** Returns the queue name. */
63 virtual const char* getQueueName() const;
64
65 mike 1.1.2.1 private:
66
|
67 mike 1.1.2.2 void _handleHTTPMessage(
68 HTTPMessage* message);
69
70 void _handleMethodResponse(
71 char* content);
72
|
73 kumpf 1.1.2.6 CIMCreateClassResponseMessage* _decodeCreateClassResponse(
|
74 mike 1.1.2.2 XmlParser& parser, const String& messageId);
|
75 mike 1.1.2.1
|
76 kumpf 1.1.2.6 CIMGetClassResponseMessage* _decodeGetClassResponse(
|
77 mike 1.1.2.2 XmlParser& parser, const String& messageId);
|
78 mike 1.1.2.1
|
79 kumpf 1.1.2.6 CIMModifyClassResponseMessage* _decodeModifyClassResponse(
|
80 mike 1.1.2.2 XmlParser& parser, const String& messageId);
|
81 mike 1.1.2.1
|
82 kumpf 1.1.2.6 CIMEnumerateClassNamesResponseMessage* _decodeEnumerateClassNamesResponse(
|
83 mike 1.1.2.2 XmlParser& parser, const String& messageId);
|
84 mike 1.1.2.1
|
85 kumpf 1.1.2.6 CIMEnumerateClassesResponseMessage* _decodeEnumerateClassesResponse(
|
86 mike 1.1.2.2 XmlParser& parser, const String& messageId);
|
87 mike 1.1.2.1
|
88 kumpf 1.1.2.6 CIMDeleteClassResponseMessage* _decodeDeleteClassResponse(
|
89 mike 1.1.2.2 XmlParser& parser, const String& messageId);
|
90 mike 1.1.2.1
|
91 kumpf 1.1.2.6 CIMCreateInstanceResponseMessage* _decodeCreateInstanceResponse(
|
92 mike 1.1.2.2 XmlParser& parser, const String& messageId);
|
93 mike 1.1.2.1
|
94 kumpf 1.1.2.6 CIMGetInstanceResponseMessage* _decodeGetInstanceResponse(
|
95 mike 1.1.2.2 XmlParser& parser, const String& messageId);
|
96 mike 1.1.2.1
|
97 kumpf 1.1.2.6 CIMModifyInstanceResponseMessage* _decodeModifyInstanceResponse(
|
98 mike 1.1.2.2 XmlParser& parser, const String& messageId);
|
99 mike 1.1.2.1
|
100 kumpf 1.1.2.6 CIMEnumerateInstanceNamesResponseMessage* _decodeEnumerateInstanceNamesResponse(
|
101 mike 1.1.2.2 XmlParser& parser, const String& messageId);
|
102 mike 1.1.2.1
|
103 kumpf 1.1.2.6 CIMEnumerateInstancesResponseMessage* _decodeEnumerateInstancesResponse(
|
104 mike 1.1.2.2 XmlParser& parser, const String& messageId);
|
105 mike 1.1.2.1
|
106 kumpf 1.1.2.6 CIMDeleteInstanceResponseMessage* _decodeDeleteInstanceResponse(
|
107 mike 1.1.2.2 XmlParser& parser, const String& messageId);
|
108 mike 1.1.2.1
|
109 kumpf 1.1.2.8 CIMGetPropertyResponseMessage* _decodeGetPropertyResponse(
110 XmlParser& parser, const String& messageId);
111
112 CIMSetPropertyResponseMessage* _decodeSetPropertyResponse(
113 XmlParser& parser, const String& messageId);
114
|
115 kumpf 1.1.2.6 CIMSetQualifierResponseMessage* _decodeSetQualifierResponse(
|
116 mike 1.1.2.2 XmlParser& parser, const String& messageId);
|
117 mike 1.1.2.1
|
118 kumpf 1.1.2.6 CIMGetQualifierResponseMessage* _decodeGetQualifierResponse(
|
119 mike 1.1.2.2 XmlParser& parser, const String& messageId);
|
120 mike 1.1.2.1
|
121 kumpf 1.1.2.6 CIMEnumerateQualifiersResponseMessage* _decodeEnumerateQualifiersResponse(
|
122 mike 1.1.2.2 XmlParser& parser, const String& messageId);
|
123 mike 1.1.2.1
|
124 kumpf 1.1.2.6 CIMDeleteQualifierResponseMessage* _decodeDeleteQualifierResponse(
|
125 mike 1.1.2.2 XmlParser& parser, const String& messageId);
|
126 mike 1.1.2.1
|
127 kumpf 1.1.2.6 CIMReferenceNamesResponseMessage* _decodeReferenceNamesResponse(
|
128 mike 1.1.2.2 XmlParser& parser, const String& messageId);
|
129 mike 1.1.2.1
|
130 kumpf 1.1.2.6 CIMReferencesResponseMessage* _decodeReferencesResponse(
|
131 mike 1.1.2.2 XmlParser& parser, const String& messageId);
|
132 mike 1.1.2.1
|
133 kumpf 1.1.2.6 CIMAssociatorNamesResponseMessage* _decodeAssociatorNamesResponse(
|
134 mike 1.1.2.2 XmlParser& parser, const String& messageId);
|
135 mike 1.1.2.1
|
136 kumpf 1.1.2.6 CIMAssociatorsResponseMessage* _decodeAssociatorsResponse(
|
137 mike 1.1.2.2 XmlParser& parser, const String& messageId);
|
138 kumpf 1.1.2.5
|
139 kumpf 1.1.2.6 CIMInvokeMethodResponseMessage* _decodeInvokeMethodResponse(
|
140 kumpf 1.1.2.5 XmlParser& parser, const String& messageId, const String& methodName);
|
141 mike 1.1.2.1
142 MessageQueue* _outputQueue;
143 };
144
145 PEGASUS_NAMESPACE_END
146
|
147 mike 1.1.2.3 #endif /* Pegasus_CIMOperationResponseDecoder_h */
|