const char *interface;
const BusProperty *p;
DBusMessageIter iter, sub, sub2, sub3;
- bool any = false;
if (!dbus_message_get_args(
message,
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) ||
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))
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_parse_strv(DBusMessage *m, char ***_l) {
DBusMessageIter iter, sub;
unsigned n = 0, i = 0;