version 1.19, 2006/01/30 16:17:49
|
version 1.20, 2006/10/06 17:38:54
|
|
|
// | // |
//============================================================================== | //============================================================================== |
// | // |
// Author: Mike Brasher (mbrasher@bmc.com) |
|
// |
|
// Modified By: Nitin Upasani, Hewlett-Packard Company (Nitin_Upasani@hp.com) |
|
// Nag Boranna, Hewlett-Packard Company (nagaraja_boranna@hp.com) |
|
// Yi Zhou, Hewlett-Packard Company (yi_zhou@hp.com) |
|
// Amit K Arora, IBM (amita@in.ibm.com) for PEP#101 |
|
// Roger Kumpf, Hewlett-Packard Company (roger_kumpf@hp.com) |
|
// David Dillard, VERITAS Software Corp. |
|
// (david.dillard@veritas.com) |
|
// John Alex, IBM (johnalex@us.ibm.com) - Bug#2290 |
|
// |
|
//%///////////////////////////////////////////////////////////////////////////// | //%///////////////////////////////////////////////////////////////////////////// |
| |
#ifndef Pegasus_CIMExportResponseDecoder_h | #ifndef Pegasus_CIMExportResponseDecoder_h |
|
|
#include <Pegasus/Common/AutoPtr.h> | #include <Pegasus/Common/AutoPtr.h> |
#include <Pegasus/Client/ClientAuthenticator.h> | #include <Pegasus/Client/ClientAuthenticator.h> |
#include <Pegasus/Client/CIMClientException.h> | #include <Pegasus/Client/CIMClientException.h> |
|
#include <Pegasus/ExportClient/HTTPExportResponseDecoder.h> |
#include <Pegasus/ExportClient/Linkage.h> | #include <Pegasus/ExportClient/Linkage.h> |
| |
PEGASUS_NAMESPACE_BEGIN | PEGASUS_NAMESPACE_BEGIN |
|
|
class XmlParser; | class XmlParser; |
| |
/** | /** |
This message is sent from the response decoder to the CIMClient, indicating |
The CIMExportResponseDecoder class receives HTTP messages and decodes them |
an error in issuing a CIM request. |
into CIM Export Response messages which it places on its output queue. |
*/ |
|
class 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_EXPORT_CLIENT_LINKAGE CIMExportResponseDecoder : public MessageQueue | class PEGASUS_EXPORT_CLIENT_LINKAGE CIMExportResponseDecoder : public MessageQueue |
{ | { |
| |
public: | public: |
| |
/** Constuctor. |
/** Constructor. |
@param outputQueue queue to receive decoded HTTP messages. | @param outputQueue queue to receive decoded HTTP messages. |
@param encoderQueue queue to receive CIM Operation Response messages. |
@param encoderQueue queue to receive CIM Export Response messages. |
@param authenticator client authenticator. | @param authenticator client authenticator. |
*/ | */ |
CIMExportResponseDecoder( | CIMExportResponseDecoder( |
|
|
void _handleHTTPMessage( | void _handleHTTPMessage( |
HTTPMessage* message); | HTTPMessage* message); |
| |
void _handleMethodResponse( |
|
char* content, |
|
Boolean cimReconnect); |
|
|
|
CIMExportIndicationResponseMessage* _decodeExportIndicationResponse( |
|
XmlParser& parser, |
|
const String& messageId, |
|
Boolean isEmptyMethodresponseTag); |
|
|
|
AutoPtr<MessageQueue> _outputQueue; //PEP101 | AutoPtr<MessageQueue> _outputQueue; //PEP101 |
AutoPtr<MessageQueue> _encoderQueue; //PEP101 | AutoPtr<MessageQueue> _encoderQueue; //PEP101 |
AutoPtr<ClientAuthenticator> _authenticator; //PEP101 | AutoPtr<ClientAuthenticator> _authenticator; //PEP101 |