[go: nahoru, domu]

blob: 90e7585656498163a44e2c8c8f11b02c7655e6c7 [file] [log] [blame]
Avi Drissman3e1a26c2022-09-15 20:26:031// Copyright 2012 The Chromium Authors
brg@chromium.comf5205412010-03-16 00:19:342// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
derat49b2fd52015-01-16 15:32:125#ifndef UI_BASE_IDLE_IDLE_H_
6#define UI_BASE_IDLE_IDLE_H_
brg@chromium.comf5205412010-03-16 00:19:347
Steven Bennetts2b2d9cf2019-03-15 17:36:318#include "base/component_export.h"
avi20f6a6d532015-12-23 08:05:249#include "build/build_config.h"
derat49b2fd52015-01-16 15:32:1210
11namespace ui {
rkc@chromium.org97156b72011-08-18 13:32:1212
brg@chromium.comf5205412010-03-16 00:19:3413enum IdleState {
14 IDLE_STATE_ACTIVE = 0,
dubroy@chromium.org9e5fbc92011-12-09 11:40:4915 IDLE_STATE_IDLE = 1, // No activity within threshold.
rkc@chromium.org97156b72011-08-18 13:32:1216 IDLE_STATE_LOCKED = 2, // Only available on supported systems.
17 IDLE_STATE_UNKNOWN = 3 // Used when waiting for the Idle state or in error
18 // conditions
brg@chromium.comf5205412010-03-16 00:19:3419};
20
jianli@chromium.org3c645372011-01-25 20:54:0621// For MacOSX, InitIdleMonitor needs to be called first to setup the monitor.
Xiaohan Wang84074092022-01-20 21:25:5422#if BUILDFLAG(IS_APPLE)
Steven Bennetts2b2d9cf2019-03-15 17:36:3123COMPONENT_EXPORT(UI_BASE_IDLE) void InitIdleMonitor();
jianli@chromium.org3c645372011-01-25 20:54:0624#endif
25
Reilly Grante26b6112018-12-20 17:32:5826// Calculate the Idle state. |idle_threshold| is the amount of time (in seconds)
27// before the user is considered idle.
Steven Bennetts2b2d9cf2019-03-15 17:36:3128COMPONENT_EXPORT(UI_BASE_IDLE) IdleState CalculateIdleState(int idle_threshold);
rkc@chromium.org97156b72011-08-18 13:32:1229
Reilly Grante26b6112018-12-20 17:32:5830// Calculate Idle time in seconds.
Steven Bennetts2b2d9cf2019-03-15 17:36:3131COMPONENT_EXPORT(UI_BASE_IDLE) int CalculateIdleTime();
brg@chromium.comf5205412010-03-16 00:19:3432
sidor@chromium.org80722b22011-09-10 07:54:5033// Checks synchronously if Idle state is IDLE_STATE_LOCKED.
Steven Bennetts2b2d9cf2019-03-15 17:36:3134COMPONENT_EXPORT(UI_BASE_IDLE) bool CheckIdleStateIsLocked();
tfarina@chromium.org08b14a52012-07-02 23:30:3635
derat49b2fd52015-01-16 15:32:1236} // namespace ui
37
38#endif // UI_BASE_IDLE_IDLE_H_