readDBusStruct method

DBusStruct? readDBusStruct(
  1. Iterable<DBusSignature> childSignatures,
  2. dynamic item
)

Reads a DBusStruct from the buffer or returns null if not enough data.

Implementation

DBusStruct? readDBusStruct(Iterable<DBusSignature> childSignatures, dynamic item) {
  var children = <DBusValue>[];
  var list = item as List<dynamic>;
  int i = 0;
  assert(childSignatures.length == list.length);
  // print("readDBusStruct: $childSignatures $item");
  for (var signature in childSignatures) {
    // print("readDBusStruct: $i: $signature ${list[i]}");
    var child = readDBusValue(signature, list[i]);
    if (child == null) {
      return null;
    }
    children.add(child);
    i++;
  }

  return DBusStruct(children);
}