summaryrefslogtreecommitdiff
path: root/src/shared/dbus-common.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/shared/dbus-common.h')
-rw-r--r--src/shared/dbus-common.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/shared/dbus-common.h b/src/shared/dbus-common.h
index a6703a78d0..bcbf18ffab 100644
--- a/src/shared/dbus-common.h
+++ b/src/shared/dbus-common.h
@@ -22,6 +22,8 @@
***/
#include <dbus/dbus.h>
+#include <inttypes.h>
+#include <sys/types.h>
#ifndef DBUS_ERROR_UNKNOWN_OBJECT
#define DBUS_ERROR_UNKNOWN_OBJECT "org.freedesktop.DBus.Error.UnknownObject"
@@ -112,6 +114,10 @@ typedef struct BusBoundProperties {
const void *const base; /* base pointer to which the offset must be added to reach data */
} BusBoundProperties;
+dbus_bool_t bus_maybe_send_reply (DBusConnection *c,
+ DBusMessage *message,
+ DBusMessage *reply);
+
DBusHandlerResult bus_send_error_reply(
DBusConnection *c,
DBusMessage *message,
@@ -203,3 +209,20 @@ void bus_async_unregister_and_exit(DBusConnection *bus, const char *name);
DBusHandlerResult bus_exit_idle_filter(DBusConnection *bus, DBusMessage *m, void *userdata);
pid_t bus_get_unix_process_id(DBusConnection *connection, const char *name, DBusError *error);
+
+bool bus_error_is_no_service(const DBusError *error);
+int bus_method_call_with_reply(DBusConnection *bus,
+ const char *destination,
+ const char *path,
+ const char *interface,
+ const char *method,
+ DBusMessage **return_reply,
+ DBusError *return_error,
+ int first_arg_type, ...);
+
+const char *bus_message_get_sender_with_fallback(DBusMessage *m);
+
+void bus_message_unrefp(DBusMessage **reply);
+
+#define _cleanup_dbus_message_unref_ __attribute__((cleanup(bus_message_unrefp)))
+#define _cleanup_dbus_error_free_ __attribute__((cleanup(dbus_error_free)))