Basic SOAP client, reworked transport streams.
[shibboleth/cpp-xmltooling.git] / xmltooling / soap / SOAPTransport.h
index c25f43d..395a327 100644 (file)
@@ -110,12 +110,20 @@ namespace xmltooling {
 #endif
 
         /**
-         * Sends a stream of data over the transport, and writes the results into another.
+         * Sends a stream of data over the transport. The function may return without
+         * having received any data, depending on the nature of the transport.
          * 
          * @param in    input stream to send
-         * @param out   output stream to write result into 
          */        
-        virtual size_t send(std::istream& in, std::ostream& out)=0;
+        virtual void send(std::istream& in)=0;
+        
+        /**
+         * Returns reference to response stream.  The resulting stream must be
+         * checked directly to determine whether data is available.
+         * 
+         * @return  reference to a stream containing the response, if any
+         */
+        virtual std::istream& receive()=0;
         
         /**
          * Returns the MIME type of the response, if any.