blob: e7ab5a93c3048244871f6c30cf0e8c2999555828 [file] [log] [blame]
[email protected]5fef8922012-01-13 22:38:241// Copyright (c) 2012 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
5#ifndef REMOTING_HOST_HOST_EVENT_LOGGER_H_
6#define REMOTING_HOST_HOST_EVENT_LOGGER_H_
7
dcheng0765c492016-04-06 22:41:538#include <memory>
[email protected]5fef8922012-01-13 22:38:249#include <string>
10
11#include "base/compiler_specific.h"
avic5960f32015-12-22 22:49:4812#include "base/macros.h"
[email protected]9cfb0c32013-03-02 04:27:4913#include "base/memory/weak_ptr.h"
[email protected]5fef8922012-01-13 22:38:2414
15namespace remoting {
16
[email protected]9cfb0c32013-03-02 04:27:4917class HostStatusMonitor;
[email protected]81448712012-01-17 20:30:1118
[email protected]01d0ea22012-03-02 16:51:4519class HostEventLogger {
[email protected]5fef8922012-01-13 22:38:2420 public:
[email protected]01d0ea22012-03-02 16:51:4521 virtual ~HostEventLogger() {}
[email protected]5fef8922012-01-13 22:38:2422
[email protected]01d0ea22012-03-02 16:51:4523 // Creates an event-logger that monitors host status changes and logs
24 // corresponding events to the OS-specific log (syslog/EventLog).
dcheng0765c492016-04-06 22:41:5325 static std::unique_ptr<HostEventLogger> Create(
[email protected]9cfb0c32013-03-02 04:27:4926 base::WeakPtr<HostStatusMonitor> monitor,
27 const std::string& application_name);
[email protected]01d0ea22012-03-02 16:51:4528
29 protected:
30 HostEventLogger() {}
[email protected]81448712012-01-17 20:30:1131
32 private:
[email protected]81448712012-01-17 20:30:1133 DISALLOW_COPY_AND_ASSIGN(HostEventLogger);
[email protected]5fef8922012-01-13 22:38:2434};
35
36}
37
38#endif // REMOTING_HOST_HOST_EVENT_LOGGER_H_