mirror of
https://github.com/Tencent/MMKV.git
synced 2026-10-17 04:30:56 +08:00
almost done
This commit is contained in:
+46
-106
@@ -780,156 +780,96 @@ String _nativeFuncName(String name) {
|
||||
return "mmkv_$name";
|
||||
}
|
||||
|
||||
final DynamicLibrary _nativeLib = Platform.isAndroid ? DynamicLibrary.open("libmmkv.so") : DynamicLibrary.process();
|
||||
|
||||
final MMKVPluginPlatform _mmkvPlatform = MMKVPluginPlatform.instance!;
|
||||
|
||||
final void Function(Pointer<Utf8> rootDir, Pointer<Utf8> cacheDir, int sdkInt, int logLevel)? _mmkvInitialize = Platform.isIOS
|
||||
? null
|
||||
: _nativeLib.lookup<NativeFunction<Void Function(Pointer<Utf8>, Pointer<Utf8>, Int32, Int32)>>("mmkvInitialize_v1").asFunction();
|
||||
|
||||
final Pointer<Void> Function(Pointer<Utf8> mmapID, int, Pointer<Utf8> cryptKey, Pointer<Utf8> rootDir, int expectedCapacity) _getMMKVWithID =
|
||||
_nativeLib
|
||||
.lookup<NativeFunction<Pointer<Void> Function(Pointer<Utf8>, Uint32, Pointer<Utf8>, Pointer<Utf8>, Uint32)>>("getMMKVWithID")
|
||||
.asFunction();
|
||||
_mmkvPlatform.getMMKVWithIDFunc();
|
||||
|
||||
final Pointer<Void> Function(int, Pointer<Utf8> cryptKey) _getDefaultMMKV =
|
||||
_nativeLib.lookup<NativeFunction<Pointer<Void> Function(Uint32, Pointer<Utf8>)>>("getDefaultMMKV").asFunction();
|
||||
final Pointer<Void> Function(int, Pointer<Utf8> cryptKey) _getDefaultMMKV = _mmkvPlatform.getDefaultMMKVFunc();
|
||||
|
||||
final Pointer<Utf8> Function(Pointer<Void>) _mmapID =
|
||||
_nativeLib.lookup<NativeFunction<Pointer<Utf8> Function(Pointer<Void>)>>(_nativeFuncName("mmapID")).asFunction();
|
||||
final Pointer<Utf8> Function(Pointer<Void>) _mmapID = _mmkvPlatform.mmapIDFunc();
|
||||
|
||||
// final int Function(Pointer<Void>, Pointer<Utf8>, int) _encodeBool =
|
||||
// _nativeLib.lookup<NativeFunction<Int8 Function(Pointer<Void>, Pointer<Utf8>, Int8)>>(_nativeFuncName("encodeBool")).asFunction();
|
||||
final int Function(Pointer<Void>, Pointer<Utf8>, int) _encodeBool = _mmkvPlatform.encodeBoolFunc();
|
||||
|
||||
final int Function(Pointer<Void>, Pointer<Utf8>, int, int) _encodeBoolV2 =
|
||||
_nativeLib.lookup<NativeFunction<Int8 Function(Pointer<Void>, Pointer<Utf8>, Int8, Uint32)>>(_nativeFuncName("encodeBool_v2")).asFunction();
|
||||
final int Function(Pointer<Void>, Pointer<Utf8>, int, int) _encodeBoolV2 = _mmkvPlatform.encodeBoolV2Func();
|
||||
|
||||
final int Function(Pointer<Void>, Pointer<Utf8>, int) _decodeBool =
|
||||
_nativeLib.lookup<NativeFunction<Int8 Function(Pointer<Void>, Pointer<Utf8>, Int8)>>(_nativeFuncName("decodeBool")).asFunction();
|
||||
final int Function(Pointer<Void>, Pointer<Utf8>, int) _decodeBool = _mmkvPlatform.decodeBoolFunc();
|
||||
|
||||
final int Function(Pointer<Void>, Pointer<Utf8>, int) _encodeInt32 =
|
||||
_nativeLib.lookup<NativeFunction<Int8 Function(Pointer<Void>, Pointer<Utf8>, Int32)>>(_nativeFuncName("encodeInt32")).asFunction();
|
||||
final int Function(Pointer<Void>, Pointer<Utf8>, int) _encodeInt32 = _mmkvPlatform.encodeInt32Func();
|
||||
|
||||
final int Function(Pointer<Void>, Pointer<Utf8>, int, int) _encodeInt32V2 =
|
||||
_nativeLib.lookup<NativeFunction<Int8 Function(Pointer<Void>, Pointer<Utf8>, Int32, Uint32)>>(_nativeFuncName("encodeInt32_v2")).asFunction();
|
||||
final int Function(Pointer<Void>, Pointer<Utf8>, int, int) _encodeInt32V2 = _mmkvPlatform.encodeInt32V2Func();
|
||||
|
||||
final int Function(Pointer<Void>, Pointer<Utf8>, int) _decodeInt32 =
|
||||
_nativeLib.lookup<NativeFunction<Int32 Function(Pointer<Void>, Pointer<Utf8>, Int32)>>(_nativeFuncName("decodeInt32")).asFunction();
|
||||
final int Function(Pointer<Void>, Pointer<Utf8>, int) _decodeInt32 = _mmkvPlatform.decodeInt32Func();
|
||||
|
||||
final int Function(Pointer<Void>, Pointer<Utf8>, int) _encodeInt64 =
|
||||
_nativeLib.lookup<NativeFunction<Int8 Function(Pointer<Void>, Pointer<Utf8>, Int64)>>(_nativeFuncName("encodeInt64")).asFunction();
|
||||
final int Function(Pointer<Void>, Pointer<Utf8>, int) _encodeInt64 = _mmkvPlatform.encodeInt64Func();
|
||||
|
||||
final int Function(Pointer<Void>, Pointer<Utf8>, int, int) _encodeInt64V2 =
|
||||
_nativeLib.lookup<NativeFunction<Int8 Function(Pointer<Void>, Pointer<Utf8>, Int64, Uint32)>>(_nativeFuncName("encodeInt64_v2")).asFunction();
|
||||
final int Function(Pointer<Void>, Pointer<Utf8>, int, int) _encodeInt64V2 = _mmkvPlatform.encodeInt64V2Func();
|
||||
|
||||
final int Function(Pointer<Void>, Pointer<Utf8>, int) _decodeInt64 =
|
||||
_nativeLib.lookup<NativeFunction<Int64 Function(Pointer<Void>, Pointer<Utf8>, Int64)>>(_nativeFuncName("decodeInt64")).asFunction();
|
||||
final int Function(Pointer<Void>, Pointer<Utf8>, int) _decodeInt64 = _mmkvPlatform.decodeInt64Func();
|
||||
|
||||
final int Function(Pointer<Void>, Pointer<Utf8>, double) _encodeDouble =
|
||||
_nativeLib.lookup<NativeFunction<Int8 Function(Pointer<Void>, Pointer<Utf8>, Double)>>(_nativeFuncName("encodeDouble")).asFunction();
|
||||
final int Function(Pointer<Void>, Pointer<Utf8>, double) _encodeDouble = _mmkvPlatform.encodeDoubleFunc();
|
||||
|
||||
final int Function(Pointer<Void>, Pointer<Utf8>, double, int) _encodeDoubleV2 =
|
||||
_nativeLib.lookup<NativeFunction<Int8 Function(Pointer<Void>, Pointer<Utf8>, Double, Uint32)>>(_nativeFuncName("encodeDouble_v2")).asFunction();
|
||||
final int Function(Pointer<Void>, Pointer<Utf8>, double, int) _encodeDoubleV2 = _mmkvPlatform.encodeDoubleV2Func();
|
||||
|
||||
final double Function(Pointer<Void>, Pointer<Utf8>, double) _decodeDouble =
|
||||
_nativeLib.lookup<NativeFunction<Double Function(Pointer<Void>, Pointer<Utf8>, Double)>>(_nativeFuncName("decodeDouble")).asFunction();
|
||||
final double Function(Pointer<Void>, Pointer<Utf8>, double) _decodeDouble = _mmkvPlatform.decodeDoubleFunc();
|
||||
|
||||
final int Function(Pointer<Void>, Pointer<Utf8>, Pointer<Uint8>, int) _encodeBytes = _nativeLib
|
||||
.lookup<NativeFunction<Int8 Function(Pointer<Void>, Pointer<Utf8>, Pointer<Uint8>, Uint64)>>(_nativeFuncName("encodeBytes"))
|
||||
.asFunction();
|
||||
final int Function(Pointer<Void>, Pointer<Utf8>, Pointer<Uint8>, int) _encodeBytes = _mmkvPlatform.encodeBytesFunc();
|
||||
|
||||
final int Function(Pointer<Void>, Pointer<Utf8>, Pointer<Uint8>, int, int) _encodeBytesV2 = _nativeLib
|
||||
.lookup<NativeFunction<Int8 Function(Pointer<Void>, Pointer<Utf8>, Pointer<Uint8>, Uint64, Uint32)>>(_nativeFuncName("encodeBytes_v2"))
|
||||
.asFunction();
|
||||
final int Function(Pointer<Void>, Pointer<Utf8>, Pointer<Uint8>, int, int) _encodeBytesV2 = _mmkvPlatform.encodeBytesV2Func();
|
||||
|
||||
final Pointer<Uint8> Function(Pointer<Void>, Pointer<Utf8>, Pointer<Uint64>) _decodeBytes = _nativeLib
|
||||
.lookup<NativeFunction<Pointer<Uint8> Function(Pointer<Void>, Pointer<Utf8>, Pointer<Uint64>)>>(_nativeFuncName("decodeBytes"))
|
||||
.asFunction();
|
||||
final Pointer<Uint8> Function(Pointer<Void>, Pointer<Utf8>, Pointer<Uint64>) _decodeBytes = _mmkvPlatform.decodeBytesFunc();
|
||||
|
||||
final int Function(Pointer<Void>, Pointer<Uint8>, int) _reKey =
|
||||
_nativeLib.lookup<NativeFunction<Int8 Function(Pointer<Void>, Pointer<Uint8>, Uint64)>>(_nativeFuncName("reKey")).asFunction();
|
||||
final int Function(Pointer<Void>, Pointer<Uint8>, int) _reKey = _mmkvPlatform.reKeyFunc();
|
||||
|
||||
final Pointer<Uint8> Function(Pointer<Void>, Pointer<Uint64>) _cryptKey =
|
||||
_nativeLib.lookup<NativeFunction<Pointer<Uint8> Function(Pointer<Void>, Pointer<Uint64>)>>(_nativeFuncName("cryptKey")).asFunction();
|
||||
final Pointer<Uint8> Function(Pointer<Void>, Pointer<Uint64>) _cryptKey = _mmkvPlatform.cryptKeyFunc();
|
||||
|
||||
final void Function(Pointer<Void>, Pointer<Uint8>, int) _checkReSetCryptKey =
|
||||
_nativeLib.lookup<NativeFunction<Void Function(Pointer<Void>, Pointer<Uint8>, Uint64)>>(_nativeFuncName("checkReSetCryptKey")).asFunction();
|
||||
final void Function(Pointer<Void>, Pointer<Uint8>, int) _checkReSetCryptKey = _mmkvPlatform.checkReSetCryptKeyFunc();
|
||||
|
||||
final int Function(Pointer<Void>, Pointer<Utf8>, int) _valueSize =
|
||||
_nativeLib.lookup<NativeFunction<Uint32 Function(Pointer<Void>, Pointer<Utf8>, Int8)>>(_nativeFuncName("valueSize")).asFunction();
|
||||
final int Function(Pointer<Void>, Pointer<Utf8>, int) _valueSize = _mmkvPlatform.valueSizeFunc();
|
||||
|
||||
final int Function(Pointer<Void>, Pointer<Utf8>, Pointer<Void>, int) _writeValueToNB = _nativeLib
|
||||
.lookup<NativeFunction<Int32 Function(Pointer<Void>, Pointer<Utf8>, Pointer<Void>, Uint32)>>(_nativeFuncName("writeValueToNB"))
|
||||
.asFunction();
|
||||
final int Function(Pointer<Void>, Pointer<Utf8>, Pointer<Void>, int) _writeValueToNB = _mmkvPlatform.writeValueToNBFunc();
|
||||
|
||||
final int Function(Pointer<Void>, Pointer<Pointer<Pointer<Utf8>>>, Pointer<Pointer<Uint32>>, int) _allKeys = _nativeLib
|
||||
.lookup<NativeFunction<Uint64 Function(Pointer<Void>, Pointer<Pointer<Pointer<Utf8>>>, Pointer<Pointer<Uint32>>, Int8)>>(
|
||||
_nativeFuncName("allKeys"))
|
||||
.asFunction();
|
||||
final int Function(Pointer<Void>, Pointer<Pointer<Pointer<Utf8>>>, Pointer<Pointer<Uint32>>, int) _allKeys = _mmkvPlatform.allKeysFunc();
|
||||
final int Function(Pointer<Void>, Pointer<Utf8>) _containsKey = _mmkvPlatform.containsKeyFunc();
|
||||
|
||||
final int Function(Pointer<Void>, Pointer<Utf8>) _containsKey =
|
||||
_nativeLib.lookup<NativeFunction<Int8 Function(Pointer<Void>, Pointer<Utf8>)>>(_nativeFuncName("containsKey")).asFunction();
|
||||
final int Function(Pointer<Void>, int) _count = _mmkvPlatform.countFunc();
|
||||
|
||||
final int Function(Pointer<Void>, int) _count =
|
||||
_nativeLib.lookup<NativeFunction<Uint64 Function(Pointer<Void>, Int8)>>(_nativeFuncName("count")).asFunction();
|
||||
final int Function(Pointer<Void>) _totalSize = _mmkvPlatform.totalSizeFunc();
|
||||
|
||||
final int Function(Pointer<Void>) _totalSize =
|
||||
_nativeLib.lookup<NativeFunction<Uint64 Function(Pointer<Void>)>>(_nativeFuncName("totalSize")).asFunction();
|
||||
final int Function(Pointer<Void>) _actualSize = _mmkvPlatform.actualSizeFunc();
|
||||
|
||||
final int Function(Pointer<Void>) _actualSize =
|
||||
_nativeLib.lookup<NativeFunction<Uint64 Function(Pointer<Void>)>>(_nativeFuncName("actualSize")).asFunction();
|
||||
final void Function(Pointer<Void>, Pointer<Utf8>) _removeValueForKey = _mmkvPlatform.removeValueForKeyFunc();
|
||||
|
||||
final void Function(Pointer<Void>, Pointer<Utf8>) _removeValueForKey =
|
||||
_nativeLib.lookup<NativeFunction<Void Function(Pointer<Void>, Pointer<Utf8>)>>(_nativeFuncName("removeValueForKey")).asFunction();
|
||||
final void Function(Pointer<Void>, Pointer<Pointer<Utf8>>, Pointer<Uint32>, int) _removeValuesForKeys = _mmkvPlatform.removeValuesForKeysFunc();
|
||||
final void Function(Pointer<Void>, int) _clearAll = _mmkvPlatform.clearAllFunc();
|
||||
|
||||
final void Function(Pointer<Void>, Pointer<Pointer<Utf8>>, Pointer<Uint32>, int) _removeValuesForKeys = _nativeLib
|
||||
.lookup<NativeFunction<Void Function(Pointer<Void>, Pointer<Pointer<Utf8>>, Pointer<Uint32>, Uint64)>>(_nativeFuncName("removeValuesForKeys"))
|
||||
.asFunction();
|
||||
final void Function(Pointer<Void>, int) _mmkvSync = _mmkvPlatform.mmkvSyncFunc();
|
||||
|
||||
final void Function(Pointer<Void>, int) _clearAll =
|
||||
_nativeLib.lookup<NativeFunction<Void Function(Pointer<Void>, Uint32)>>(_nativeFuncName("clearAll")).asFunction();
|
||||
final void Function(Pointer<Void>) _clearMemoryCache = _mmkvPlatform.clearMemoryCacheFunc();
|
||||
|
||||
final void Function(Pointer<Void>, int) _mmkvSync = _nativeLib.lookup<NativeFunction<Void Function(Pointer<Void>, Int8)>>("mmkvSync").asFunction();
|
||||
final int Function() _pageSize = _mmkvPlatform.pageSizeFunc();
|
||||
|
||||
final void Function(Pointer<Void>) _clearMemoryCache =
|
||||
_nativeLib.lookup<NativeFunction<Void Function(Pointer<Void>)>>(_nativeFuncName("clearMemoryCache")).asFunction();
|
||||
final Pointer<Utf8> Function() _version = _mmkvPlatform.versionFunc();
|
||||
|
||||
final int Function() _pageSize = _nativeLib.lookup<NativeFunction<Int32 Function()>>(_nativeFuncName("pageSize")).asFunction();
|
||||
final void Function(Pointer<Void>) _trim = _mmkvPlatform.trimFunc();
|
||||
|
||||
final Pointer<Utf8> Function() _version = _nativeLib.lookup<NativeFunction<Pointer<Utf8> Function()>>(_nativeFuncName("version")).asFunction();
|
||||
final void Function(Pointer<Void>) _mmkvClose = _mmkvPlatform.mmkvCloseFunc();
|
||||
|
||||
final void Function(Pointer<Void>) _trim = _nativeLib.lookup<NativeFunction<Void Function(Pointer<Void>)>>(_nativeFuncName("trim")).asFunction();
|
||||
final void Function(Pointer<Void>, Pointer<Void>, int) _memcpy = _mmkvPlatform.memcpyFunc();
|
||||
|
||||
final void Function(Pointer<Void>) _mmkvClose = _nativeLib.lookup<NativeFunction<Void Function(Pointer<Void>)>>("mmkvClose").asFunction();
|
||||
final int Function(Pointer<Utf8> mmapID, Pointer<Utf8> dstDir, Pointer<Utf8> rootPath) _backupOne = _mmkvPlatform.backupOneFunc();
|
||||
|
||||
final void Function(Pointer<Void>, Pointer<Void>, int) _memcpy =
|
||||
_nativeLib.lookup<NativeFunction<Void Function(Pointer<Void>, Pointer<Void>, Uint64)>>("mmkvMemcpy").asFunction();
|
||||
final int Function(Pointer<Utf8> mmapID, Pointer<Utf8> srcDir, Pointer<Utf8> rootPath) _restoreOne = _mmkvPlatform.restoreOneFunc();
|
||||
|
||||
final int Function(Pointer<Utf8> mmapID, Pointer<Utf8> dstDir, Pointer<Utf8> rootPath) _backupOne =
|
||||
_nativeLib.lookup<NativeFunction<Int8 Function(Pointer<Utf8>, Pointer<Utf8>, Pointer<Utf8>)>>(_nativeFuncName("backupOne")).asFunction();
|
||||
final int Function(Pointer<Utf8> dstDir) _backupAll = _mmkvPlatform.backupAllFunc();
|
||||
final int Function(Pointer<Utf8> srcDir) _restoreAll = _mmkvPlatform.restoreAllFunc();
|
||||
|
||||
final int Function(Pointer<Utf8> mmapID, Pointer<Utf8> srcDir, Pointer<Utf8> rootPath) _restoreOne =
|
||||
_nativeLib.lookup<NativeFunction<Int8 Function(Pointer<Utf8>, Pointer<Utf8>, Pointer<Utf8>)>>(_nativeFuncName("restoreOne")).asFunction();
|
||||
final bool Function(Pointer<Void>, int) _enableAutoExpire = _mmkvPlatform.enableAutoExpireFunc();
|
||||
|
||||
final int Function(Pointer<Utf8> dstDir) _backupAll =
|
||||
_nativeLib.lookup<NativeFunction<Uint64 Function(Pointer<Utf8>)>>(_nativeFuncName("backupAll")).asFunction();
|
||||
final bool Function(Pointer<Void>) _disableAutoExpire = _mmkvPlatform.disableAutoExpireFunc();
|
||||
|
||||
final int Function(Pointer<Utf8> srcDir) _restoreAll =
|
||||
_nativeLib.lookup<NativeFunction<Uint64 Function(Pointer<Utf8>)>>(_nativeFuncName("restoreAll")).asFunction();
|
||||
final bool Function(Pointer<Void>) _enableCompareBeforeSet = _mmkvPlatform.enableCompareBeforeSetFunc();
|
||||
|
||||
final bool Function(Pointer<Void>, int) _enableAutoExpire =
|
||||
_nativeLib.lookup<NativeFunction<Bool Function(Pointer<Void>, Uint32)>>(_nativeFuncName("enableAutoExpire")).asFunction();
|
||||
final bool Function(Pointer<Void>) _disableCompareBeforeSet = _mmkvPlatform.disableCompareBeforeSetFunc();
|
||||
|
||||
final bool Function(Pointer<Void>) _disableAutoExpire =
|
||||
_nativeLib.lookup<NativeFunction<Bool Function(Pointer<Void>)>>(_nativeFuncName("disableAutoExpire")).asFunction();
|
||||
|
||||
final bool Function(Pointer<Void>) _enableCompareBeforeSet =
|
||||
_nativeLib.lookup<NativeFunction<Bool Function(Pointer<Void>)>>(_nativeFuncName("enableCompareBeforeSet")).asFunction();
|
||||
|
||||
final bool Function(Pointer<Void>) _disableCompareBeforeSet =
|
||||
_nativeLib.lookup<NativeFunction<Bool Function(Pointer<Void>)>>(_nativeFuncName("disableCompareBeforeSet")).asFunction();
|
||||
|
||||
final int Function(Pointer<Utf8> mmapID, Pointer<Utf8> rootPath) _removeStorage =
|
||||
_nativeLib.lookup<NativeFunction<Int8 Function(Pointer<Utf8>, Pointer<Utf8>)>>(_nativeFuncName("removeStorage")).asFunction();
|
||||
final int Function(Pointer<Utf8> mmapID, Pointer<Utf8> rootPath) _removeStorage = _mmkvPlatform.removeStorageFunc();
|
||||
|
||||
@@ -1,27 +1,46 @@
|
||||
/*
|
||||
* Tencent is pleased to support the open source community by making
|
||||
* MMKV available.
|
||||
*
|
||||
* Copyright (C) 2024 THL A29 Limited, a Tencent company.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Licensed under the BSD 3-Clause License (the "License"); you may not use
|
||||
* this file except in compliance with the License. You may obtain a copy of
|
||||
* the License at
|
||||
*
|
||||
* https://opensource.org/licenses/BSD-3-Clause
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import "dart:ffi";
|
||||
import "package:ffi/ffi.dart";
|
||||
import "package:flutter/services.dart";
|
||||
import "package:path_provider/path_provider.dart";
|
||||
import "package:mmkv_platform_interface/mmkv_platform_interface.dart";
|
||||
|
||||
final class MMKVPlatformAndroid extends MMKVPluginPlatform {
|
||||
final class MMKVPlatformAndroid extends MMKVPluginPlatformFFI {
|
||||
// A default real implementation of the platform interface would go here.
|
||||
static void registerWith() {
|
||||
MMKVPluginPlatform.instance = MMKVPlatformAndroid();
|
||||
}
|
||||
|
||||
@pragma("vm:prefer-inline")
|
||||
static String _nativeFuncName(String name) {
|
||||
return name;
|
||||
static final _nativeLib = DynamicLibrary.open("libmmkv.so");
|
||||
|
||||
@override
|
||||
DynamicLibrary nativeLib() {
|
||||
return _nativeLib;
|
||||
}
|
||||
|
||||
static const MethodChannel _channel = MethodChannel("mmkv");
|
||||
|
||||
static final _nativeLib = DynamicLibrary.open("libmmkv.so");
|
||||
|
||||
static final int Function(Pointer<Void>, Pointer<Utf8>, int) _encodeBool =
|
||||
_nativeLib.lookup<NativeFunction<Int8 Function(Pointer<Void>, Pointer<Utf8>, Int8)>>(_nativeFuncName("encodeBool")).asFunction();
|
||||
static final void Function(Pointer<Utf8> rootDir, Pointer<Utf8> cacheDir, int sdkInt, int logLevel) _mmkvInitialize = _nativeLib.lookup<NativeFunction<Void Function(Pointer<Utf8>, Pointer<Utf8>, Int32, Int32)>>("mmkvInitialize_v1").asFunction();
|
||||
static final void Function(Pointer<Utf8> rootDir, Pointer<Utf8> cacheDir, int sdkInt, int logLevel) _mmkvInitialize =
|
||||
_nativeLib.lookup<NativeFunction<Void Function(Pointer<Utf8>, Pointer<Utf8>, Int32, Int32)>>("mmkvInitialize_v1").asFunction();
|
||||
|
||||
@override
|
||||
Future<String> initialize(String rootDir, {String? groupDir, int logLevel = 1}) async {
|
||||
@@ -36,11 +55,6 @@ final class MMKVPlatformAndroid extends MMKVPluginPlatform {
|
||||
calloc.free(cacheDirPtr);
|
||||
return rootDir;
|
||||
}
|
||||
|
||||
@override
|
||||
int Function(Pointer<Void>, Pointer<Utf8>, int) encodeBoolFunc() {
|
||||
return _encodeBool;
|
||||
}
|
||||
}
|
||||
|
||||
Pointer<Utf8> _string2Pointer(String? str) {
|
||||
|
||||
@@ -19,25 +19,27 @@
|
||||
*/
|
||||
|
||||
import 'dart:ffi';
|
||||
import 'package:ffi/ffi.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:mmkv_platform_interface/mmkv_platform_interface.dart';
|
||||
|
||||
final class MMKVPlatformIOS extends MMKVPluginPlatform {
|
||||
final class MMKVPlatformIOS extends MMKVPluginPlatformFFI {
|
||||
static void registerWith() {
|
||||
MMKVPluginPlatform.instance = MMKVPlatformIOS();
|
||||
}
|
||||
|
||||
static String _nativeFuncName(String name) {
|
||||
@override
|
||||
String nativeFuncName(String name) {
|
||||
return "mmkv_$name";
|
||||
}
|
||||
|
||||
static const MethodChannel _channel = MethodChannel("mmkv");
|
||||
|
||||
static late final _nativeLib = DynamicLibrary.process();
|
||||
|
||||
static late final int Function(Pointer<Void>, Pointer<Utf8>, int) _encodeBool =
|
||||
_nativeLib.lookup<NativeFunction<Int8 Function(Pointer<Void>, Pointer<Utf8>, Int8)>>(_nativeFuncName("encodeBool")).asFunction();
|
||||
@override
|
||||
DynamicLibrary nativeLib() {
|
||||
return _nativeLib;
|
||||
}
|
||||
|
||||
static const MethodChannel _channel = MethodChannel("mmkv");
|
||||
|
||||
@override
|
||||
Future<String> initialize(String rootDir, {String? groupDir, int logLevel = 1}) async {
|
||||
@@ -51,9 +53,4 @@ final class MMKVPlatformIOS extends MMKVPluginPlatform {
|
||||
final ret = await _channel.invokeMethod("initializeMMKV", params);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@override
|
||||
int Function(Pointer<Void>, Pointer<Utf8>, int) encodeBoolFunc() {
|
||||
return _encodeBool;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
import "dart:ffi";
|
||||
import "package:ffi/ffi.dart";
|
||||
|
||||
/// The interface class that all implementation of MMKV platform plugin must extend
|
||||
abstract base class MMKVPluginPlatform {
|
||||
MMKVPluginPlatform();
|
||||
|
||||
@@ -38,5 +39,416 @@ abstract base class MMKVPluginPlatform {
|
||||
int Function(Pointer<Void>, Pointer<Utf8>, int) encodeBoolFunc() {
|
||||
throw UnimplementedError();
|
||||
}
|
||||
|
||||
Pointer<Void> Function(Pointer<Utf8> mmapID, int, Pointer<Utf8> cryptKey, Pointer<Utf8> rootDir, int expectedCapacity) getMMKVWithIDFunc() {
|
||||
throw UnimplementedError();
|
||||
}
|
||||
|
||||
Pointer<Void> Function(int, Pointer<Utf8> cryptKey) getDefaultMMKVFunc() {
|
||||
throw UnimplementedError();
|
||||
}
|
||||
|
||||
Pointer<Utf8> Function(Pointer<Void>) mmapIDFunc() {
|
||||
throw UnimplementedError();
|
||||
}
|
||||
|
||||
int Function(Pointer<Void>, Pointer<Utf8>, int, int) encodeBoolV2Func() {
|
||||
throw UnimplementedError();
|
||||
}
|
||||
|
||||
int Function(Pointer<Void>, Pointer<Utf8>, int) decodeBoolFunc() {
|
||||
throw UnimplementedError();
|
||||
}
|
||||
|
||||
int Function(Pointer<Void>, Pointer<Utf8>, int) encodeInt32Func() {
|
||||
throw UnimplementedError();
|
||||
}
|
||||
|
||||
int Function(Pointer<Void>, Pointer<Utf8>, int, int) encodeInt32V2Func() {
|
||||
throw UnimplementedError();
|
||||
}
|
||||
|
||||
int Function(Pointer<Void>, Pointer<Utf8>, int) decodeInt32Func() {
|
||||
throw UnimplementedError();
|
||||
}
|
||||
|
||||
int Function(Pointer<Void>, Pointer<Utf8>, int) encodeInt64Func() {
|
||||
throw UnimplementedError();
|
||||
}
|
||||
|
||||
int Function(Pointer<Void>, Pointer<Utf8>, int, int) encodeInt64V2Func() {
|
||||
throw UnimplementedError();
|
||||
}
|
||||
|
||||
int Function(Pointer<Void>, Pointer<Utf8>, int) decodeInt64Func() {
|
||||
throw UnimplementedError();
|
||||
}
|
||||
|
||||
int Function(Pointer<Void>, Pointer<Utf8>, double) encodeDoubleFunc() {
|
||||
throw UnimplementedError();
|
||||
}
|
||||
|
||||
int Function(Pointer<Void>, Pointer<Utf8>, double, int) encodeDoubleV2Func() {
|
||||
throw UnimplementedError();
|
||||
}
|
||||
|
||||
double Function(Pointer<Void>, Pointer<Utf8>, double) decodeDoubleFunc() {
|
||||
throw UnimplementedError();
|
||||
}
|
||||
|
||||
int Function(Pointer<Void>, Pointer<Utf8>, Pointer<Uint8>, int) encodeBytesFunc() {
|
||||
throw UnimplementedError();
|
||||
}
|
||||
|
||||
int Function(Pointer<Void>, Pointer<Utf8>, Pointer<Uint8>, int, int) encodeBytesV2Func() {
|
||||
throw UnimplementedError();
|
||||
}
|
||||
|
||||
Pointer<Uint8> Function(Pointer<Void>, Pointer<Utf8>, Pointer<Uint64>) decodeBytesFunc() {
|
||||
throw UnimplementedError();
|
||||
}
|
||||
|
||||
int Function(Pointer<Void>, Pointer<Uint8>, int) reKeyFunc() {
|
||||
throw UnimplementedError();
|
||||
}
|
||||
|
||||
Pointer<Uint8> Function(Pointer<Void>, Pointer<Uint64>) cryptKeyFunc() {
|
||||
throw UnimplementedError();
|
||||
}
|
||||
|
||||
void Function(Pointer<Void>, Pointer<Uint8>, int) checkReSetCryptKeyFunc() {
|
||||
throw UnimplementedError();
|
||||
}
|
||||
|
||||
int Function(Pointer<Void>, Pointer<Utf8>, int) valueSizeFunc() {
|
||||
throw UnimplementedError();
|
||||
}
|
||||
|
||||
int Function(Pointer<Void>, Pointer<Utf8>, Pointer<Void>, int) writeValueToNBFunc() {
|
||||
throw UnimplementedError();
|
||||
}
|
||||
|
||||
int Function(Pointer<Void>, Pointer<Pointer<Pointer<Utf8>>>, Pointer<Pointer<Uint32>>, int) allKeysFunc() {
|
||||
throw UnimplementedError();
|
||||
}
|
||||
|
||||
int Function(Pointer<Void>, Pointer<Utf8>) containsKeyFunc() {
|
||||
throw UnimplementedError();
|
||||
}
|
||||
|
||||
int Function(Pointer<Void>, int) countFunc() {
|
||||
throw UnimplementedError();
|
||||
}
|
||||
|
||||
int Function(Pointer<Void>) totalSizeFunc() {
|
||||
throw UnimplementedError();
|
||||
}
|
||||
|
||||
int Function(Pointer<Void>) actualSizeFunc() {
|
||||
throw UnimplementedError();
|
||||
}
|
||||
|
||||
void Function(Pointer<Void>, Pointer<Utf8>) removeValueForKeyFunc() {
|
||||
throw UnimplementedError();
|
||||
}
|
||||
|
||||
void Function(Pointer<Void>, Pointer<Pointer<Utf8>>, Pointer<Uint32>, int) removeValuesForKeysFunc() {
|
||||
throw UnimplementedError();
|
||||
}
|
||||
|
||||
void Function(Pointer<Void>, int) clearAllFunc() {
|
||||
throw UnimplementedError();
|
||||
}
|
||||
|
||||
void Function(Pointer<Void>, int) mmkvSyncFunc() {
|
||||
throw UnimplementedError();
|
||||
}
|
||||
|
||||
void Function(Pointer<Void>) clearMemoryCacheFunc() {
|
||||
throw UnimplementedError();
|
||||
}
|
||||
|
||||
int Function() pageSizeFunc() {
|
||||
throw UnimplementedError();
|
||||
}
|
||||
|
||||
Pointer<Utf8> Function() versionFunc() {
|
||||
throw UnimplementedError();
|
||||
}
|
||||
|
||||
void Function(Pointer<Void>) trimFunc() {
|
||||
throw UnimplementedError();
|
||||
}
|
||||
|
||||
void Function(Pointer<Void>) mmkvCloseFunc() {
|
||||
throw UnimplementedError();
|
||||
}
|
||||
|
||||
void Function(Pointer<Void>, Pointer<Void>, int) memcpyFunc() {
|
||||
throw UnimplementedError();
|
||||
}
|
||||
|
||||
int Function(Pointer<Utf8> mmapID, Pointer<Utf8> dstDir, Pointer<Utf8> rootPath) backupOneFunc() {
|
||||
throw UnimplementedError();
|
||||
}
|
||||
|
||||
int Function(Pointer<Utf8> mmapID, Pointer<Utf8> srcDir, Pointer<Utf8> rootPath) restoreOneFunc() {
|
||||
throw UnimplementedError();
|
||||
}
|
||||
|
||||
int Function(Pointer<Utf8> dstDir) backupAllFunc() {
|
||||
throw UnimplementedError();
|
||||
}
|
||||
|
||||
int Function(Pointer<Utf8> srcDir) restoreAllFunc() {
|
||||
throw UnimplementedError();
|
||||
}
|
||||
|
||||
bool Function(Pointer<Void>, int) enableAutoExpireFunc() {
|
||||
throw UnimplementedError();
|
||||
}
|
||||
|
||||
bool Function(Pointer<Void>) disableAutoExpireFunc() {
|
||||
throw UnimplementedError();
|
||||
}
|
||||
|
||||
bool Function(Pointer<Void>) enableCompareBeforeSetFunc() {
|
||||
throw UnimplementedError();
|
||||
}
|
||||
|
||||
bool Function(Pointer<Void>) disableCompareBeforeSetFunc() {
|
||||
throw UnimplementedError();
|
||||
}
|
||||
|
||||
int Function(Pointer<Utf8> mmapID, Pointer<Utf8> rootPath) removeStorageFunc() {
|
||||
throw UnimplementedError();
|
||||
}
|
||||
}
|
||||
|
||||
/// A helper class to ease the implementation of MMKV platform plugin in FFI
|
||||
abstract base class MMKVPluginPlatformFFI extends MMKVPluginPlatform {
|
||||
/// tells which dylib to lookup for function pointer
|
||||
DynamicLibrary nativeLib() {
|
||||
throw UnimplementedError();
|
||||
}
|
||||
|
||||
/// a chance to map native function name (to avoid potential conflict)
|
||||
String nativeFuncName(String name) {
|
||||
return name;
|
||||
}
|
||||
|
||||
Pointer<Void> Function(Pointer<Utf8> mmapID, int, Pointer<Utf8> cryptKey, Pointer<Utf8> rootDir, int expectedCapacity) getMMKVWithIDFunc() {
|
||||
return nativeLib()
|
||||
.lookup<NativeFunction<Pointer<Void> Function(Pointer<Utf8>, Uint32, Pointer<Utf8>, Pointer<Utf8>, Uint32)>>("getMMKVWithID")
|
||||
.asFunction();
|
||||
}
|
||||
|
||||
Pointer<Void> Function(int, Pointer<Utf8> cryptKey) getDefaultMMKVFunc() {
|
||||
return nativeLib().lookup<NativeFunction<Pointer<Void> Function(Uint32, Pointer<Utf8>)>>("getDefaultMMKV").asFunction();
|
||||
}
|
||||
|
||||
Pointer<Utf8> Function(Pointer<Void>) mmapIDFunc() {
|
||||
return nativeLib().lookup<NativeFunction<Pointer<Utf8> Function(Pointer<Void>)>>(nativeFuncName("mmapID")).asFunction();
|
||||
}
|
||||
|
||||
@override
|
||||
int Function(Pointer<Void>, Pointer<Utf8>, int) encodeBoolFunc() {
|
||||
return nativeLib().lookup<NativeFunction<Int8 Function(Pointer<Void>, Pointer<Utf8>, Int8)>>(nativeFuncName("encodeBool")).asFunction();
|
||||
}
|
||||
|
||||
@override
|
||||
int Function(Pointer<Void>, Pointer<Utf8>, int, int) encodeBoolV2Func() {
|
||||
return nativeLib()
|
||||
.lookup<NativeFunction<Int8 Function(Pointer<Void>, Pointer<Utf8>, Int8, Uint32)>>(nativeFuncName("encodeBool_v2"))
|
||||
.asFunction();
|
||||
}
|
||||
|
||||
int Function(Pointer<Void>, Pointer<Utf8>, int) decodeBoolFunc() {
|
||||
return nativeLib().lookup<NativeFunction<Int8 Function(Pointer<Void>, Pointer<Utf8>, Int8)>>(nativeFuncName("decodeBool")).asFunction();
|
||||
}
|
||||
|
||||
int Function(Pointer<Void>, Pointer<Utf8>, int) encodeInt32Func() {
|
||||
return nativeLib().lookup<NativeFunction<Int8 Function(Pointer<Void>, Pointer<Utf8>, Int32)>>(nativeFuncName("encodeInt32")).asFunction();
|
||||
}
|
||||
|
||||
int Function(Pointer<Void>, Pointer<Utf8>, int, int) encodeInt32V2Func() {
|
||||
return nativeLib()
|
||||
.lookup<NativeFunction<Int8 Function(Pointer<Void>, Pointer<Utf8>, Int32, Uint32)>>(nativeFuncName("encodeInt32_v2"))
|
||||
.asFunction();
|
||||
}
|
||||
|
||||
int Function(Pointer<Void>, Pointer<Utf8>, int) decodeInt32Func() {
|
||||
return nativeLib().lookup<NativeFunction<Int32 Function(Pointer<Void>, Pointer<Utf8>, Int32)>>(nativeFuncName("decodeInt32")).asFunction();
|
||||
}
|
||||
|
||||
int Function(Pointer<Void>, Pointer<Utf8>, int) encodeInt64Func() {
|
||||
return nativeLib().lookup<NativeFunction<Int8 Function(Pointer<Void>, Pointer<Utf8>, Int64)>>(nativeFuncName("encodeInt64")).asFunction();
|
||||
}
|
||||
|
||||
int Function(Pointer<Void>, Pointer<Utf8>, int, int) encodeInt64V2Func() {
|
||||
return nativeLib()
|
||||
.lookup<NativeFunction<Int8 Function(Pointer<Void>, Pointer<Utf8>, Int64, Uint32)>>(nativeFuncName("encodeInt64_v2"))
|
||||
.asFunction();
|
||||
}
|
||||
|
||||
int Function(Pointer<Void>, Pointer<Utf8>, int) decodeInt64Func() {
|
||||
return nativeLib().lookup<NativeFunction<Int64 Function(Pointer<Void>, Pointer<Utf8>, Int64)>>(nativeFuncName("decodeInt64")).asFunction();
|
||||
}
|
||||
|
||||
int Function(Pointer<Void>, Pointer<Utf8>, double) encodeDoubleFunc() {
|
||||
return nativeLib().lookup<NativeFunction<Int8 Function(Pointer<Void>, Pointer<Utf8>, Double)>>(nativeFuncName("encodeDouble")).asFunction();
|
||||
}
|
||||
|
||||
int Function(Pointer<Void>, Pointer<Utf8>, double, int) encodeDoubleV2Func() {
|
||||
return nativeLib()
|
||||
.lookup<NativeFunction<Int8 Function(Pointer<Void>, Pointer<Utf8>, Double, Uint32)>>(nativeFuncName("encodeDouble_v2"))
|
||||
.asFunction();
|
||||
}
|
||||
|
||||
double Function(Pointer<Void>, Pointer<Utf8>, double) decodeDoubleFunc() {
|
||||
return nativeLib().lookup<NativeFunction<Double Function(Pointer<Void>, Pointer<Utf8>, Double)>>(nativeFuncName("decodeDouble")).asFunction();
|
||||
}
|
||||
|
||||
int Function(Pointer<Void>, Pointer<Utf8>, Pointer<Uint8>, int) encodeBytesFunc() {
|
||||
return nativeLib()
|
||||
.lookup<NativeFunction<Int8 Function(Pointer<Void>, Pointer<Utf8>, Pointer<Uint8>, Uint64)>>(nativeFuncName("encodeBytes"))
|
||||
.asFunction();
|
||||
}
|
||||
|
||||
int Function(Pointer<Void>, Pointer<Utf8>, Pointer<Uint8>, int, int) encodeBytesV2Func() {
|
||||
return nativeLib()
|
||||
.lookup<NativeFunction<Int8 Function(Pointer<Void>, Pointer<Utf8>, Pointer<Uint8>, Uint64, Uint32)>>(nativeFuncName("encodeBytes_v2"))
|
||||
.asFunction();
|
||||
}
|
||||
|
||||
Pointer<Uint8> Function(Pointer<Void>, Pointer<Utf8>, Pointer<Uint64>) decodeBytesFunc() {
|
||||
return nativeLib()
|
||||
.lookup<NativeFunction<Pointer<Uint8> Function(Pointer<Void>, Pointer<Utf8>, Pointer<Uint64>)>>(nativeFuncName("decodeBytes"))
|
||||
.asFunction();
|
||||
}
|
||||
|
||||
int Function(Pointer<Void>, Pointer<Uint8>, int) reKeyFunc() {
|
||||
return nativeLib().lookup<NativeFunction<Int8 Function(Pointer<Void>, Pointer<Uint8>, Uint64)>>(nativeFuncName("reKey")).asFunction();
|
||||
}
|
||||
|
||||
Pointer<Uint8> Function(Pointer<Void>, Pointer<Uint64>) cryptKeyFunc() {
|
||||
return nativeLib().lookup<NativeFunction<Pointer<Uint8> Function(Pointer<Void>, Pointer<Uint64>)>>(nativeFuncName("cryptKey")).asFunction();
|
||||
}
|
||||
|
||||
void Function(Pointer<Void>, Pointer<Uint8>, int) checkReSetCryptKeyFunc() {
|
||||
return nativeLib()
|
||||
.lookup<NativeFunction<Void Function(Pointer<Void>, Pointer<Uint8>, Uint64)>>(nativeFuncName("checkReSetCryptKey"))
|
||||
.asFunction();
|
||||
}
|
||||
|
||||
int Function(Pointer<Void>, Pointer<Utf8>, int) valueSizeFunc() {
|
||||
return nativeLib().lookup<NativeFunction<Uint32 Function(Pointer<Void>, Pointer<Utf8>, Int8)>>(nativeFuncName("valueSize")).asFunction();
|
||||
}
|
||||
|
||||
int Function(Pointer<Void>, Pointer<Utf8>, Pointer<Void>, int) writeValueToNBFunc() {
|
||||
return nativeLib()
|
||||
.lookup<NativeFunction<Int32 Function(Pointer<Void>, Pointer<Utf8>, Pointer<Void>, Uint32)>>(nativeFuncName("writeValueToNB"))
|
||||
.asFunction();
|
||||
}
|
||||
|
||||
int Function(Pointer<Void>, Pointer<Pointer<Pointer<Utf8>>>, Pointer<Pointer<Uint32>>, int) allKeysFunc() {
|
||||
return nativeLib()
|
||||
.lookup<NativeFunction<Uint64 Function(Pointer<Void>, Pointer<Pointer<Pointer<Utf8>>>, Pointer<Pointer<Uint32>>, Int8)>>(
|
||||
nativeFuncName("allKeys"))
|
||||
.asFunction();
|
||||
}
|
||||
|
||||
int Function(Pointer<Void>, Pointer<Utf8>) containsKeyFunc() {
|
||||
return nativeLib().lookup<NativeFunction<Int8 Function(Pointer<Void>, Pointer<Utf8>)>>(nativeFuncName("containsKey")).asFunction();
|
||||
}
|
||||
|
||||
int Function(Pointer<Void>, int) countFunc() {
|
||||
return nativeLib().lookup<NativeFunction<Uint64 Function(Pointer<Void>, Int8)>>(nativeFuncName("count")).asFunction();
|
||||
}
|
||||
|
||||
int Function(Pointer<Void>) totalSizeFunc() {
|
||||
return nativeLib().lookup<NativeFunction<Uint64 Function(Pointer<Void>)>>(nativeFuncName("totalSize")).asFunction();
|
||||
}
|
||||
|
||||
int Function(Pointer<Void>) actualSizeFunc() {
|
||||
return nativeLib().lookup<NativeFunction<Uint64 Function(Pointer<Void>)>>(nativeFuncName("actualSize")).asFunction();
|
||||
}
|
||||
|
||||
void Function(Pointer<Void>, Pointer<Utf8>) removeValueForKeyFunc() {
|
||||
return nativeLib().lookup<NativeFunction<Void Function(Pointer<Void>, Pointer<Utf8>)>>(nativeFuncName("removeValueForKey")).asFunction();
|
||||
}
|
||||
|
||||
void Function(Pointer<Void>, Pointer<Pointer<Utf8>>, Pointer<Uint32>, int) removeValuesForKeysFunc() {
|
||||
return nativeLib()
|
||||
.lookup<NativeFunction<Void Function(Pointer<Void>, Pointer<Pointer<Utf8>>, Pointer<Uint32>, Uint64)>>(nativeFuncName("removeValuesForKeys"))
|
||||
.asFunction();
|
||||
}
|
||||
|
||||
void Function(Pointer<Void>, int) clearAllFunc() {
|
||||
return nativeLib().lookup<NativeFunction<Void Function(Pointer<Void>, Uint32)>>(nativeFuncName("clearAll")).asFunction();
|
||||
}
|
||||
|
||||
void Function(Pointer<Void>, int) mmkvSyncFunc() {
|
||||
return nativeLib().lookup<NativeFunction<Void Function(Pointer<Void>, Int8)>>("mmkvSync").asFunction();
|
||||
}
|
||||
|
||||
void Function(Pointer<Void>) clearMemoryCacheFunc() {
|
||||
return nativeLib().lookup<NativeFunction<Void Function(Pointer<Void>)>>(nativeFuncName("clearMemoryCache")).asFunction();
|
||||
}
|
||||
|
||||
int Function() pageSizeFunc() {
|
||||
return nativeLib().lookup<NativeFunction<Int32 Function()>>(nativeFuncName("pageSize")).asFunction();
|
||||
}
|
||||
|
||||
Pointer<Utf8> Function() versionFunc() {
|
||||
return nativeLib().lookup<NativeFunction<Pointer<Utf8> Function()>>(nativeFuncName("version")).asFunction();
|
||||
}
|
||||
|
||||
void Function(Pointer<Void>) trimFunc() {
|
||||
return nativeLib().lookup<NativeFunction<Void Function(Pointer<Void>)>>(nativeFuncName("trim")).asFunction();
|
||||
}
|
||||
|
||||
void Function(Pointer<Void>) mmkvCloseFunc() {
|
||||
return nativeLib().lookup<NativeFunction<Void Function(Pointer<Void>)>>("mmkvClose").asFunction();
|
||||
}
|
||||
|
||||
void Function(Pointer<Void>, Pointer<Void>, int) memcpyFunc() {
|
||||
return nativeLib().lookup<NativeFunction<Void Function(Pointer<Void>, Pointer<Void>, Uint64)>>("mmkvMemcpy").asFunction();
|
||||
}
|
||||
|
||||
int Function(Pointer<Utf8> mmapID, Pointer<Utf8> dstDir, Pointer<Utf8> rootPath) backupOneFunc() {
|
||||
return nativeLib().lookup<NativeFunction<Int8 Function(Pointer<Utf8>, Pointer<Utf8>, Pointer<Utf8>)>>(nativeFuncName("backupOne")).asFunction();
|
||||
}
|
||||
|
||||
int Function(Pointer<Utf8> mmapID, Pointer<Utf8> srcDir, Pointer<Utf8> rootPath) restoreOneFunc() {
|
||||
return nativeLib().lookup<NativeFunction<Int8 Function(Pointer<Utf8>, Pointer<Utf8>, Pointer<Utf8>)>>(nativeFuncName("restoreOne")).asFunction();
|
||||
}
|
||||
|
||||
int Function(Pointer<Utf8> dstDir) backupAllFunc() {
|
||||
return nativeLib().lookup<NativeFunction<Uint64 Function(Pointer<Utf8>)>>(nativeFuncName("backupAll")).asFunction();
|
||||
}
|
||||
|
||||
int Function(Pointer<Utf8> srcDir) restoreAllFunc() {
|
||||
return nativeLib().lookup<NativeFunction<Uint64 Function(Pointer<Utf8>)>>(nativeFuncName("restoreAll")).asFunction();
|
||||
}
|
||||
|
||||
bool Function(Pointer<Void>, int) enableAutoExpireFunc() {
|
||||
return nativeLib().lookup<NativeFunction<Bool Function(Pointer<Void>, Uint32)>>(nativeFuncName("enableAutoExpire")).asFunction();
|
||||
}
|
||||
|
||||
bool Function(Pointer<Void>) disableAutoExpireFunc() {
|
||||
return nativeLib().lookup<NativeFunction<Bool Function(Pointer<Void>)>>(nativeFuncName("disableAutoExpire")).asFunction();
|
||||
}
|
||||
|
||||
bool Function(Pointer<Void>) enableCompareBeforeSetFunc() {
|
||||
return nativeLib().lookup<NativeFunction<Bool Function(Pointer<Void>)>>(nativeFuncName("enableCompareBeforeSet")).asFunction();
|
||||
}
|
||||
|
||||
bool Function(Pointer<Void>) disableCompareBeforeSetFunc() {
|
||||
return nativeLib().lookup<NativeFunction<Bool Function(Pointer<Void>)>>(nativeFuncName("disableCompareBeforeSet")).asFunction();
|
||||
}
|
||||
|
||||
int Function(Pointer<Utf8> mmapID, Pointer<Utf8> rootPath) removeStorageFunc() {
|
||||
return nativeLib().lookup<NativeFunction<Int8 Function(Pointer<Utf8>, Pointer<Utf8>)>>(nativeFuncName("removeStorage")).asFunction();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user