Home | History | Annotate | Download | only in protocol
      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   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