getValueAsBooleanArray method

List<bool> getValueAsBooleanArray()

Gets the the field value as an array of booleans.

return The field value as an array of booleans. throws BiosealException An error has occurred during Bioseal Library execution.

Implementation

List<bool> getValueAsBooleanArray() {
  Pointer<Bool> pValueAsBooleanArray = nullptr;
  Pointer<Int> pValueAsBooleanArraySize = calloc();
  pValueAsBooleanArraySize[0] = -1;
  try {
    var err = biosealSDK.id3BiosealField_GetValueAsBooleanArray(_pHandle.value, pValueAsBooleanArray, pValueAsBooleanArraySize);
    if (err == BiosealError.insufficientBuffer.value) {
      pValueAsBooleanArray = calloc.allocate(pValueAsBooleanArraySize.value);
      err = biosealSDK.id3BiosealField_GetValueAsBooleanArray(_pHandle.value, pValueAsBooleanArray, pValueAsBooleanArraySize);
    }
    if (err != BiosealError.success.value) {
      throw BiosealException(err);
    }
    final vValueAsBooleanArray = List<bool>.filled(pValueAsBooleanArraySize.value, false);
    for (int i = 0; i < pValueAsBooleanArraySize.value; i++) {
        vValueAsBooleanArray[i] = pValueAsBooleanArray[i];
    }
    return vValueAsBooleanArray;
  } finally {
    calloc.free(pValueAsBooleanArray);
    calloc.free(pValueAsBooleanArraySize);
  }
}