Add the plumbing that will carry a clipboard item from a chromoting client to a host.

BUG=117473


Review URL: http://codereview.chromium.org/9646013

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@127195 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/remoting/host/client_session.h b/remoting/host/client_session.h
index 31ac079..6103c08 100644
--- a/remoting/host/client_session.h
+++ b/remoting/host/client_session.h
@@ -10,9 +10,10 @@
 
 #include "base/time.h"
 #include "base/threading/non_thread_safe.h"
+#include "remoting/protocol/clipboard_stub.h"
 #include "remoting/protocol/connection_to_client.h"
+#include "remoting/protocol/host_event_stub.h"
 #include "remoting/protocol/host_stub.h"
-#include "remoting/protocol/input_stub.h"
 #include "third_party/skia/include/core/SkPoint.h"
 
 namespace remoting {
@@ -21,8 +22,8 @@
 
 // A ClientSession keeps a reference to a connection to a client, and maintains
 // per-client state.
-class ClientSession : public protocol::HostStub,
-                      public protocol::InputStub,
+class ClientSession : public protocol::HostEventStub,
+                      public protocol::HostStub,
                       public protocol::ConnectionToClient::EventHandler,
                       public base::NonThreadSafe {
  public:
@@ -57,13 +58,17 @@
   };
 
   // Takes ownership of |connection|. Does not take ownership of
-  // |event_handler|, |input_stub| or |capturer|.
+  // |event_handler|, |host_event_stub|, or |capturer|.
   ClientSession(EventHandler* event_handler,
                 protocol::ConnectionToClient* connection,
-                protocol::InputStub* input_stub,
+                protocol::HostEventStub* host_event_stub,
                 Capturer* capturer);
   virtual ~ClientSession();
 
+  // protocol::ClipboardStub interface.
+  virtual void InjectClipboardEvent(
+      const protocol::ClipboardEvent& event) OVERRIDE;
+
   // protocol::InputStub interface.
   virtual void InjectKeyEvent(const protocol::KeyEvent& event) OVERRIDE;
   virtual void InjectMouseEvent(const protocol::MouseEvent& event) OVERRIDE;
@@ -130,8 +135,8 @@
 
   std::string client_jid_;
 
-  // The input stub to which this object delegates.
-  protocol::InputStub* input_stub_;
+  // The host event stub to which this object delegates.
+  protocol::HostEventStub* host_event_stub_;
 
   // Capturer, used to determine current screen size for ensuring injected
   // mouse events fall within the screen area.