1868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)// Copyright 2013 The Chromium Authors. All rights reserved.
2868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
3868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)// found in the LICENSE file.
4868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)
5868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#ifndef ASH_WM_LOCK_STATE_OBSERVER_H_
6868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#define ASH_WM_LOCK_STATE_OBSERVER_H_
7868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)
8868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include "ash/ash_export.h"
9868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)
10868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)namespace ash {
11868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)
12868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)// Interface for classes that want to be notified by LockStateController when
13868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)// session-related events occur.
14868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)class ASH_EXPORT LockStateObserver {
15868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) public:
16868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)  enum EventType {
17868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)    EVENT_PRELOCK_ANIMATION_STARTED,
18868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)    EVENT_LOCK_ANIMATION_STARTED,
19868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)    EVENT_LOCK_ANIMATION_FINISHED,
20868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)  };
21868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)
22868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)  virtual void OnLockStateEvent(EventType event) = 0;
23868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)  virtual ~LockStateObserver() {}
24868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)};
25868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)
26868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)}  // namespace ash
27868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)
28868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#endif  // ASH_WM_LOCK_STATE_OBSERVER_H_
29