X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fdbus.c;h=405ea46cda74460f51528bed687855479dadf516;hb=82c121a4754a9d405b07c75796e329942af2ccc5;hp=74b1c37ddaa3e6ad3acac3c93438e7ad2f2cc31b;hpb=a3d4e06dfa234bf2a9398c8e534b705b68aa50a1;p=elogind.git diff --git a/src/dbus.c b/src/dbus.c index 74b1c37dd..405ea46cd 100644 --- a/src/dbus.c +++ b/src/dbus.c @@ -1201,7 +1201,6 @@ DBusHandlerResult bus_default_message_handler(Manager *m, DBusConnection *c, DBu const char *interface; const BusProperty *p; DBusMessageIter iter, sub, sub2, sub3; - bool any = false; if (!dbus_message_get_args( message, @@ -1219,7 +1218,7 @@ DBusHandlerResult bus_default_message_handler(Manager *m, DBusConnection *c, DBu goto oom; for (p = properties; p->property; p++) { - if (!streq(p->interface, interface)) + if (interface[0] && !streq(p->interface, interface)) continue; if (!dbus_message_iter_open_container(&sub, DBUS_TYPE_DICT_ENTRY, NULL, &sub2) || @@ -1239,8 +1238,6 @@ DBusHandlerResult bus_default_message_handler(Manager *m, DBusConnection *c, DBu if (!dbus_message_iter_close_container(&sub2, &sub3) || !dbus_message_iter_close_container(&sub, &sub2)) goto oom; - - any = true; } if (!dbus_message_iter_close_container(&iter, &sub)) @@ -1460,6 +1457,38 @@ int bus_property_append_int32(Manager *m, DBusMessageIter *i, const char *proper return 0; } +int bus_property_append_size(Manager *m, DBusMessageIter *i, const char *property, void *data) { + uint64_t u; + + assert(m); + assert(i); + assert(property); + assert(data); + + u = (uint64_t) *(size_t*) data; + + if (!dbus_message_iter_append_basic(i, DBUS_TYPE_UINT64, &u)) + return -ENOMEM; + + return 0; +} + +int bus_property_append_ul(Manager *m, DBusMessageIter *i, const char *property, void *data) { + uint64_t u; + + assert(m); + assert(i); + assert(property); + assert(data); + + u = (uint64_t) *(unsigned long*) data; + + if (!dbus_message_iter_append_basic(i, DBUS_TYPE_UINT64, &u)) + return -ENOMEM; + + return 0; +} + int bus_parse_strv(DBusMessage *m, char ***_l) { DBusMessageIter iter, sub; unsigned n = 0, i = 0;