Return to CIMOperationResponseDecoder.h CVS log | Up to [Pegasus] / pegasus / src / Pegasus / Client |
File: [Pegasus] / pegasus / src / Pegasus / Client / CIMOperationResponseDecoder.h
(download)
Revision: 1.27, Thu Apr 18 09:58:17 2013 UTC (11 years, 2 months ago) by karl Branch: MAIN CVS Tags: preBug9676, TASK-TASK_PEP362_RestfulService_branch-root, TASK-TASK_PEP362_RestfulService_branch-merged_out_from_trunk, TASK-TASK_PEP362_RestfulService_branch-merged_in_to_trunk, TASK-TASK_PEP362_RestfulService_branch-merged_in_from_branch, TASK-TASK_PEP362_RestfulService_branch-branch, TASK-PEP362_RestfulService-root, TASK-PEP362_RestfulService-merged_out_to_branch, TASK-PEP362_RestfulService-merged_out_from_trunk, TASK-PEP362_RestfulService-merged_in_to_trunk, TASK-PEP362_RestfulService-merged_in_from_branch, TASK-PEP362_RestfulService-branch, TASK-PEP317_pullop-merged_out_from_trunk, TASK-PEP317_pullop-merged_in_to_trunk, RELEASE_2_13_0-RC2, RELEASE_2_13_0-RC1, RELEASE_2_13_0-FC, RELEASE_2_13_0, RELEASE_2_13-root, RELEASE_2_13-branch, CIMRS_WORK_20130824 Changes since 1.26: +2 -7 lines BUG#: 9632 TITLE: Client trace error when trying to log DESCRIPTION: Rewrote function by creating ClientTrace class in CIMClientRep and doing all logic within that class |
//%LICENSE//////////////////////////////////////////////////////////////// // // Licensed to The Open Group (TOG) under one or more contributor license // agreements. Refer to the OpenPegasusNOTICE.txt file distributed with // this work for additional information regarding copyright ownership. // Each contributor licenses this file to you under the OpenPegasus Open // Source License; you may not use this file except in compliance with the // License. // // Permission is hereby granted, free of charge, to any person obtaining a // copy of this software and associated documentation files (the "Software"), // to deal in the Software without restriction, including without limitation // the rights to use, copy, modify, merge, publish, distribute, sublicense, // and/or sell copies of the Software, and to permit persons to whom the // Software is furnished to do so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included // in all copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. // IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY // CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, // TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE // SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. // ////////////////////////////////////////////////////////////////////////// // //%///////////////////////////////////////////////////////////////////////////// #ifndef Pegasus_CIMOperationResponseDecoder_h #define Pegasus_CIMOperationResponseDecoder_h #include <fstream> #include <Pegasus/Common/Config.h> #include <Pegasus/Common/MessageQueue.h> #include <Pegasus/Common/HTTPMessage.h> #include <Pegasus/Common/CIMMessage.h> #include <Pegasus/Common/ContentLanguageList.h> #include <Pegasus/Client/ClientAuthenticator.h> #include <Pegasus/Client/CIMClientException.h> #include <Pegasus/Client/Linkage.h> #include "ClientPerfDataStore.h" PEGASUS_NAMESPACE_BEGIN class XmlParser; /** This message is sent from the response decoder to the CIMClient, indicating an error in issuing a CIM request. */ class PEGASUS_CLIENT_LINKAGE ClientExceptionMessage : public Message { public: ClientExceptionMessage(Exception* clientException_) : Message(CLIENT_EXCEPTION_MESSAGE), clientException(clientException_) { } Exception* clientException; }; /** This class receives HTTP messages and decodes them into CIM Operation Responses messages which it places on its output queue. */ class PEGASUS_CLIENT_LINKAGE CIMOperationResponseDecoder : public MessageQueue { public: /** Constuctor. @param outputQueue queue to receive decoded HTTP messages. */ CIMOperationResponseDecoder( MessageQueue* outputQueue, MessageQueue* encoderQueue, ClientAuthenticator* authenticator ); /** Destructor. */ ~CIMOperationResponseDecoder(); /** Initializes the encoder queue */ void setEncoderQueue(MessageQueue* encoderQueue); /** This method is called when a message is enqueued on this queue. */ virtual void handleEnqueue(); /** This methods gives the Decoder access to the ClientPerfDataStore that is in CIMClientRep. A pointer to the CIMClientRep::ClientPerfDataStore is passed in */ void setDataStorePointer(ClientPerfDataStore* perfDataStore_ptr); private: void _handleHTTPMessage(HTTPMessage* message); void _handleMethodResponse( const char* content, Uint32 contentLength, const ContentLanguageList& contentLanguages, Boolean reconnect, bool binaryResponse); CIMCreateClassResponseMessage* _decodeCreateClassResponse( XmlParser& parser, const String& messageId, Boolean isEmptyImethodresponseTag); CIMGetClassResponseMessage* _decodeGetClassResponse( XmlParser& parser, const String& messageId, Boolean isEmptyImethodresponseTag); CIMModifyClassResponseMessage* _decodeModifyClassResponse( XmlParser& parser, const String& messageId, Boolean isEmptyImethodresponseTag); CIMEnumerateClassNamesResponseMessage* _decodeEnumerateClassNamesResponse( XmlParser& parser, const String& messageId, Boolean isEmptyImethodresponseTag); CIMEnumerateClassesResponseMessage* _decodeEnumerateClassesResponse( XmlParser& parser, const String& messageId, Boolean isEmptyImethodresponseTag); CIMDeleteClassResponseMessage* _decodeDeleteClassResponse( XmlParser& parser, const String& messageId, Boolean isEmptyImethodresponseTag); CIMCreateInstanceResponseMessage* _decodeCreateInstanceResponse( XmlParser& parser, const String& messageId, Boolean isEmptyImethodresponseTag); CIMGetInstanceResponseMessage* _decodeGetInstanceResponse( XmlParser& parser, const String& messageId, Boolean isEmptyImethodresponseTag); CIMModifyInstanceResponseMessage* _decodeModifyInstanceResponse( XmlParser& parser, const String& messageId, Boolean isEmptyImethodresponseTag); CIMEnumerateInstanceNamesResponseMessage* _decodeEnumerateInstanceNamesResponse( XmlParser& parser, const String& messageId, Boolean isEmptyImethodresponseTag); CIMEnumerateInstancesResponseMessage* _decodeEnumerateInstancesResponse( XmlParser& parser, const String& messageId, Boolean isEmptyImethodresponseTag); CIMDeleteInstanceResponseMessage* _decodeDeleteInstanceResponse( XmlParser& parser, const String& messageId, Boolean isEmptyImethodresponseTag); CIMGetPropertyResponseMessage* _decodeGetPropertyResponse( XmlParser& parser, const String& messageId, Boolean isEmptyImethodresponseTag); CIMSetPropertyResponseMessage* _decodeSetPropertyResponse( XmlParser& parser, const String& messageId, Boolean isEmptyImethodresponseTag); CIMSetQualifierResponseMessage* _decodeSetQualifierResponse( XmlParser& parser, const String& messageId, Boolean isEmptyImethodresponseTag); CIMGetQualifierResponseMessage* _decodeGetQualifierResponse( XmlParser& parser, const String& messageId, Boolean isEmptyImethodresponseTag); CIMEnumerateQualifiersResponseMessage* _decodeEnumerateQualifiersResponse( XmlParser& parser, const String& messageId, Boolean isEmptyImethodresponseTag); CIMDeleteQualifierResponseMessage* _decodeDeleteQualifierResponse( XmlParser& parser, const String& messageId, Boolean isEmptyImethodresponseTag); CIMReferenceNamesResponseMessage* _decodeReferenceNamesResponse( XmlParser& parser, const String& messageId, Boolean isEmptyImethodresponseTag); CIMReferencesResponseMessage* _decodeReferencesResponse( XmlParser& parser, const String& messageId, Boolean isEmptyImethodresponseTag); CIMAssociatorNamesResponseMessage* _decodeAssociatorNamesResponse( XmlParser& parser, const String& messageId, Boolean isEmptyImethodresponseTag); CIMAssociatorsResponseMessage* _decodeAssociatorsResponse( XmlParser& parser, const String& messageId, Boolean isEmptyImethodresponseTag); CIMExecQueryResponseMessage* _decodeExecQueryResponse( XmlParser& parser, const String& messageId, Boolean isEmptyImethodresponseTag); CIMInvokeMethodResponseMessage* _decodeInvokeMethodResponse( XmlParser& parser, const String& messageId, const String& methodName, Boolean isEmptyMethodresponseTag); MessageQueue* _outputQueue; MessageQueue* _encoderQueue; ClientAuthenticator* _authenticator; ClientPerfDataStore* dataStore; }; PEGASUS_NAMESPACE_END #endif /* Pegasus_CIMOperationResponseDecoder_h */
No CVS admin address has been configured |
Powered by ViewCVS 0.9.2 |