1/***************************************************************************
2 *
3 * addon-acpi.c : Poll battery and AC adapter devices and update
4 *                   properties
5 *
6 * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
7 * Use is subject to license terms.
8 *
9 * Licensed under the Academic Free License version 2.1
10 *
11 **************************************************************************/
12
13#pragma ident	"%Z%%M%	%I%	%E% SMI"
14
15#ifdef HAVE_CONFIG_H
16#include <config.h>
17#endif
18
19#include <stdio.h>
20#include <unistd.h>
21#include <stdlib.h>
22#include <fcntl.h>
23#include <sys/dkio.h>
24#include <sys/stat.h>
25#include <glib.h>
26
27#include <libhal.h>
28#include "../../hald/logger.h"
29#include "../../hald/util_helper.h"
30#include "../../utils/acpi.h"
31
32int
33main(int argc, char **argv)
34{
35	LibHalContext *ctx = NULL;
36	DBusError error;
37
38	GMainLoop *loop = g_main_loop_new(NULL, FALSE);
39
40	drop_privileges(0);
41	setup_logger();
42
43	dbus_error_init(&error);
44	if ((ctx = libhal_ctx_init_direct(&error)) == NULL) {
45		printf("main(): init_direct failed\n");
46		return (0);
47	}
48	dbus_error_init(&error);
49	if (!libhal_device_addon_is_ready(ctx, getenv("UDI"), &error)) {
50		return (0);
51	}
52
53	g_timeout_add(BATTERY_POLL_TIMER, update_devices, ctx);
54
55	g_main_loop_run(loop);
56}
57