client_session_details.h 962 B

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