xref: /qemu/include/qemu/dbus.h (revision b2a3cbb8)
1 /*
2  * Helpers for using D-Bus
3  *
4  * Copyright (C) 2019 Red Hat, Inc.
5  *
6  * This work is licensed under the terms of the GNU GPL, version 2.  See
7  * the COPYING file in the top-level directory.
8  */
9 
10 #ifndef DBUS_H
11 #define DBUS_H
12 
13 #include <gio/gio.h>
14 
15 #include "qom/object.h"
16 #include "chardev/char.h"
17 #include "qemu/notify.h"
18 #include "qemu/typedefs.h"
19 
20 /* glib/gio 2.68 */
21 #define DBUS_METHOD_INVOCATION_HANDLED TRUE
22 #define DBUS_METHOD_INVOCATION_UNHANDLED FALSE
23 
24 /* in msec */
25 #define DBUS_DEFAULT_TIMEOUT 1000
26 
27 #define DBUS_DISPLAY1_ROOT "/org/qemu/Display1"
28 
29 #define DBUS_DISPLAY_ERROR (dbus_display_error_quark())
30 GQuark dbus_display_error_quark(void);
31 
32 typedef enum {
33     DBUS_DISPLAY_ERROR_FAILED,
34     DBUS_DISPLAY_ERROR_INVALID,
35     DBUS_DISPLAY_ERROR_UNSUPPORTED,
36     DBUS_DISPLAY_N_ERRORS,
37 } DBusDisplayError;
38 
39 GStrv qemu_dbus_get_queued_owners(GDBusConnection *connection,
40                                   const char *name,
41                                   Error **errp);
42 
43 #endif /* DBUS_H */
44