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: 22 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