Home | History | Annotate | Download | only in host
      1 // 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 
      8 #include <string>
      9 
     10 #include "base/basictypes.h"
     11 #include "base/compiler_specific.h"
     12 #include "base/memory/scoped_ptr.h"
     13 #include "base/memory/weak_ptr.h"
     14 
     15 namespace remoting {
     16 
     17 class HostStatusMonitor;
     18 
     19 class HostEventLogger {
     20  public:
     21   virtual ~HostEventLogger() {}
     22 
     23   // Creates an event-logger that monitors host status changes and logs
     24   // corresponding events to the OS-specific log (syslog/EventLog).
     25   static scoped_ptr<HostEventLogger> Create(
     26       base::WeakPtr<HostStatusMonitor> monitor,
     27       const std::string& application_name);
     28 
     29  protected:
     30   HostEventLogger() {}
     31 
     32  private:
     33   DISALLOW_COPY_AND_ASSIGN(HostEventLogger);
     34 };
     35 
     36 }
     37 
     38 #endif  // REMOTING_HOST_HOST_EVENT_LOGGER_H_
     39