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