ipc_screen_controls.h 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. // Copyright (c) 2013 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_IPC_SCREEN_CONTROLS_H_
  5. #define REMOTING_HOST_IPC_SCREEN_CONTROLS_H_
  6. #include "base/memory/ref_counted.h"
  7. #include "remoting/host/base/screen_controls.h"
  8. namespace remoting {
  9. class DesktopSessionProxy;
  10. class ScreenResolution;
  11. class IpcScreenControls : public ScreenControls {
  12. public:
  13. explicit IpcScreenControls(
  14. scoped_refptr<DesktopSessionProxy> desktop_session_proxy);
  15. IpcScreenControls(const IpcScreenControls&) = delete;
  16. IpcScreenControls& operator=(const IpcScreenControls&) = delete;
  17. ~IpcScreenControls() override;
  18. // ScreenControls interface.
  19. void SetScreenResolution(const ScreenResolution& resolution,
  20. absl::optional<webrtc::ScreenId> screen_id) override;
  21. private:
  22. // Wraps the IPC channel to the desktop session agent.
  23. scoped_refptr<DesktopSessionProxy> desktop_session_proxy_;
  24. };
  25. } // namespace remoting
  26. #endif // REMOTING_HOST_IPC_SCREEN_CONTROLS_H_