getLicenseFileHardwareCode static method

String getLicenseFileHardwareCode()

Retrieves the hardware code of the previously loaded license.

return The license hardware code. throws BiosealException An error has occurred during Bioseal Library execution.

Implementation

static String getLicenseFileHardwareCode() {
  Pointer<Char> pLicenseFileHardwareCode = calloc.allocate(256);
  Pointer<Int> pLicenseFileHardwareCodeSize = calloc.allocate(1);
  pLicenseFileHardwareCodeSize[0] = 256;
  try {
    var err = biosealSDK.id3BiosealLicense_GetLicenseFileHardwareCode(pLicenseFileHardwareCode, pLicenseFileHardwareCodeSize);
    if (err == BiosealError.insufficientBuffer.value) {
      calloc.free(pLicenseFileHardwareCode);
      pLicenseFileHardwareCode = calloc.allocate(pLicenseFileHardwareCodeSize.value);
      err = biosealSDK.id3BiosealLicense_GetLicenseFileHardwareCode(pLicenseFileHardwareCode, pLicenseFileHardwareCodeSize);
      if (err != BiosealError.success.value) {
        throw BiosealException(err);
      }
    }
    final vLicenseFileHardwareCode = utf8.decode(Uint8List.fromList(pLicenseFileHardwareCode.cast<Uint8>().asTypedList(pLicenseFileHardwareCodeSize.value)));
    return vLicenseFileHardwareCode;
  } finally {
    calloc.free(pLicenseFileHardwareCode);
    calloc.free(pLicenseFileHardwareCodeSize);
  }
}