(file) Return to CIMOperationResponseDecoder.h CVS log (file) (dir) Up to [Pegasus] / pegasus / src / Pegasus / Client

  1 mike  1.2 //%/////////////////////////////////////////////////////////////////////////////
  2           //
  3           // Copyright (c) 2000, 2001 BMC Software, Hewlett-Packard Company, IBM,
  4           // The Open Group, Tivoli Systems
  5           //
  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 mike  1.2 //==============================================================================
 23           //
 24           // Author: Mike Brasher (mbrasher@bmc.com)
 25           //
 26           // Modified By: Nitin Upasani, Hewlett-Packard Company (Nitin_Upasani@hp.com)
 27           //
 28           //              Nag Boranna, Hewlett-Packard Company (nagaraja_boranna@hp.com)
 29           //
 30           //%/////////////////////////////////////////////////////////////////////////////
 31           
 32           #ifndef Pegasus_CIMOperationResponseDecoder_h
 33           #define Pegasus_CIMOperationResponseDecoder_h
 34           
 35           #include <fstream>
 36           #include <Pegasus/Common/Config.h>
 37           #include <Pegasus/Common/MessageQueue.h>
 38           #include <Pegasus/Common/HTTPMessage.h>
 39           #include <Pegasus/Common/CIMMessage.h>
 40           #include <Pegasus/Client/ClientAuthenticator.h>
 41           #include <Pegasus/Client/Linkage.h>
 42           
 43 mike  1.2 PEGASUS_NAMESPACE_BEGIN
 44           
 45           class XmlParser;
 46           
 47           /** This class receives HTTP messages and decodes them into CIM Operation 
 48               Responses messages which it places on its output queue.
 49           */
 50           class PEGASUS_CLIENT_LINKAGE CIMOperationResponseDecoder : public MessageQueue
 51           {
 52           public:
 53           
 54               /** Constuctor.
 55           	@param outputQueue queue to receive decoded HTTP messages.
 56               */
 57              CIMOperationResponseDecoder(
 58                   MessageQueue* outputQueue,
 59                   MessageQueue* encoderQueue,
 60                   ClientAuthenticator* authenticator);
 61           
 62               /** Destructor. */
 63               ~CIMOperationResponseDecoder();
 64 mike  1.2 
 65               /** Initializes the encoder queue */
 66               void setEncoderQueue(MessageQueue* encoderQueue);
 67           
 68               /** This method is called when a message is enqueued on this queue. */
 69               virtual void handleEnqueue();
 70           
 71               /** Returns the queue name. */
 72               virtual const char* getQueueName() const;
 73           
 74           private:
 75           
 76               void _handleHTTPMessage(
 77           	HTTPMessage* message);
 78           
 79               void _handleMethodResponse(
 80           	char* content);
 81           
 82               CIMCreateClassResponseMessage* _decodeCreateClassResponse(
 83           	XmlParser& parser, const String& messageId);
 84           
 85 mike  1.2     CIMGetClassResponseMessage* _decodeGetClassResponse(
 86           	XmlParser& parser, const String& messageId);
 87           
 88               CIMModifyClassResponseMessage* _decodeModifyClassResponse(
 89           	XmlParser& parser, const String& messageId);
 90           
 91               CIMEnumerateClassNamesResponseMessage* _decodeEnumerateClassNamesResponse(
 92           	XmlParser& parser, const String& messageId);
 93           
 94               CIMEnumerateClassesResponseMessage* _decodeEnumerateClassesResponse(
 95           	XmlParser& parser, const String& messageId);
 96           
 97               CIMDeleteClassResponseMessage* _decodeDeleteClassResponse(
 98           	XmlParser& parser, const String& messageId);
 99           
100               CIMCreateInstanceResponseMessage* _decodeCreateInstanceResponse(
101           	XmlParser& parser, const String& messageId);
102           
103               CIMGetInstanceResponseMessage* _decodeGetInstanceResponse(
104           	XmlParser& parser, const String& messageId);
105           
106 mike  1.2     CIMModifyInstanceResponseMessage* _decodeModifyInstanceResponse(
107           	XmlParser& parser, const String& messageId);
108           
109               CIMEnumerateInstanceNamesResponseMessage* _decodeEnumerateInstanceNamesResponse(
110           	XmlParser& parser, const String& messageId);
111           
112               CIMEnumerateInstancesResponseMessage* _decodeEnumerateInstancesResponse(
113           	XmlParser& parser, const String& messageId);
114           
115               CIMDeleteInstanceResponseMessage* _decodeDeleteInstanceResponse(
116           	XmlParser& parser, const String& messageId);
117           
118               CIMGetPropertyResponseMessage* _decodeGetPropertyResponse(
119           	XmlParser& parser, const String& messageId);
120           
121               CIMSetPropertyResponseMessage* _decodeSetPropertyResponse(
122           	XmlParser& parser, const String& messageId);
123           
124               CIMSetQualifierResponseMessage* _decodeSetQualifierResponse(
125           	XmlParser& parser, const String& messageId);
126           
127 mike  1.2     CIMGetQualifierResponseMessage* _decodeGetQualifierResponse(
128           	XmlParser& parser, const String& messageId);
129           
130               CIMEnumerateQualifiersResponseMessage* _decodeEnumerateQualifiersResponse(
131           	XmlParser& parser, const String& messageId);
132           
133               CIMDeleteQualifierResponseMessage* _decodeDeleteQualifierResponse(
134           	XmlParser& parser, const String& messageId);
135           
136               CIMReferenceNamesResponseMessage* _decodeReferenceNamesResponse(
137           	XmlParser& parser, const String& messageId);
138           
139               CIMReferencesResponseMessage* _decodeReferencesResponse(
140           	XmlParser& parser, const String& messageId);
141           
142               CIMAssociatorNamesResponseMessage* _decodeAssociatorNamesResponse(
143           	XmlParser& parser, const String& messageId);
144           
145               CIMAssociatorsResponseMessage* _decodeAssociatorsResponse(
146           	XmlParser& parser, const String& messageId);
147           
148 mike  1.2     CIMInvokeMethodResponseMessage* _decodeInvokeMethodResponse(
149           	XmlParser& parser, const String& messageId, const String& methodName);
150           
151               MessageQueue*        _outputQueue;
152           
153               MessageQueue*        _encoderQueue;
154           
155               ClientAuthenticator* _authenticator;
156           };
157           
158           PEGASUS_NAMESPACE_END
159           
160           #endif /* Pegasus_CIMOperationResponseDecoder_h */

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2