Chromium Code Reviews| Index: remoting/protocol/connection_to_client.h |
| diff --git a/remoting/protocol/connection_to_client.h b/remoting/protocol/connection_to_client.h |
| index 769b0a8fe51aa81e8aceb976f27be78bead1ec54..9f62b7916122cf8fd1448f8a8779826548e9ab97 100644 |
| --- a/remoting/protocol/connection_to_client.h |
| +++ b/remoting/protocol/connection_to_client.h |
| @@ -11,7 +11,6 @@ |
| #include "base/message_loop.h" |
| #include "base/ref_counted.h" |
| #include "base/scoped_ptr.h" |
| -#include "remoting/protocol/message_reader.h" |
| #include "remoting/protocol/session.h" |
| #include "remoting/protocol/stream_writer.h" |
| #include "remoting/protocol/video_writer.h" |
| @@ -20,6 +19,9 @@ namespace remoting { |
| namespace protocol { |
| class ClientStub; |
| +class HostStub; |
| +class InputStub; |
| +class HostMessageDispatcher; |
| // This class represents a remote viewer connected to the chromoting host |
| // through a libjingle connection. A viewer object is responsible for sending |
| @@ -27,19 +29,12 @@ class ClientStub; |
| // responsible for receiving and parsing data from the remote viewer and |
| // delegating events to the event handler. |
| class ConnectionToClient : |
| - public base::RefCountedThreadSafe<ConnectionToClient> { |
| + public base::RefCountedThreadSafe<ConnectionToClient> { |
|
awong
2010/11/12 01:40:10
I thought this should only be indent 4 spaces?
Alpha Left Google
2010/11/12 22:56:40
Done.
|
| public: |
| class EventHandler { |
| public: |
| virtual ~EventHandler() {} |
| - // Handles an event received by the ConnectionToClient. Receiver will own |
| - // the ClientMessages in ClientMessageList and needs to delete them. |
| - // Note that the sender of messages will not reference messages |
| - // again so it is okay to clear |messages| in this method. |
| - virtual void HandleMessage(ConnectionToClient* connection, |
| - ChromotingClientMessage* message) = 0; |
| - |
| // Called when the network connection is opened. |
| virtual void OnConnectionOpened(ConnectionToClient* connection) = 0; |
| @@ -55,7 +50,9 @@ class ConnectionToClient : |
| // a libjingle channel, these events are delegated to |handler|. |
| // It is guranteed that |handler| is called only on the |message_loop|. |
| ConnectionToClient(MessageLoop* message_loop, |
| - EventHandler* handler); |
| + EventHandler* handler, |
| + HostStub* host_stub, |
| + InputStub* input_stub); |
| virtual ~ConnectionToClient(); |
| @@ -90,21 +87,14 @@ class ConnectionToClient : |
| // Callback for protocol Session. |
| void OnSessionStateChange(protocol::Session::State state); |
| - // Callback for MessageReader. |
| - void OnMessageReceived(ChromotingClientMessage* message); |
| - |
| // Process a libjingle state change event on the |loop_|. |
| void StateChangeTask(protocol::Session::State state); |
| - // Process a data buffer received from libjingle. |
| - void MessageReceivedTask(ChromotingClientMessage* message); |
| - |
| void OnClosed(); |
| // The libjingle channel used to send and receive data from the remote client. |
| scoped_refptr<protocol::Session> session_; |
| - MessageReader event_reader_; |
| scoped_ptr<VideoWriter> video_writer_; |
| // ClientStub for sending messages to the client. |
| @@ -116,6 +106,15 @@ class ConnectionToClient : |
| // Event handler for handling events sent from this object. |
| EventHandler* handler_; |
| + // HostStub for receiving control events from the client. |
| + HostStub* host_stub_; |
| + |
| + // InputStub for receiving input events from the client. |
| + InputStub* input_stub_; |
| + |
| + // Dispatcher for submitting messages to stubs. |
| + scoped_ptr<HostMessageDispatcher> dispatcher_; |
| + |
| DISALLOW_COPY_AND_ASSIGN(ConnectionToClient); |
| }; |