blob: 2b50d96e62902b3a394f0229647c0e771fa4aff0 [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
15typedef struct _dbus_t dbus_t;
16
17typedef void (*dbus_message_handler_t)(dbus_t*, void*);
18
19dbus_t* dbus_init();
David Sodman003faed2014-11-03 09:02:10 -080020bool dbus_method_call0(dbus_t* dbus, const char* service_name,
21 const char* service_path, const char* service_interface,
22 const char* method);
23bool dbus_method_call1(dbus_t* dbus, const char* service_name,
David Sodmanbbcb0522014-09-19 10:34:07 -070024 const char* service_path, const char* service_interface,
25 const char* method, int* param);
26bool dbus_signal_match_handler(
27 dbus_t* dbus,
28 const char* signal,
29 const char* path,
30 const char* interface,
31 const char* rule,
32 dbus_message_handler_t handler,
33 void *user_data);
34void dbus_wait_for_messages(dbus_t *dbus);
35void dbus_stop_wait(dbus_t* dbus);
36void dbus_destroy(dbus_t* dbus);
37
38
39#endif // DBUS_H_