client_stub.h revision b2df76ea8fec9e32f6f3718986dba0d95315b29c
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 PairingResponse;
22
23class ClientStub : public ClipboardStub,
24                   public CursorShapeStub {
25 public:
26  ClientStub() {}
27  virtual ~ClientStub() {}
28
29  // Passes the set of capabilities supported by the host to the client.
30  virtual void SetCapabilities(const Capabilities& capabilities) = 0;
31
32  // Passes a pairing response message to the client.
33  // TODO(jamiewalch): Make this pure virtual once the PIN-less authentication
34  // implementation CLs have landed.
35  virtual void SetPairingResponse(const PairingResponse& pairing_response) {}
36
37 private:
38  DISALLOW_COPY_AND_ASSIGN(ClientStub);
39};
40
41}  // namespace protocol
42}  // namespace remoting
43
44#endif  // REMOTING_PROTOCOL_CLIENT_STUB_H_
45