// Copyright 2021 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_DESKTOP_DISPLAY_INFO_MONITOR_H_ #define REMOTING_HOST_DESKTOP_DISPLAY_INFO_MONITOR_H_ #include <memory> #include "base/callback_list.h" #include "base/functional/callback.h" #include "base/memory/scoped_refptr.h" #include "base/memory/weak_ptr.h" #include "base/sequence_checker.h" #include "base/timer/timer.h" #include "remoting/host/desktop_display_info.h" #include "remoting/host/desktop_display_info_loader.h" namespace base { class SequencedTaskRunner; } // namespace base namespace remoting { // This class regularly queries the OS for any changes to the multi-monitor // display configuration, and reports any changes to the registered callbacks. // This class ensures that the DisplayInfo is fetched on the UI thread, which // may be different from the calling thread. This is helpful on platforms where // REMOTING_MULTI_PROCESS == false, allowing this class to be used on the // network thread. When REMOTING_MULTI_PROCESS == true, this instance lives in // the Desktop process. class DesktopDisplayInfoMonitor { … }; } // namespace remoting #endif // REMOTING_HOST_DESKTOP_DISPLAY_INFO_MONITOR_H_