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