00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031 #if !defined(AXIS_SOAPTRANSPORT_H__OF_AXIS_INCLUDED_)
00032 #define AXIS_SOAPTRANSPORT_H__OF_AXIS_INCLUDED_
00033
00034 #include <axis/server/Packet.h>
00035
00042 #ifdef __cplusplus
00043
00049 class AxisIOStream
00050 {
00051 public:
00086 virtual AXIS_TRANSPORT_STATUS sendBytes(const char* pcSendBuffer, const void* pBufferid)=0;
00118 virtual AXIS_TRANSPORT_STATUS getBytes(char* pcBuffer, int* piRetSize)=0;
00119 };
00129 class SOAPTransport : public AxisIOStream
00130 {
00131 public:
00132 virtual ~SOAPTransport(){};
00145 virtual int openConnection()=0;
00150 virtual void closeConnection()=0;
00160 virtual void registerReleaseBufferCallback(
00161 AXIS_ENGINE_CALLBACK_RELEASE_SEND_BUFFER pFunct)=0;
00173 virtual void setTransportProperty(AXIS_TRANSPORT_INFORMATION_TYPE eType,
00174 const char* pcValue)=0;
00183 virtual const char* getTransportProperty(
00184 AXIS_TRANSPORT_INFORMATION_TYPE eType)=0;
00194 virtual void setTransportProperty(const char* pcKey, const char* pcValue)=0;
00202 virtual const char* getTransportProperty(const char* pcKey)=0;
00215 virtual void setAttachment(const char* pcAttachmentid, const char* pcAttachment)=0;
00231 virtual const char* getAttachment(const char* pcAttachmentid)=0;
00245 virtual void setEndpointUri(const char* pcEndpointUri)=0;
00253 virtual void setSessionId(const char* pcSessionId)=0;
00261 virtual const char* getSessionId()=0;
00272 virtual const char* getServiceName()=0;
00281 virtual AXIS_PROTOCOL_TYPE getProtocol()=0;
00291 virtual int getSubProtocol()=0;
00298 virtual AXIS_TRANSPORT_STATUS flushOutput()=0;
00312 virtual void setProxy(const char* pcProxyHost, unsigned int uiProxyPort) {}
00313
00319 virtual void setTimeout(const long lSeconds) = 0;
00320
00321 protected:
00325 char* m_pcEndpointUri;
00331 AXIS_ENGINE_CALLBACK_RELEASE_SEND_BUFFER m_pReleaseBufferCallback;
00332
00333 };
00334
00335 #endif
00336
00337 #endif // !defined(AXIS_SOAPTRANSPORT_H__OF_AXIS_INCLUDED_)