| Index: ash/session_state_delegate.h
 | 
| diff --git a/ash/session_state_delegate.h b/ash/session_state_delegate.h
 | 
| new file mode 100644
 | 
| index 0000000000000000000000000000000000000000..f5ee359667597ff975afbecbf3742e90d256a845
 | 
| --- /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_
 | 
| 
 |