Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / remoting / protocol / client_stub.h
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
17 namespace remoting {
18 namespace protocol {
19
20 class Capabilities;
21 class ExtensionMessage;
22 class PairingResponse;
23
24 class ClientStub : public ClipboardStub,
25                    public CursorShapeStub {
26  public:
27   ClientStub() {}
28   ~ClientStub() override {}
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_