| // Copyright 2022 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef REMOTING_HOST_HOST_EVENT_REPORTER_H_ |
| #define REMOTING_HOST_HOST_EVENT_REPORTER_H_ |
| |
| #include <memory> |
| #include <string> |
| |
| #include "base/compiler_specific.h" |
| #include "base/memory/weak_ptr.h" |
| |
| namespace remoting { |
| |
| class HostStatusMonitor; |
| |
| class HostEventReporter { |
| public: |
| // Creates an event-reporter that monitors host status changes and |
| // forwards corresponding events to Encrypted Reporting Pipeline. |
| static std::unique_ptr<HostEventReporter> Create( |
| scoped_refptr<HostStatusMonitor> monitor); |
| |
| HostEventReporter(const HostEventReporter&) = delete; |
| HostEventReporter& operator=(const HostEventReporter&) = delete; |
| |
| virtual ~HostEventReporter() = default; |
| |
| protected: |
| HostEventReporter() = default; |
| }; |
| |
| } // namespace remoting |
| |
| #endif // REMOTING_HOST_HOST_EVENT_REPORTER_H_ |