Home | History | Annotate | Download | only in power
      1 // Copyright 2013 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 #include "chrome/browser/chromeos/power/idle_action_warning_observer.h"
      6 
      7 #include "chrome/browser/chromeos/power/idle_action_warning_dialog_view.h"
      8 #include "chromeos/dbus/dbus_thread_manager.h"
      9 
     10 namespace chromeos {
     11 
     12 IdleActionWarningObserver::IdleActionWarningObserver() : warning_dialog_(NULL) {
     13   DBusThreadManager::Get()->GetPowerManagerClient()->AddObserver(this);
     14 }
     15 
     16 IdleActionWarningObserver::~IdleActionWarningObserver() {
     17   DBusThreadManager::Get()->GetPowerManagerClient()->RemoveObserver(this);
     18   if (warning_dialog_)
     19     warning_dialog_->CloseDialog();
     20 }
     21 
     22 void IdleActionWarningObserver::IdleActionImminent() {
     23   if (!warning_dialog_)
     24     warning_dialog_ = new IdleActionWarningDialogView;
     25 }
     26 
     27 void IdleActionWarningObserver::IdleActionDeferred() {
     28   if (warning_dialog_)
     29     warning_dialog_->CloseDialog();
     30   warning_dialog_ = NULL;
     31 }
     32 
     33 }  // namespace chromeos
     34