xref: /qemu/include/qemu/dbus.h (revision 5ac034b1)
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 
19 /* glib/gio 2.68 */
20 #define DBUS_METHOD_INVOCATION_HANDLED TRUE
21 #define DBUS_METHOD_INVOCATION_UNHANDLED FALSE
22 
23 /* in msec */
24 #define DBUS_DEFAULT_TIMEOUT 1000
25 
26 #define DBUS_DISPLAY1_ROOT "/org/qemu/Display1"
27 
28 #define DBUS_DISPLAY_ERROR (dbus_display_error_quark())
29 GQuark dbus_display_error_quark(void);
30 
31 typedef enum {
32     DBUS_DISPLAY_ERROR_FAILED,
33     DBUS_DISPLAY_ERROR_INVALID,
34     DBUS_DISPLAY_ERROR_UNSUPPORTED,
35     DBUS_DISPLAY_N_ERRORS,
36 } DBusDisplayError;
37 
38 GStrv qemu_dbus_get_queued_owners(GDBusConnection *connection,
39                                   const char *name,
40                                   Error **errp);
41 
42 #endif /* DBUS_H */
43