blob: 8a8cd712ac12b57753c5ffba39be4d894b57c346 [file] [log] [blame]
David Sodmanbbcb0522014-09-19 10:34:07 -07001/*
David Sodman8ef20062015-01-06 09:23:40 -08002 * Copyright 2014 The Chromium OS Authors. All rights reserved.
David Sodmanbbcb0522014-09-19 10:34:07 -07003 * Use of this source code is governed by a BSD-style license that can be
4 * found in the LICENSE file.
5 */
6
David Sodman8ef20062015-01-06 09:23:40 -08007#ifndef FRECON_DBUS_H
8#define FRECON_DBUS_H
David Sodmanbbcb0522014-09-19 10:34:07 -07009
David Sodman8ef20062015-01-06 09:23:40 -080010#include <sys/select.h>
David Sodmanbbcb0522014-09-19 10:34:07 -070011#include <dbus/dbus.h>
12#include <stdbool.h>
13#include <memory.h>
14#include <stdio.h>
15
David Sodman3430aae2014-11-10 08:15:01 -080016#define DBUS_STATUS_NOERROR (0)
17#define DBUS_STATUS_TIMEOUT (-1)
18
David Sodmanbbcb0522014-09-19 10:34:07 -070019typedef struct _dbus_t dbus_t;
20
21typedef void (*dbus_message_handler_t)(dbus_t*, void*);
22
23dbus_t* dbus_init();
David Sodman003faed2014-11-03 09:02:10 -080024bool dbus_method_call0(dbus_t* dbus, const char* service_name,
25 const char* service_path, const char* service_interface,
26 const char* method);
27bool dbus_method_call1(dbus_t* dbus, const char* service_name,
David Sodmanbbcb0522014-09-19 10:34:07 -070028 const char* service_path, const char* service_interface,
David Sodman19e4f9d2015-03-10 11:11:09 -070029 const char* method, int arg_type, void* param);
David Sodmanbbcb0522014-09-19 10:34:07 -070030bool dbus_signal_match_handler(
31 dbus_t* dbus,
32 const char* signal,
33 const char* path,
34 const char* interface,
35 const char* rule,
36 dbus_message_handler_t handler,
37 void *user_data);
David Sodmanbbcb0522014-09-19 10:34:07 -070038void dbus_destroy(dbus_t* dbus);
David Sodman8ef20062015-01-06 09:23:40 -080039void dbus_add_fd(dbus_t* dbus, fd_set* read_set, fd_set* exception_set);
40int dbus_get_fd(dbus_t* dbus);
41void dbus_dispatch_io(dbus_t* dbus);
David Sodmanbbcb0522014-09-19 10:34:07 -070042
43
David Sodman8ef20062015-01-06 09:23:40 -080044#endif // FRECON_DBUS_H