diff options
Diffstat (limited to 'remoting/protocol/session.h')
-rw-r--r-- | remoting/protocol/session.h | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/remoting/protocol/session.h b/remoting/protocol/session.h index 7041486..daa12e4 100644 --- a/remoting/protocol/session.h +++ b/remoting/protocol/session.h @@ -7,7 +7,6 @@ #include <string> -#include "remoting/protocol/channel_factory.h" #include "remoting/protocol/errors.h" #include "remoting/protocol/session_config.h" @@ -18,12 +17,13 @@ class IPEndPoint; namespace remoting { namespace protocol { +class ChannelFactory; struct TransportRoute; // Generic interface for Chromotocol connection used by both client and host. // Provides access to the connection channels, but doesn't depend on the // protocol used for each channel. -class Session : public ChannelFactory { +class Session { public: enum State { // Created, but not connecting yet. @@ -98,6 +98,12 @@ class Session : public ChannelFactory { // ChromotocolServer::IncomingConnectionCallback. virtual void set_config(const SessionConfig& config) = 0; + // GetTransportChannelFactory() returns a factory that creates a new transport + // channel for each logical channel. GetMultiplexedChannelFactory() channels + // share a single underlying transport channel + virtual ChannelFactory* GetTransportChannelFactory() = 0; + virtual ChannelFactory* GetMultiplexedChannelFactory() = 0; + // Closes connection. Callbacks are guaranteed not to be called // after this method returns. Must be called before the object is // destroyed, unless the state is set to FAILED or CLOSED. |