diff options
author | hclam@chromium.org <hclam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-11-16 19:53:35 +0000 |
---|---|---|
committer | hclam@chromium.org <hclam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-11-16 19:53:35 +0000 |
commit | 6fd3d6a1648a754d8023924074612d55c187b4cf (patch) | |
tree | 102ac605e52b8cf1a4e423b5403a0302a5ee9f76 /remoting/protocol/host_message_dispatcher.cc | |
parent | 3e4155c723ab73c8f754a82d81f0eb247c83536f (diff) | |
download | chromium_src-6fd3d6a1648a754d8023924074612d55c187b4cf.zip chromium_src-6fd3d6a1648a754d8023924074612d55c187b4cf.tar.gz chromium_src-6fd3d6a1648a754d8023924074612d55c187b4cf.tar.bz2 |
Implement input stub in the host side for chromoting
Implement InputStub for the host.
BUG=None
TEST=None
Review URL: http://codereview.chromium.org/4726003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@66314 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'remoting/protocol/host_message_dispatcher.cc')
-rw-r--r-- | remoting/protocol/host_message_dispatcher.cc | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/remoting/protocol/host_message_dispatcher.cc b/remoting/protocol/host_message_dispatcher.cc index 7ad9cac..13fa803 100644 --- a/remoting/protocol/host_message_dispatcher.cc +++ b/remoting/protocol/host_message_dispatcher.cc @@ -2,6 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#include "base/ref_counted.h" #include "net/base/io_buffer.h" #include "remoting/proto/control.pb.h" #include "remoting/proto/event.pb.h" @@ -77,13 +78,24 @@ void HostMessageDispatcher::OnControlMessageReceived(ControlMessage* message) { new RefCountedMessage<ControlMessage>(message); if (message->has_suggest_resolution()) { host_stub_->SuggestResolution( - message->suggest_resolution(), NewDeleteTask(ref_msg)); + &message->suggest_resolution(), NewDeleteTask(ref_msg)); } } void HostMessageDispatcher::OnEventMessageReceived( EventMessage* message) { - // TODO(hclam): Implement. + scoped_refptr<RefCountedMessage<EventMessage> > ref_msg = + new RefCountedMessage<EventMessage>(message); + for (int i = 0; i < message->event_size(); ++i) { + if (message->event(i).has_key()) { + input_stub_->InjectKeyEvent( + &message->event(i).key(), NewDeleteTask(ref_msg)); + } + if (message->event(i).has_mouse()) { + input_stub_->InjectMouseEvent( + &message->event(i).mouse(), NewDeleteTask(ref_msg)); + } + } } } // namespace protocol |