#ifndef ASH_SYSTEM_PRIVACY_SCREEN_SWITCH_CHECK_CONTROLLER_H_
#define ASH_SYSTEM_PRIVACY_SCREEN_SWITCH_CHECK_CONTROLLER_H_
#include "ash/system/privacy/screen_security_observer.h"
namespace ash {
class ScreenSwitchCheckController : public ScreenSecurityObserver {
public:
ScreenSwitchCheckController();
ScreenSwitchCheckController(const ScreenSwitchCheckController&) = delete;
ScreenSwitchCheckController& operator=(const ScreenSwitchCheckController&) =
delete;
~ScreenSwitchCheckController() override;
void CanSwitchAwayFromActiveUser(base::OnceCallback<void(bool)> callback);
private:
void OnScreenAccessStart(base::OnceClosure stop_callback,
const base::RepeatingClosure& source_callback,
const std::u16string& access_app_name) override;
void OnScreenAccessStop() override;
void OnRemotingScreenShareStart(base::OnceClosure stop_callback) override;
void OnRemotingScreenShareStop() override;
bool is_screen_accessed_ = false;
bool is_remoting_share_ = false;
};
}
#endif