// Copyright 2016 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. module ws.mojom; interface UserActivityObserver { OnUserActivity(); }; interface UserIdleObserver { enum IdleState { ACTIVE, IDLE, }; OnUserIdleStateChanged(IdleState new_state); }; interface UserActivityMonitor { // Notifies the observer of user activity at most once every // |delay_between_notify_secs| seconds. AddUserActivityObserver(uint32 delay_between_notify_secs, UserActivityObserver observer); // Notifies the observer when user is idle for more than // |idle_time_in_minutes| minutes. When the observer is first added, if the // user has already been idle for |idle_time_in_minutes|, then // OnUserIdleStateChanged(IDLE) is called on the observer, otherwise // OnUserIdleStateChanged(ACTIVE) is called. AddUserIdleObserver(uint32 idle_time_in_minutes, UserIdleObserver observer); };