blob: 22b1588c0eba7e08f79ad3d634fda713d2d9b4df [file] [log] [blame]
[email protected]a4605c52012-03-03 01:12:101// Copyright (c) 2012 The Chromium Authors. All rights reserved.
[email protected]409ac612011-11-18 04:05:572// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
[email protected]a4605c52012-03-03 01:12:105#ifndef REMOTING_PROTOCOL_CLIENT_EVENT_DISPATCHER_H_
6#define REMOTING_PROTOCOL_CLIENT_EVENT_DISPATCHER_H_
[email protected]409ac612011-11-18 04:05:577
[email protected]409ac612011-11-18 04:05:578#include "base/memory/ref_counted.h"
[email protected]2e8b52c2011-11-22 00:07:139#include "remoting/protocol/channel_dispatcher_base.h"
[email protected]409ac612011-11-18 04:05:5710#include "remoting/protocol/input_stub.h"
11
[email protected]409ac612011-11-18 04:05:5712namespace remoting {
13namespace protocol {
14
[email protected]409ac612011-11-18 04:05:5715// ClientEventDispatcher manages the event channel on the client
16// side. It implements InputStub for outgoing input messages.
[email protected]2e8b52c2011-11-22 00:07:1317class ClientEventDispatcher : public ChannelDispatcherBase, public InputStub {
[email protected]409ac612011-11-18 04:05:5718 public:
19 ClientEventDispatcher();
dcheng562aba52014-10-21 12:30:1420 ~ClientEventDispatcher() override;
[email protected]409ac612011-11-18 04:05:5721
[email protected]409ac612011-11-18 04:05:5722 // InputStub implementation.
dcheng562aba52014-10-21 12:30:1423 void InjectKeyEvent(const KeyEvent& event) override;
24 void InjectTextEvent(const TextEvent& event) override;
25 void InjectMouseEvent(const MouseEvent& event) override;
rkuroiwa0e68803f2015-02-26 19:41:4226 void InjectTouchEvent(const TouchEvent& event) override;
[email protected]409ac612011-11-18 04:05:5727
[email protected]409ac612011-11-18 04:05:5728 private:
[email protected]409ac612011-11-18 04:05:5729 DISALLOW_COPY_AND_ASSIGN(ClientEventDispatcher);
30};
31
32} // namespace protocol
33} // namespace remoting
34
[email protected]a4605c52012-03-03 01:12:1035#endif // REMOTING_PROTOCOL_CLIENT_EVENT_DISPATCHER_H_