Main Page   Class Hierarchy   Compound List   File List   Compound Members   Examples  

SOAPTransport.h

00001 /*
00002  *   Copyright 2003-2004 The Apache Software Foundation.
00003  *
00004  *   Licensed under the Apache License, Version 2.0 (the "License");
00005  *   you may not use this file except in compliance with the License.
00006  *   You may obtain a copy of the License at
00007  *
00008  *       http://www.apache.org/licenses/LICENSE-2.0
00009  *
00010  *   Unless required by applicable law or agreed to in writing, software
00011  *   distributed under the License is distributed on an "AS IS" BASIS,
00012  *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00013  *   See the License for the specific language governing permissions and
00014  *   limitations under the License.
00015  *
00016  * @author Susantha Kumara (skumara@virtusa.com, susantha@opensource.lk)
00017  * @author Samisa Abeysinghe (sabeysinghe@virtusa.com)
00018  *
00019  */
00020 
00021 /*
00022  * Revision 1.1  2004/05/31 samisa
00023  * Added setProxy
00024  */
00025 
00026 /*
00027  * Revision 1.2  2004/06/08 samisa
00028  * Added setTimeout
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_)

Generated on Tue Jun 15 19:13:23 2004 for axiscpp by doxygen1.2.18