blob: f0cf74484bea789ce082b7aae0f0bb26e9afdfae [file] [log] [blame]
// 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);
};