| Index: remoting/protocol/transport.h
|
| diff --git a/remoting/protocol/transport.h b/remoting/protocol/transport.h
|
| index d4c4b3f8d8fa466017052c372e3764cf89c78fbc..eb20e12a3c382c1a7218d566402595baaf24be10 100644
|
| --- a/remoting/protocol/transport.h
|
| +++ b/remoting/protocol/transport.h
|
| @@ -87,15 +87,14 @@
|
| virtual void OnTransportDeleted(Transport* transport) = 0;
|
| };
|
|
|
| - typedef base::Callback<void(scoped_ptr<net::Socket>)> ConnectedCallback;
|
| -
|
| Transport() {}
|
| virtual ~Transport() {}
|
|
|
| - // Connects the transport and calls the |callback| after that.
|
| - virtual void Connect(const std::string& name,
|
| - Transport::EventHandler* event_handler,
|
| - const ConnectedCallback& callback) = 0;
|
| + // Intialize the transport with the specified parameters.
|
| + // |authenticator| is used to secure and authenticate the connection.
|
| + virtual void Initialize(const std::string& name,
|
| + Transport::EventHandler* event_handler,
|
| + scoped_ptr<ChannelAuthenticator> authenticator) = 0;
|
|
|
| // Adds |candidate| received from the peer.
|
| virtual void AddRemoteCandidate(const cricket::Candidate& candidate) = 0;
|
| @@ -112,6 +111,32 @@
|
| DISALLOW_COPY_AND_ASSIGN(Transport);
|
| };
|
|
|
| +class StreamTransport : public Transport {
|
| + public:
|
| + typedef base::Callback<void(scoped_ptr<net::StreamSocket>)> ConnectedCallback;
|
| +
|
| + StreamTransport() { }
|
| + virtual ~StreamTransport() { }
|
| +
|
| + virtual void Connect(const ConnectedCallback& callback) = 0;
|
| +
|
| + private:
|
| + DISALLOW_COPY_AND_ASSIGN(StreamTransport);
|
| +};
|
| +
|
| +class DatagramTransport : public Transport {
|
| + public:
|
| + typedef base::Callback<void(scoped_ptr<net::Socket>)> ConnectedCallback;
|
| +
|
| + DatagramTransport() { }
|
| + virtual ~DatagramTransport() { }
|
| +
|
| + virtual void Connect(const ConnectedCallback& callback) = 0;
|
| +
|
| + private:
|
| + DISALLOW_COPY_AND_ASSIGN(DatagramTransport);
|
| +};
|
| +
|
| class TransportFactory {
|
| public:
|
| TransportFactory() { }
|
| @@ -123,7 +148,8 @@
|
| // necessary while the session is being authenticated.
|
| virtual void PrepareTokens() = 0;
|
|
|
| - virtual scoped_ptr<Transport> CreateTransport() = 0;
|
| + virtual scoped_ptr<StreamTransport> CreateStreamTransport() = 0;
|
| + virtual scoped_ptr<DatagramTransport> CreateDatagramTransport() = 0;
|
|
|
| private:
|
| DISALLOW_COPY_AND_ASSIGN(TransportFactory);
|
|
|