1 // Copyright 2016 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_CLIENT_SESSION_DETAILS_H_ 6 #define REMOTING_HOST_CLIENT_SESSION_DETAILS_H_ 7 8 #include <cstdint> 9 10 namespace remoting { 11 12 class ClientSessionControl; 13 14 // Provides ClientSession control and state information to HostExtensions. 15 class ClientSessionDetails { 16 public: ~ClientSessionDetails()17 virtual ~ClientSessionDetails() {} 18 19 // Returns a ClientSessionControl interface pointer used to interact with the 20 // current session. 21 virtual ClientSessionControl* session_control() = 0; 22 23 // Returns the id of the current desktop session being remoted. If no session 24 // exists, UINT32_MAX is returned. 25 // Note: The return value should never be cached as it can change. 26 virtual uint32_t desktop_session_id() const = 0; 27 }; 28 29 } // namespace remoting 30 31 #endif // REMOTING_HOST_CLIENT_SESSION_DETAILS_H_ 32