1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef ASH_WM_USER_ACTIVITY_OBSERVER_H_ 6 #define ASH_WM_USER_ACTIVITY_OBSERVER_H_ 7 8 #include "ash/ash_export.h" 9 #include "base/basictypes.h" 10 11 namespace ui { 12 class Event; 13 } 14 15 namespace ash { 16 17 // Interface for classes that want to be notified about user activity. 18 // Implementations should register themselves with UserActivityDetector. 19 class ASH_EXPORT UserActivityObserver { 20 public: 21 // Invoked periodically while the user is active (i.e. generating input 22 // events). |event| is the event that triggered the notification; it may 23 // be NULL in some cases (e.g. testing or synthetic invocations). 24 virtual void OnUserActivity(const ui::Event* event) = 0; 25 26 protected: 27 UserActivityObserver() {} 28 virtual ~UserActivityObserver() {} 29 30 DISALLOW_COPY_AND_ASSIGN(UserActivityObserver); 31 }; 32 33 } // namespace ash 34 35 #endif // ASH_WM_USER_ACTIVITY_OBSERVER_H_ 36