activateBuffer static method
Retrieves a license file buffer using customer credentials and a product reference and returns the license in a data buffer.
param hardwareCode The hardware code on which the license file will be attached, to be retrieved using the GetHostHardwareCode function. param login The customer login. param password The customer password. param productReference The requested product reference. param commentary Commentary associated to this license activation, generally the host name. return The license data. throws BiosealException An error has occurred during Bioseal Library execution.
Implementation
static Uint8List activateBuffer(String? hardwareCode, String? login, String? password, String? productReference, String? commentary) {
Pointer<Char>? pHardwareCode = hardwareCode?.toNativeUtf8().cast<Char>();
Pointer<Char>? pLogin = login?.toNativeUtf8().cast<Char>();
Pointer<Char>? pPassword = password?.toNativeUtf8().cast<Char>();
Pointer<Char>? pProductReference = productReference?.toNativeUtf8().cast<Char>();
Pointer<Char>? pCommentary = commentary?.toNativeUtf8().cast<Char>();
Pointer<UnsignedChar> pLicenseFileBuffer = calloc.allocate(2048);
Pointer<Int> pLicenseFileBufferSize = calloc.allocate(1);
pLicenseFileBufferSize[0] = 2048;
try {
var err = biosealSDK.id3BiosealLicense_ActivateBuffer(pHardwareCode ?? nullptr, pLogin ?? nullptr, pPassword ?? nullptr, pProductReference ?? nullptr, pCommentary ?? nullptr, pLicenseFileBuffer, pLicenseFileBufferSize);
if (err == BiosealError.insufficientBuffer.value) {
calloc.free(pLicenseFileBuffer);
pLicenseFileBuffer = calloc.allocate(pLicenseFileBufferSize.value);
err = biosealSDK.id3BiosealLicense_ActivateBuffer(pHardwareCode ?? nullptr, pLogin ?? nullptr, pPassword ?? nullptr, pProductReference ?? nullptr, pCommentary ?? nullptr, pLicenseFileBuffer, pLicenseFileBufferSize);
}
if (err != BiosealError.success.value) {
throw BiosealException(err);
}
final vLicenseFileBuffer = Uint8List.fromList(pLicenseFileBuffer.cast<Uint8>().asTypedList(pLicenseFileBufferSize.value));
return vLicenseFileBuffer;
} finally {
if (pHardwareCode != null) {
calloc.free(pHardwareCode);
}
if (pLogin != null) {
calloc.free(pLogin);
}
if (pPassword != null) {
calloc.free(pPassword);
}
if (pProductReference != null) {
calloc.free(pProductReference);
}
if (pCommentary != null) {
calloc.free(pCommentary);
}
calloc.free(pLicenseFileBuffer);
calloc.free(pLicenseFileBufferSize);
}
}