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 mike 1.1.2.4 #include <Pegasus/Client/Linkage.h>
|
38 mike 1.1.2.1
39 PEGASUS_NAMESPACE_BEGIN
40
|
41 mike 1.1.2.2 class XmlParser;
42
|
43 mike 1.1.2.1 /** This class receives HTTP messages and decodes them into CIM Operation
44 Responses messages which it places on its output queue.
45 */
46 class PEGASUS_CLIENT_LINKAGE CIMOperationResponseDecoder : public MessageQueue
47 {
48 public:
49
50 /** Constuctor.
51 @param outputQueue queue to receive decoded HTTP messages.
52 */
53 CIMOperationResponseDecoder(MessageQueue* outputQueue);
54
55 /** Destructor. */
56 ~CIMOperationResponseDecoder();
57
58 /** This method is called when a message is enqueued on this queue. */
59 virtual void handleEnqueue();
60
61 /** Returns the queue name. */
62 virtual const char* getQueueName() const;
63
64 mike 1.1.2.1 private:
65
|
66 mike 1.1.2.2 void _handleHTTPMessage(
67 HTTPMessage* message);
68
69 void _handleMethodResponse(
70 char* content);
71
|
72 mike 1.1.2.1 void _decodeCreateClassResponse(
|
73 mike 1.1.2.2 XmlParser& parser, const String& messageId);
|
74 mike 1.1.2.1
75 void _decodeGetClassResponse(
|
76 mike 1.1.2.2 XmlParser& parser, const String& messageId);
|
77 mike 1.1.2.1
78 void _decodeModifyClassResponse(
|
79 mike 1.1.2.2 XmlParser& parser, const String& messageId);
|
80 mike 1.1.2.1
81 void _decodeEnumerateClassNamesResponse(
|
82 mike 1.1.2.2 XmlParser& parser, const String& messageId);
|
83 mike 1.1.2.1
84 void _decodeEnumerateClassesResponse(
|
85 mike 1.1.2.2 XmlParser& parser, const String& messageId);
|
86 mike 1.1.2.1
87 void _decodeDeleteClassResponse(
|
88 mike 1.1.2.2 XmlParser& parser, const String& messageId);
|
89 mike 1.1.2.1
90 void _decodeCreateInstanceResponse(
|
91 mike 1.1.2.2 XmlParser& parser, const String& messageId);
|
92 mike 1.1.2.1
93 void _decodeGetInstanceResponse(
|
94 mike 1.1.2.2 XmlParser& parser, const String& messageId);
|
95 mike 1.1.2.1
96 void _decodeModifyInstanceResponse(
|
97 mike 1.1.2.2 XmlParser& parser, const String& messageId);
|
98 mike 1.1.2.1
99 void _decodeEnumerateInstanceNamesResponse(
|
100 mike 1.1.2.2 XmlParser& parser, const String& messageId);
|
101 mike 1.1.2.1
102 void _decodeEnumerateInstancesResponse(
|
103 mike 1.1.2.2 XmlParser& parser, const String& messageId);
|
104 mike 1.1.2.1
105 void _decodeDeleteInstanceResponse(
|
106 mike 1.1.2.2 XmlParser& parser, const String& messageId);
|
107 mike 1.1.2.1
108 void _decodeSetQualifierResponse(
|
109 mike 1.1.2.2 XmlParser& parser, const String& messageId);
|
110 mike 1.1.2.1
111 void _decodeGetQualifierResponse(
|
112 mike 1.1.2.2 XmlParser& parser, const String& messageId);
|
113 mike 1.1.2.1
114 void _decodeEnumerateQualifiersResponse(
|
115 mike 1.1.2.2 XmlParser& parser, const String& messageId);
|
116 mike 1.1.2.1
117 void _decodeDeleteQualifierResponse(
|
118 mike 1.1.2.2 XmlParser& parser, const String& messageId);
|
119 mike 1.1.2.1
120 void _decodeReferenceNamesResponse(
|
121 mike 1.1.2.2 XmlParser& parser, const String& messageId);
|
122 mike 1.1.2.1
123 void _decodeReferencesResponse(
|
124 mike 1.1.2.2 XmlParser& parser, const String& messageId);
|
125 mike 1.1.2.1
126 void _decodeAssociatorNamesResponse(
|
127 mike 1.1.2.2 XmlParser& parser, const String& messageId);
|
128 mike 1.1.2.1
129 void _decodeAssociatorsResponse(
|
130 mike 1.1.2.2 XmlParser& parser, const String& messageId);
|
131 kumpf 1.1.2.5
132 void _decodeInvokeMethodResponse(
133 XmlParser& parser, const String& messageId, const String& methodName);
|
134 mike 1.1.2.1
135 MessageQueue* _outputQueue;
136 };
137
138 PEGASUS_NAMESPACE_END
139
|
140 mike 1.1.2.3 #endif /* Pegasus_CIMOperationResponseDecoder_h */
|