1 // Copyright 2014 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 #ifndef REMOTING_HOST_HOST_EXTENSION_SESSION_H_ 6 #define REMOTING_HOST_HOST_EXTENSION_SESSION_H_ 7 8 namespace remoting { 9 10 namespace protocol { 11 class ExtensionMessage; 12 } // namespace protocol 13 14 class ClientSession; 15 16 // Created by an |HostExtension| to store |ClientSession| specific state, and to 17 // handle extension messages. 18 class HostExtensionSession { 19 public: 20 virtual ~HostExtensionSession() {} 21 22 // Called when the host receives an |ExtensionMessage| for the |ClientSession| 23 // associated with this |HostExtensionSession|. 24 // It returns |true| if the message was handled, and |false| otherwise. 25 virtual bool OnExtensionMessage( 26 ClientSession* client_session, 27 const protocol::ExtensionMessage& message) = 0; 28 }; 29 30 } // namespace remoting 31 32 #endif // REMOTING_HOST_HOST_EXTENSION_SESSION_H_ 33 34