// Copyright (c) 2012 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // Interface for a device that receives input events. // This interface handles input event messages defined in event.proto. #ifndef REMOTING_PROTOCOL_INPUT_STUB_H_ #define REMOTING_PROTOCOL_INPUT_STUB_H_ #include "base/basictypes.h" namespace remoting { namespace protocol { class KeyEvent; class TextEvent; class MouseEvent; class InputStub { public: InputStub() {} virtual ~InputStub() {} // Implementations must never assume the presence of any |event| fields, // nor assume that their contents are valid. virtual void InjectKeyEvent(const KeyEvent& event) = 0; virtual void InjectTextEvent(const TextEvent& event) = 0; virtual void InjectMouseEvent(const MouseEvent& event) = 0; private: DISALLOW_COPY_AND_ASSIGN(InputStub); }; } // namespace protocol } // namespace remoting #endif // REMOTING_PROTOCOL_INPUT_STUB_H_