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 11namespace ui { 12class Event; 13} 14 15namespace ash { 16 17// Interface for classes that want to be notified about user activity. 18// Implementations should register themselves with UserActivityDetector. 19class 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