diff options
Diffstat (limited to 'ash/session_state_delegate.h')
-rw-r--r-- | ash/session_state_delegate.h | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/ash/session_state_delegate.h b/ash/session_state_delegate.h new file mode 100644 index 0000000..f5ee359 --- /dev/null +++ b/ash/session_state_delegate.h @@ -0,0 +1,41 @@ +// Copyright (c) 2013 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef ASH_SESSION_STATE_DELEGATE_H_ +#define ASH_SESSION_STATE_DELEGATE_H_ + +#include "ash/ash_export.h" + +namespace ash { + +// Delegate for checking and modifying the session state. +class ASH_EXPORT SessionStateDelegate { + public: + virtual ~SessionStateDelegate() {}; + + // Returns |true| if a session is in progress and there is an active user. + virtual bool HasActiveUser() const = 0; + + // Returns |true| if the session has been fully started for the active user. + // When a user becomes active, the profile and browser UI are not immediately + // available. Only once this method starts returning |true| is the browser + // startup complete and both profile and UI are fully available. + virtual bool IsActiveUserSessionStarted() const = 0; + + // Returns true if the screen can be locked. + virtual bool CanLockScreen() const = 0; + + // Returns true if the screen is currently locked. + virtual bool IsScreenLocked() const = 0; + + // Locks the screen. The locking happens asynchronously. + virtual void LockScreen() = 0; + + // Unlocks the screen. + virtual void UnlockScreen() = 0; +}; + +} // namespace ash + +#endif // ASH_SESSION_STATE_DELEGATE_H_ |