• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 // Interface for a device that receives input events.
6 // This interface handles input event messages defined in event.proto.
7 
8 #ifndef REMOTING_PROTOCOL_INPUT_STUB_H_
9 #define REMOTING_PROTOCOL_INPUT_STUB_H_
10 
11 #include "base/basictypes.h"
12 
13 namespace remoting {
14 namespace protocol {
15 
16 class KeyEvent;
17 class TextEvent;
18 class MouseEvent;
19 
20 class InputStub {
21  public:
InputStub()22   InputStub() {}
~InputStub()23   virtual ~InputStub() {}
24 
25   // Implementations must never assume the presence of any |event| fields,
26   // nor assume that their contents are valid.
27   virtual void InjectKeyEvent(const KeyEvent& event) = 0;
28   virtual void InjectTextEvent(const TextEvent& event) = 0;
29   virtual void InjectMouseEvent(const MouseEvent& event) = 0;
30 
31  private:
32   DISALLOW_COPY_AND_ASSIGN(InputStub);
33 };
34 
35 }  // namespace protocol
36 }  // namespace remoting
37 
38 #endif  // REMOTING_PROTOCOL_INPUT_STUB_H_
39