/*
- * Copyright 2001-2007 Internet2
+ * Copyright 2001-2009 Internet2
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
{
MAKE_NONCOPYABLE(SOAPTransport);
protected:
- SOAPTransport() {}
+ SOAPTransport();
public:
- virtual ~SOAPTransport() {}
+ virtual ~SOAPTransport();
/**
* A simple structure to capture SOAP addressing information.
* @param value implementation- and option-specific string to use
* @return true iff the transport supports the option and value supplied
*/
- virtual bool setProviderOption(const char* provider, const char* option, const char* value) {
- return false;
- }
+ virtual bool setProviderOption(const char* provider, const char* option, const char* value);
/**
* Sends a stream of data over the transport. The function may return without
virtual void send(std::istream& in)=0;
/**
+ * Sends an optional stream of data over the transport. The function may return without
+ * having received any data, depending on the nature of the transport.
+ *
+ * <p>If the parameter is omitted, a request may be issued with no body if the transport
+ * supports that feature.
+ *
+ * @param in input stream to send
+ */
+ virtual void send(std::istream* in=NULL);
+
+ /**
* Returns reference to response stream. The resulting stream must be
* checked directly to determine whether data is available.
*