summaryrefslogtreecommitdiff
path: root/dbus.h
diff options
context:
space:
mode:
Diffstat (limited to 'dbus.h')
-rw-r--r--dbus.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/dbus.h b/dbus.h
index 1e71971f05..06b7e20602 100644
--- a/dbus.h
+++ b/dbus.h
@@ -86,4 +86,21 @@ void bus_unit_send_removed_signal(Unit *u);
void bus_job_send_change_signal(Job *j);
void bus_job_send_removed_signal(Job *j);
+#define DEFINE_BUS_PROPERTY_APPEND_ENUM(function,name,type) \
+ static int function(Manager *m, DBusMessageIter *i, const char *property, void *data) { \
+ const char *value; \
+ type *field = data; \
+ \
+ assert(m); \
+ assert(i); \
+ assert(property); \
+ \
+ value = name##_to_string(*field); \
+ \
+ if (!dbus_message_iter_append_basic(i, DBUS_TYPE_STRING, &value)) \
+ return -ENOMEM; \
+ \
+ return 0; \
+ }
+
#endif