blob: 6fc9b756a53a32b1619a7b3607f1d8d41039220f [file] [log] [blame]
// Copyright 2012 Google Inc. All Rights Reserved.
// Author: kedong@google.com (Ke Dong)
#ifndef BRUNO_PLATFORM_PERIPHERAL_H_
#define BRUNO_PLATFORM_PERIPHERAL_H_
namespace bruno_platform_peripheral {
class FanControl;
class TempMonitor;
class PeripheralMon;
class Platform;
class PlatformPeripheral {
public:
static bool Init(unsigned int monitor_interval,
unsigned int hdd_temp_interval);
static void Run(void);
static bool Terminate(void);
PlatformPeripheral(Platform *platform);
~PlatformPeripheral();
private:
bruno_base::Thread* mgr_thread_;
bruno_base::scoped_ptr<PeripheralMon> peripheral_mon_;
static bruno_base::CriticalSection kCrit_;
static PlatformPeripheral* kInstance_;
DISALLOW_IMPLICIT_CONSTRUCTORS(PlatformPeripheral);
};
} // namespace bruno_platform_peripheral
#endif // BRUNO_PLATFORM_PERIPHERAL_H_