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