\section{Axis\-IOStream Class Reference}
\label{classAxisIOStream}\index{AxisIOStream@{AxisIOStream}}
Interface of the input/output stream of Axis transport. ISOAPTransport is derived from this interface. 


{\tt \#include $<$SOAPTransport.h$>$}

Inheritance diagram for Axis\-IOStream::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2cm]{classAxisIOStream}
\end{center}
\end{figure}
\subsection*{Public Methods}
\begin{CompactItemize}
\item 
virtual AXIS\_\-TRANSPORT\_\-STATUS {\bf send\-Bytes} (const char $\ast$pc\-Send\-Buffer, const void $\ast$p\-Bufferid)=0
\begin{CompactList}\small\item\em Sends a buffer to the transport layer.\item\end{CompactList}\item 
virtual AXIS\_\-TRANSPORT\_\-STATUS {\bf get\-Bytes} (char $\ast$pc\-Buffer, int $\ast$pi\-Ret\-Size)=0
\begin{CompactList}\small\item\em Gets a part of or full SOAP message.\item\end{CompactList}\end{CompactItemize}


\subsection{Detailed Description}
Interface of the input/output stream of Axis transport. ISOAPTransport is derived from this interface.

Interface of the input/output stream of Axis transport. The use of this interface is to avoid the parser being provided the full functionalies of {\bf SOAPTransport} {\rm (p.\,\pageref{classSOAPTransport})} interface 



\subsection{Member Function Documentation}
\index{AxisIOStream@{Axis\-IOStream}!getBytes@{getBytes}}
\index{getBytes@{getBytes}!AxisIOStream@{Axis\-IOStream}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual AXIS\_\-TRANSPORT\_\-STATUS Axis\-IOStream::get\-Bytes (char $\ast$ {\em pc\-Buffer}, int $\ast$ {\em pi\-Ret\-Size})\hspace{0.3cm}{\tt  [pure virtual]}}\label{classAxisIOStream_a1}


Gets a part of or full SOAP message.

Gets a part of or full SOAP message. A Caller may call this method multiple times to get parts of the SOAP message until the function return status says that no more data available.

\begin{Desc}
\item[Precondition: ]\par
Transport connection should have been established by calling Openconnection of the {\bf SOAPTransport} {\rm (p.\,\pageref{classSOAPTransport})}'s implementaion. \end{Desc}
\begin{Desc}
\item[Parameters: ]\par
\begin{description}
\item[{\em 
pc\-Buffer}]The character buffer provided by the caller to be filled by the transport layer. The size of the buffer is given by the value of second parameter pi\-Ret\-Size. The transport layer should fill the buffer and put the number of bytes filled into the inout parameter pi\-Ret\-Size. \item[{\em 
pi\-Ret\-Size}]Inout parameter which contain the size of the buffer as the in value. On return the transport layer should populate this parameter with the number of bytes copied to the buffer.\end{description}
\end{Desc}
\begin{Desc}
\item[Returns: ]\par
Transport status. Three states are possible. They are, TRANSPORT\_\-FINISHED - Method call successful. No more data is available. If pc\-Buffer contains any data this is the final part of the message. can re-use the buffer. TRANSPORT\_\-IN\_\-PROGRESS - Method call is successful. There can be more data of this message for subsequent calls to this method. pc\-Buffer must have been filled to its maximum capacity. TRANSPORT\_\-FAILED - Transport layer has failed. So the caller should not call this method again. Any data in the pc\-Buffer are not reliable and should not be used. \end{Desc}
\index{AxisIOStream@{Axis\-IOStream}!sendBytes@{sendBytes}}
\index{sendBytes@{sendBytes}!AxisIOStream@{Axis\-IOStream}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual AXIS\_\-TRANSPORT\_\-STATUS Axis\-IOStream::send\-Bytes (const char $\ast$ {\em pc\-Send\-Buffer}, const void $\ast$ {\em p\-Bufferid})\hspace{0.3cm}{\tt  [pure virtual]}}\label{classAxisIOStream_a0}


Sends a buffer to the transport layer.

Sends a buffer to the transport layer. A Caller may call this method multiple times to send several buffers. Its upto the transport to decide how they are sent (chunked/unchunked etc). But should return the appropriate status code.

\begin{Desc}
\item[Precondition: ]\par
1. Transport connection should have been established by calling Openconnection of the {\bf SOAPTransport} {\rm (p.\,\pageref{classSOAPTransport})}'s implementaion. 2. If the implementaion of {\bf SOAPTransport} {\rm (p.\,\pageref{classSOAPTransport})} intends to accumulate \end{Desc}
\begin{Desc}
\item[Parameters: ]\par
\begin{description}
\item[{\em 
pc\-Send\-Buffer}]Null terminated character buffer to be sent. \item[{\em 
p\-Bufferid}]void$\ast$ that represents the buffer id. This pointer will only be needed by the transport layer when it needs to call caller provided callback function to indicate that transport layer has finished using the buffer. So when the transport layer intends to keep the pc\-Send\-Buffer for late sending, the value of p\-Bufferid should also be stored. In case when p\-Bufferid is NULL the transport layer can keep the buffer for late sending. But MUST never call the release buffer callback.\end{description}
\end{Desc}
\begin{Desc}
\item[Returns: ]\par
Transport status. Three states are possible. They are, TRANSPORT\_\-FINISHED - Passed buffer has been sent. So the caller can re-use the buffer TRANSPORT\_\-IN\_\-PROGRESS - Passed buffer is not yet sent. So the caller cannot re-use the buffer TRANSPORT\_\-FAILED - Transport layer has failed. So the caller should not send any more buffers. \end{Desc}
\begin{Desc}
\item[Postcondition: ]\par
In case this function returns TRANSPORT\_\-IN\_\-PROGRESS. The caller should wait till the transport layer calls the provided callback function with the bufferid to indicate that it can re-use the buffer. The transport layer MUST call the callback function for each buffer for which this function returned the status code TRANSPORT\_\-IN\_\-PROGRESS. \end{Desc}


The documentation for this class was generated from the following file:\begin{CompactItemize}
\item 
{\bf SOAPTransport.h}\end{CompactItemize}
