1 // Copyright (c) 2011 The Chromium OS 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.
10 #include "base/logging.h"
11 #include "power_manager/xidle.h"
12 #include "power_manager/xidle_observer.h"
14 // Prints console notifications when the user is and is not idle.
15 class XIdleObserverExample : public power_manager::XIdleObserver {
17 // Overridden from power_manager::XIdleObserver:
18 virtual void OnIdleEvent(bool is_idle, int64 idle_time_ms) {
20 printf("User has been idle for %" PRIi64 " ms\n", idle_time_ms);
22 printf("User is active\n");
26 int main(int argc, char** argv) {
27 gdk_init(&argc, &argv);
28 GMainLoop* loop = g_main_loop_new(NULL, false);
29 power_manager::XIdle idle;
30 XIdleObserverExample observer;
31 CHECK(idle.Init(&observer));
32 CHECK(idle.AddIdleTimeout(2000));
33 CHECK(idle.AddIdleTimeout(5000));
34 g_main_loop_run(loop);