getParents method

AsyncReply<List<IResource?>> getParents(
  1. IResource resource
)

Implementation

AsyncReply<List<IResource?>> getParents(IResource resource) {
  var rt = new AsyncReply<List<IResource?>>();

  (sendRequest(IIPPacketAction.ResourceParents)
        ..addUint32((resource.instance as Instance).id))
      .done()
    ..then((ar) {
      if (ar != null) {
        TransmissionType dataType = ar[0] as TransmissionType;
        DC data = ar[1] as DC;
        Codec.parse(data, 0, this, null, dataType).reply.then((resources) {
          rt.trigger(resources as List<IResource>);
        })
          ..error((ex) => rt.triggerError(ex));
      } else {
        rt.triggerError(Exception("Null response"));
      }
    })
    ..error((ex) => rt.triggerError(ex));

  return rt;
}