askarStoreCopy function
Implementation
Future<AskarResult<StoreHandle>> askarStoreCopy(
StoreHandle handle,
String targetUri,
StoreKeyMethod? keyMethod,
String? passKey,
bool recreate,
) async {
Pointer<Utf8> targetUriPointer = nullptr;
Pointer<Utf8> keyMethodPointer = nullptr;
Pointer<Utf8> passKeyPointer = nullptr;
try {
targetUriPointer = targetUri.toNativeUtf8();
keyMethodPointer = (keyMethod == null ? "" : keyMethod.value).toNativeUtf8();
passKeyPointer = (passKey ?? "").toNativeUtf8();
final callback = newCallbackWithHandle();
final initialResult = nativeAskarStoreCopy(
handle.toInt(),
targetUriPointer,
keyMethodPointer,
passKeyPointer,
boolToInt(recreate),
callback.nativeCallable.nativeFunction,
callback.id,
);
final callbackResult = await callback.handleResult(initialResult);
return AskarResult(callbackResult.errorCode, StoreHandle(callbackResult.value));
} finally {
freePointer(targetUriPointer);
freePointer(keyMethodPointer);
freePointer(passKeyPointer);
}
}