blob: 1ed3f7d046a6ddaf0c2f8c53b59ae0fbbc095c1b [file] [log] [blame]
David Sodmanbbcb0522014-09-19 10:34:07 -07001/*
2 * Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
3 * Use of this source code is governed by a BSD-style license that can be
4 * found in the LICENSE file.
5 */
6
7#ifndef DBUS_H_
8#define DBUS_H_
9
10#include <dbus/dbus.h>
11#include <stdbool.h>
12#include <memory.h>
13#include <stdio.h>
14
David Sodman3430aae2014-11-10 08:15:01 -080015#define DBUS_STATUS_NOERROR (0)
16#define DBUS_STATUS_TIMEOUT (-1)
17
David Sodmanbbcb0522014-09-19 10:34:07 -070018typedef struct _dbus_t dbus_t;
19
20typedef void (*dbus_message_handler_t)(dbus_t*, void*);
21
22dbus_t* dbus_init();
David Sodman003faed2014-11-03 09:02:10 -080023bool dbus_method_call0(dbus_t* dbus, const char* service_name,
24 const char* service_path, const char* service_interface,
25 const char* method);
26bool dbus_method_call1(dbus_t* dbus, const char* service_name,
David Sodmanbbcb0522014-09-19 10:34:07 -070027 const char* service_path, const char* service_interface,
28 const char* method, int* param);
29bool dbus_signal_match_handler(
30 dbus_t* dbus,
31 const char* signal,
32 const char* path,
33 const char* interface,
34 const char* rule,
35 dbus_message_handler_t handler,
36 void *user_data);
David Sodman3430aae2014-11-10 08:15:01 -080037int dbus_wait_for_messages(dbus_t *dbus, int64_t timeout_ms);
David Sodmanbbcb0522014-09-19 10:34:07 -070038void dbus_stop_wait(dbus_t* dbus);
39void dbus_destroy(dbus_t* dbus);
40
41
42#endif // DBUS_H_