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 of a client that receives commands from a Chromoting host.
6//
7// This interface is responsible for a subset of control messages sent to
8// the Chromoting client.
9
10#ifndef REMOTING_PROTOCOL_CLIENT_STUB_H_
11#define REMOTING_PROTOCOL_CLIENT_STUB_H_
12
13#include "base/basictypes.h"
14#include "remoting/protocol/clipboard_stub.h"
15#include "remoting/protocol/cursor_shape_stub.h"
16
17namespace remoting {
18namespace protocol {
19
20class Capabilities;
21class ExtensionMessage;
22class PairingResponse;
23
24class ClientStub : public ClipboardStub,
25                   public CursorShapeStub {
26 public:
27  ClientStub() {}
28  virtual ~ClientStub() {}
29
30  // Passes the set of capabilities supported by the host to the client.
31  virtual void SetCapabilities(const Capabilities& capabilities) = 0;
32
33  // Passes a pairing response message to the client.
34  virtual void SetPairingResponse(const PairingResponse& pairing_response) = 0;
35
36  // Deliver an extension message from the host to the client.
37  virtual void DeliverHostMessage(const ExtensionMessage& message) = 0;
38
39 private:
40  DISALLOW_COPY_AND_ASSIGN(ClientStub);
41};
42
43}  // namespace protocol
44}  // namespace remoting
45
46#endif  // REMOTING_PROTOCOL_CLIENT_STUB_H_
47