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 13namespace remoting { 14namespace protocol { 15 16class KeyEvent; 17class TextEvent; 18class MouseEvent; 19 20class 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