Home | History | Annotate | Download | only in wm
      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