Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / content / browser / battery_status / battery_status_manager_default.cc
index a8d066b..cd037cf 100644 (file)
@@ -8,24 +8,33 @@
 
 namespace content {
 
-BatteryStatusManager::BatteryStatusManager(
-    const BatteryStatusService::BatteryUpdateCallback& callback)
-    : callback_(callback) {
-}
+namespace {
 
-BatteryStatusManager::BatteryStatusManager() {
-}
+class BatteryStatusManagerDefault : public BatteryStatusManager {
+ public:
+  explicit BatteryStatusManagerDefault(
+      const BatteryStatusService::BatteryUpdateCallback& callback) {}
+  virtual ~BatteryStatusManagerDefault() {}
 
-BatteryStatusManager::~BatteryStatusManager() {
-}
+ private:
+  // BatteryStatusManager:
+  virtual bool StartListeningBatteryChange() OVERRIDE {
+    NOTIMPLEMENTED();
+    return false;
+  }
 
-bool BatteryStatusManager::StartListeningBatteryChange() {
-  NOTIMPLEMENTED();
-  return false;
-}
+  virtual void StopListeningBatteryChange() OVERRIDE { NOTIMPLEMENTED(); }
+
+  DISALLOW_COPY_AND_ASSIGN(BatteryStatusManagerDefault);
+};
+
+}  // namespace
 
-void BatteryStatusManager::StopListeningBatteryChange() {
-  NOTIMPLEMENTED();
+// static
+scoped_ptr<BatteryStatusManager> BatteryStatusManager::Create(
+    const BatteryStatusService::BatteryUpdateCallback& callback) {
+  return scoped_ptr<BatteryStatusManager>(
+      new BatteryStatusManagerDefault(callback));
 }
 
 }  // namespace content