client_stub.h 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  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. // Interface of a client that receives commands from a Chromoting host.
  5. //
  6. // This interface is responsible for a subset of control messages sent to
  7. // the Chromoting client.
  8. #ifndef REMOTING_PROTOCOL_CLIENT_STUB_H_
  9. #define REMOTING_PROTOCOL_CLIENT_STUB_H_
  10. #include "remoting/protocol/clipboard_stub.h"
  11. #include "remoting/protocol/cursor_shape_stub.h"
  12. #include "remoting/protocol/keyboard_layout_stub.h"
  13. namespace remoting {
  14. namespace protocol {
  15. class Capabilities;
  16. class ExtensionMessage;
  17. class PairingResponse;
  18. class TransportInfo;
  19. class VideoLayout;
  20. class ClientStub : public ClipboardStub,
  21. public CursorShapeStub,
  22. public KeyboardLayoutStub {
  23. public:
  24. ClientStub() {}
  25. ClientStub(const ClientStub&) = delete;
  26. ClientStub& operator=(const ClientStub&) = delete;
  27. ~ClientStub() override {}
  28. // Passes the set of capabilities supported by the host to the client.
  29. virtual void SetCapabilities(const Capabilities& capabilities) = 0;
  30. // Passes a pairing response message to the client.
  31. virtual void SetPairingResponse(const PairingResponse& pairing_response) = 0;
  32. // Deliver an extension message from the host to the client.
  33. virtual void DeliverHostMessage(const ExtensionMessage& message) = 0;
  34. // Sets video layout.
  35. virtual void SetVideoLayout(const VideoLayout& video_layout) = 0;
  36. // Passes the host's transport info to the client.
  37. virtual void SetTransportInfo(const TransportInfo& transport_info) = 0;
  38. };
  39. } // namespace protocol
  40. } // namespace remoting
  41. #endif // REMOTING_PROTOCOL_CLIENT_STUB_H_