host_event_reporter.h 977 B

123456789101112131415161718192021222324252627282930313233343536
  1. // Copyright 2022 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_HOST_EVENT_REPORTER_H_
  5. #define REMOTING_HOST_HOST_EVENT_REPORTER_H_
  6. #include <memory>
  7. #include <string>
  8. #include "base/compiler_specific.h"
  9. #include "base/memory/weak_ptr.h"
  10. namespace remoting {
  11. class HostStatusMonitor;
  12. class HostEventReporter {
  13. public:
  14. // Creates an event-reporter that monitors host status changes and
  15. // forwards corresponding events to Encrypted Reporting Pipeline.
  16. static std::unique_ptr<HostEventReporter> Create(
  17. scoped_refptr<HostStatusMonitor> monitor);
  18. HostEventReporter(const HostEventReporter&) = delete;
  19. HostEventReporter& operator=(const HostEventReporter&) = delete;
  20. virtual ~HostEventReporter() = default;
  21. protected:
  22. HostEventReporter() = default;
  23. };
  24. } // namespace remoting
  25. #endif // REMOTING_HOST_HOST_EVENT_REPORTER_H_