Movatterモバイル変換


[0]ホーム

URL:


Google Git
Sign in
chromium /chromium /src /refs/heads/main /. /ash /shutdown_controller_impl.h
blob: 106276c06ca4ecac21de78bea9aa76f6ea41a1b0 [file] [log] [blame] [edit]
// Copyright 2016 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef ASH_SHUTDOWN_CONTROLLER_IMPL_H_
#define ASH_SHUTDOWN_CONTROLLER_IMPL_H_
#include"ash/ash_export.h"
#include"ash/public/cpp/shutdown_controller.h"
#include"base/observer_list.h"
namespace ash{
enumclassShutdownReason;
// Handles actual device shutdown by making requests to powerd over D-Bus.
// Caches the DeviceRebootOnShutdown device policy sent from Chrome.
class ASH_EXPORTShutdownControllerImpl:publicShutdownController{
public:
classObserver{
public:
virtual~Observer(){}
// Called when shutdown policy changes.
virtualvoidOnShutdownPolicyChanged(bool reboot_on_shutdown)=0;
};
ShutdownControllerImpl();
ShutdownControllerImpl(constShutdownControllerImpl&)=delete;
ShutdownControllerImpl&operator=(constShutdownControllerImpl&)=delete;
~ShutdownControllerImpl()override;
voidAddObserver(Observer* observer);
voidRemoveObserver(Observer* observer);
bool reboot_on_shutdown()const{return reboot_on_shutdown_;}
// ShutdownController:
voidSetRebootOnShutdown(bool reboot_on_shutdown)override;
voidShutDownOrReboot(ShutdownReason reason)override;
private:
// Cached copy of the DeviceRebootOnShutdown policy from chrome.
bool reboot_on_shutdown_=false;
base::ObserverList<Observer>::Unchecked observers_;
};
}// namespace ash
#endif// ASH_SHUTDOWN_CONTROLLER_IMPL_H_

[8]ページ先頭

©2009-2025 Movatter.jp