[go: nahoru, domu]

blob: 7ccaaeb47158e41f879516605ec875536e462c26 [file] [log] [blame]
// Copyright 2013 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef REMOTING_HOST_IPC_SCREEN_CONTROLS_H_
#define REMOTING_HOST_IPC_SCREEN_CONTROLS_H_
#include "base/memory/scoped_refptr.h"
#include "remoting/host/base/screen_controls.h"
namespace remoting {
class DesktopSessionProxy;
class ScreenResolution;
class IpcScreenControls : public ScreenControls {
public:
explicit IpcScreenControls(
scoped_refptr<DesktopSessionProxy> desktop_session_proxy);
IpcScreenControls(const IpcScreenControls&) = delete;
IpcScreenControls& operator=(const IpcScreenControls&) = delete;
~IpcScreenControls() override;
// ScreenControls interface.
void SetScreenResolution(const ScreenResolution& resolution,
absl::optional<webrtc::ScreenId> screen_id) override;
void SetVideoLayout(const protocol::VideoLayout& video_layout) override;
private:
// Wraps the IPC channel to the desktop session agent.
scoped_refptr<DesktopSessionProxy> desktop_session_proxy_;
};
} // namespace remoting
#endif // REMOTING_HOST_IPC_SCREEN_CONTROLS_H_