getDocumentDescription method

String? getDocumentDescription(
  1. String? language
)

Gets the description of the document.

param language The expected language. return The description of the document. throws BiosealException An error has occurred during Bioseal Library execution.

Implementation

String? getDocumentDescription(String? language) {
  Pointer<Char>? pLanguage = language?.toNativeUtf8().cast<Char>();
  Pointer<Char> pDocumentDescription = nullptr;
  Pointer<Int> pDocumentDescriptionSize = calloc.allocate(1);
  pDocumentDescriptionSize[0] = -1;
  try {
    var err = biosealSDK.id3Bioseal_GetDocumentDescription(_pHandle.value, pLanguage ?? nullptr, pDocumentDescription, pDocumentDescriptionSize);
    if (err == BiosealError.objectDoesNotExist.value) {
      return null;
    }
    if (err == BiosealError.insufficientBuffer.value) {
      pDocumentDescription = calloc.allocate(pDocumentDescriptionSize.value);
      err = biosealSDK.id3Bioseal_GetDocumentDescription(_pHandle.value, pLanguage ?? nullptr, pDocumentDescription, pDocumentDescriptionSize);
      if (err != BiosealError.success.value) {
        throw BiosealException(err);
      }
    }
    final vDocumentDescription = utf8.decode(Uint8List.fromList(pDocumentDescription.cast<Uint8>().asTypedList(pDocumentDescriptionSize.value)));
    return vDocumentDescription;
  } finally {
    if (pLanguage != null) {
      calloc.free(pLanguage);
    }
    calloc.free(pDocumentDescription);
    calloc.free(pDocumentDescriptionSize);
  }
}