blob: 8d950bb695469d24744250ccdc8f4f93e8755933 [file] [log] [blame]
// 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_