1eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch// Copyright 2013 The Chromium Authors. All rights reserved. 2eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch// Use of this source code is governed by a BSD-style license that can be 3eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch// found in the LICENSE file. 4eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch 5eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#ifndef CHROME_BROWSER_CHROMEOS_SYSTEM_AUTOMATIC_REBOOT_MANAGER_OBSERVER_H_ 6eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#define CHROME_BROWSER_CHROMEOS_SYSTEM_AUTOMATIC_REBOOT_MANAGER_OBSERVER_H_ 7eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch 8eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdochnamespace chromeos { 9eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdochnamespace system { 10eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch 11eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdochclass AutomaticRebootManagerObserver { 12eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch public: 13eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch enum Reason { 14eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch REBOOT_REASON_UNKNOWN, 15eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch REBOOT_REASON_OS_UPDATE, 16eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch REBOOT_REASON_PERIODIC, 17eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch }; 18eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch 19eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch // Invoked when a reboot is scheduled. 20eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch virtual void OnRebootScheduled(Reason reason) = 0; 21eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch 22eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch // Invoked before the automatic reboot manager is destroyed. 23eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch virtual void WillDestroyAutomaticRebootManager() = 0; 24eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch 25eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch protected: 26eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch virtual ~AutomaticRebootManagerObserver() {} 27eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch}; 28eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch 29eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch} // namespace system 30eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch} // namespace chromeos 31eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch 32eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#endif // CHROME_BROWSER_CHROMEOS_SYSTEM_AUTOMATIC_REBOOT_MANAGER_OBSERVER_H_ 33