getValueAsIntegerArray method

List<int> getValueAsIntegerArray()

Gets the the field value as an array of 64-bit integers.

return The field value as an array of 64-bit integers. throws BiosealException An error has occurred during Bioseal Library execution.

Implementation

List<int> getValueAsIntegerArray() {
  Pointer<LongLong> pValueAsIntegerArray = nullptr;
  Pointer<Int> pValueAsIntegerArraySize = calloc();
  pValueAsIntegerArraySize[0] = -1;
  try {
    var err = biosealSDK.id3BiosealField_GetValueAsIntegerArray(_pHandle.value, pValueAsIntegerArray, pValueAsIntegerArraySize);
    if (err == BiosealError.insufficientBuffer.value) {
      pValueAsIntegerArray = calloc.allocate(pValueAsIntegerArraySize.value);
      err = biosealSDK.id3BiosealField_GetValueAsIntegerArray(_pHandle.value, pValueAsIntegerArray, pValueAsIntegerArraySize);
    }
    if (err != BiosealError.success.value) {
      throw BiosealException(err);
    }
    final vValueAsIntegerArray = Int64List.fromList(pValueAsIntegerArray.cast<Int64>().asTypedList(pValueAsIntegerArraySize.value));
    return vValueAsIntegerArray;
  } finally {
    calloc.free(pValueAsIntegerArray);
    calloc.free(pValueAsIntegerArraySize);
  }
}