1// Copyright 2014 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 UI_WM_CORE_USER_ACTIVITY_OBSERVER_H_ 6#define UI_WM_CORE_USER_ACTIVITY_OBSERVER_H_ 7 8#include "base/basictypes.h" 9#include "ui/wm/wm_export.h" 10 11namespace ui { 12class Event; 13} 14 15namespace wm { 16 17// Interface for classes that want to be notified about user activity. 18// Implementations should register themselves with UserActivityDetector. 19class WM_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 wm 34 35#endif // UI_WM_CORE_USER_ACTIVITY_OBSERVER_H_ 36