getResourceName method

String getResourceName()

Gets the the resource name corresponing to the uri.

return The resource name corresponing to the uri. throws BiosealException An error has occurred during Bioseal Library execution.

Implementation

String getResourceName() {
  Pointer<Char> pResourceName = nullptr;
  Pointer<Int> pResourceNameSize = calloc.allocate(1);
  pResourceNameSize[0] = -1;
  try {
    var err = biosealSDK.id3BiosealResourceCallbackArgs_GetResourceName(_pHandle.value, pResourceName, pResourceNameSize);
    if (err == BiosealError.insufficientBuffer.value) {
      pResourceName = calloc.allocate(pResourceNameSize.value);
      err = biosealSDK.id3BiosealResourceCallbackArgs_GetResourceName(_pHandle.value, pResourceName, pResourceNameSize);
      if (err != BiosealError.success.value) {
        throw BiosealException(err);
      }
    }
    final vResourceName = utf8.decode(Uint8List.fromList(pResourceName.cast<Uint8>().asTypedList(pResourceNameSize.value)));
    return vResourceName;
  } finally {
    calloc.free(pResourceName);
    calloc.free(pResourceNameSize);
  }
}