├── android ├── app │ ├── .cxx │ │ ├── cmake │ │ │ └── debug │ │ │ │ ├── x86 │ │ │ │ ├── android_gradle_build_lmdb_x86.stderr.txt │ │ │ │ ├── android_gradle_generate_cmake_ninja_json_x86.stderr.txt │ │ │ │ ├── .ninja_deps │ │ │ │ ├── CMakeFiles │ │ │ │ │ ├── cmake.check_cache │ │ │ │ │ ├── lmdb.dir │ │ │ │ │ │ ├── mdb.c.o │ │ │ │ │ │ └── midl.c.o │ │ │ │ │ ├── feature_tests.bin │ │ │ │ │ ├── 3.6.0-rc2 │ │ │ │ │ │ ├── CMakeDetermineCompilerABI_C.bin │ │ │ │ │ │ ├── CMakeDetermineCompilerABI_CXX.bin │ │ │ │ │ │ ├── CMakeSystem.cmake │ │ │ │ │ │ ├── CMakeCCompiler.cmake │ │ │ │ │ │ └── CMakeCXXCompiler.cmake │ │ │ │ │ ├── TargetDirectories.txt │ │ │ │ │ └── feature_tests.c │ │ │ │ ├── .ninja_log │ │ │ │ ├── android_gradle_build_lmdb_x86.command.txt │ │ │ │ ├── android_gradle_build_lmdb_x86.stdout.txt │ │ │ │ ├── android_gradle_build_mini.json │ │ │ │ ├── build_command.txt │ │ │ │ ├── android_gradle_generate_cmake_ninja_json_x86.command.txt │ │ │ │ ├── json_generation_record.json │ │ │ │ ├── build_output.txt │ │ │ │ ├── android_gradle_generate_cmake_ninja_json_x86.stdout.txt │ │ │ │ ├── cmake_install.cmake │ │ │ │ ├── android_gradle_build.json │ │ │ │ ├── rules.ninja │ │ │ │ └── build_model.json │ │ │ │ ├── x86_64 │ │ │ │ ├── android_gradle_generate_cmake_ninja_json_x86_64.stderr.txt │ │ │ │ ├── CMakeFiles │ │ │ │ │ ├── cmake.check_cache │ │ │ │ │ ├── feature_tests.bin │ │ │ │ │ ├── 3.6.0-rc2 │ │ │ │ │ │ ├── CMakeDetermineCompilerABI_C.bin │ │ │ │ │ │ ├── CMakeDetermineCompilerABI_CXX.bin │ │ │ │ │ │ ├── CMakeSystem.cmake │ │ │ │ │ │ ├── CMakeCCompiler.cmake │ │ │ │ │ │ └── CMakeCXXCompiler.cmake │ │ │ │ │ ├── TargetDirectories.txt │ │ │ │ │ └── feature_tests.c │ │ │ │ ├── build_command.txt │ │ │ │ ├── android_gradle_build_mini.json │ │ │ │ ├── android_gradle_generate_cmake_ninja_json_x86_64.command.txt │ │ │ │ ├── build_output.txt │ │ │ │ ├── android_gradle_generate_cmake_ninja_json_x86_64.stdout.txt │ │ │ │ ├── cmake_install.cmake │ │ │ │ ├── android_gradle_build.json │ │ │ │ ├── json_generation_record.json │ │ │ │ ├── rules.ninja │ │ │ │ └── build_model.json │ │ │ │ ├── arm64-v8a │ │ │ │ ├── android_gradle_generate_cmake_ninja_json_arm64-v8a.stderr.txt │ │ │ │ ├── CMakeFiles │ │ │ │ │ ├── cmake.check_cache │ │ │ │ │ ├── feature_tests.bin │ │ │ │ │ ├── 3.6.0-rc2 │ │ │ │ │ │ ├── CMakeDetermineCompilerABI_C.bin │ │ │ │ │ │ ├── CMakeDetermineCompilerABI_CXX.bin │ │ │ │ │ │ ├── CMakeSystem.cmake │ │ │ │ │ │ ├── CMakeCCompiler.cmake │ │ │ │ │ │ └── CMakeCXXCompiler.cmake │ │ │ │ │ ├── TargetDirectories.txt │ │ │ │ │ └── feature_tests.c │ │ │ │ ├── build_command.txt │ │ │ │ ├── android_gradle_build_mini.json │ │ │ │ ├── android_gradle_generate_cmake_ninja_json_arm64-v8a.command.txt │ │ │ │ ├── build_output.txt │ │ │ │ ├── android_gradle_generate_cmake_ninja_json_arm64-v8a.stdout.txt │ │ │ │ ├── cmake_install.cmake │ │ │ │ ├── android_gradle_build.json │ │ │ │ ├── rules.ninja │ │ │ │ ├── json_generation_record.json │ │ │ │ └── build_model.json │ │ │ │ └── armeabi-v7a │ │ │ │ ├── android_gradle_generate_cmake_ninja_json_armeabi-v7a.stderr.txt │ │ │ │ ├── CMakeFiles │ │ │ │ ├── cmake.check_cache │ │ │ │ ├── feature_tests.bin │ │ │ │ ├── 3.6.0-rc2 │ │ │ │ │ ├── CMakeDetermineCompilerABI_C.bin │ │ │ │ │ ├── CMakeDetermineCompilerABI_CXX.bin │ │ │ │ │ ├── CMakeSystem.cmake │ │ │ │ │ ├── CMakeCCompiler.cmake │ │ │ │ │ └── CMakeCXXCompiler.cmake │ │ │ │ ├── TargetDirectories.txt │ │ │ │ └── feature_tests.c │ │ │ │ ├── build_command.txt │ │ │ │ ├── android_gradle_build_mini.json │ │ │ │ ├── android_gradle_generate_cmake_ninja_json_armeabi-v7a.command.txt │ │ │ │ ├── build_output.txt │ │ │ │ ├── android_gradle_generate_cmake_ninja_json_armeabi-v7a.stdout.txt │ │ │ │ ├── cmake_install.cmake │ │ │ │ ├── android_gradle_build.json │ │ │ │ ├── rules.ninja │ │ │ │ ├── json_generation_record.json │ │ │ │ └── build_model.json │ │ └── ndk_locator_record.json │ ├── src │ │ ├── main │ │ │ ├── res │ │ │ │ ├── mipmap-hdpi │ │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-mdpi │ │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xhdpi │ │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxhdpi │ │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxxhdpi │ │ │ │ │ └── ic_launcher.png │ │ │ │ ├── drawable │ │ │ │ │ └── launch_background.xml │ │ │ │ └── values │ │ │ │ │ └── styles.xml │ │ │ ├── kotlin │ │ │ │ └── com │ │ │ │ │ └── bitsydarel │ │ │ │ │ └── flutter_ffi_demo │ │ │ │ │ └── MainActivity.kt │ │ │ └── AndroidManifest.xml │ │ ├── debug │ │ │ └── AndroidManifest.xml │ │ └── profile │ │ │ └── AndroidManifest.xml │ └── build.gradle ├── gradle.properties ├── .gitignore ├── gradle │ └── wrapper │ │ └── gradle-wrapper.properties ├── settings.gradle └── build.gradle ├── ios ├── Runner │ ├── Runner-Bridging-Header.h │ ├── Assets.xcassets │ │ ├── LaunchImage.imageset │ │ │ ├── LaunchImage.png │ │ │ ├── LaunchImage@2x.png │ │ │ ├── LaunchImage@3x.png │ │ │ ├── README.md │ │ │ └── Contents.json │ │ └── AppIcon.appiconset │ │ │ ├── Icon-App-20x20@1x.png │ │ │ ├── Icon-App-20x20@2x.png │ │ │ ├── Icon-App-20x20@3x.png │ │ │ ├── Icon-App-29x29@1x.png │ │ │ ├── Icon-App-29x29@2x.png │ │ │ ├── Icon-App-29x29@3x.png │ │ │ ├── Icon-App-40x40@1x.png │ │ │ ├── Icon-App-40x40@2x.png │ │ │ ├── Icon-App-40x40@3x.png │ │ │ ├── Icon-App-60x60@2x.png │ │ │ ├── Icon-App-60x60@3x.png │ │ │ ├── Icon-App-76x76@1x.png │ │ │ ├── Icon-App-76x76@2x.png │ │ │ ├── Icon-App-1024x1024@1x.png │ │ │ ├── Icon-App-83.5x83.5@2x.png │ │ │ └── Contents.json │ ├── AppDelegate.swift │ ├── Base.lproj │ │ ├── Main.storyboard │ │ └── LaunchScreen.storyboard │ └── Info.plist ├── Flutter │ ├── Debug.xcconfig │ ├── Release.xcconfig │ └── AppFrameworkInfo.plist ├── Runner.xcodeproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata │ │ │ ├── WorkspaceSettings.xcsettings │ │ │ └── IDEWorkspaceChecks.plist │ └── xcshareddata │ │ └── xcschemes │ │ └── Runner.xcscheme ├── Runner.xcworkspace │ ├── contents.xcworkspacedata │ └── xcshareddata │ │ ├── WorkspaceSettings.xcsettings │ │ └── IDEWorkspaceChecks.plist ├── .gitignore └── Podfile ├── lmdb ├── CMakeLists.txt ├── Android.mk ├── LICENSE └── midl.h ├── .metadata ├── README.md ├── lib ├── main.dart └── src │ ├── task.dart │ ├── lmdb │ ├── transformers.dart │ ├── types.dart │ └── lmdb_bindings.dart │ ├── utils.dart │ ├── add_task_page.dart │ └── home_page.dart ├── .gitignore ├── test └── widget_test.dart ├── pubspec.yaml └── pubspec.lock /android/app/.cxx/cmake/debug/x86/android_gradle_build_lmdb_x86.stderr.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /ios/Runner/Runner-Bridging-Header.h: -------------------------------------------------------------------------------- 1 | #import "GeneratedPluginRegistrant.h" 2 | -------------------------------------------------------------------------------- /android/app/.cxx/cmake/debug/x86/android_gradle_generate_cmake_ninja_json_x86.stderr.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /android/app/.cxx/cmake/debug/x86_64/android_gradle_generate_cmake_ninja_json_x86_64.stderr.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /android/app/.cxx/cmake/debug/arm64-v8a/android_gradle_generate_cmake_ninja_json_arm64-v8a.stderr.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /android/app/.cxx/cmake/debug/armeabi-v7a/android_gradle_generate_cmake_ninja_json_armeabi-v7a.stderr.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lmdb/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.4.1) 2 | 3 | add_library( 4 | lmdb SHARED 5 | mdb.c 6 | midl.c 7 | ) -------------------------------------------------------------------------------- /ios/Flutter/Debug.xcconfig: -------------------------------------------------------------------------------- 1 | #include "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" 2 | #include "Generated.xcconfig" 3 | -------------------------------------------------------------------------------- /android/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.jvmargs=-Xmx1536M 2 | android.enableR8=true 3 | android.useAndroidX=true 4 | android.enableJetifier=true 5 | -------------------------------------------------------------------------------- /ios/Flutter/Release.xcconfig: -------------------------------------------------------------------------------- 1 | #include "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" 2 | #include "Generated.xcconfig" 3 | -------------------------------------------------------------------------------- /android/app/.cxx/cmake/debug/x86/.ninja_deps: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitsydarel/flutter_ffi_demo/HEAD/android/app/.cxx/cmake/debug/x86/.ninja_deps -------------------------------------------------------------------------------- /android/app/.cxx/cmake/debug/x86/CMakeFiles/cmake.check_cache: -------------------------------------------------------------------------------- 1 | # This file is generated by cmake for dependency checking of the CMakeCache.txt file 2 | -------------------------------------------------------------------------------- /android/app/.cxx/cmake/debug/x86_64/CMakeFiles/cmake.check_cache: -------------------------------------------------------------------------------- 1 | # This file is generated by cmake for dependency checking of the CMakeCache.txt file 2 | -------------------------------------------------------------------------------- /android/.gitignore: -------------------------------------------------------------------------------- 1 | gradle-wrapper.jar 2 | /.gradle 3 | /captures/ 4 | /gradlew 5 | /gradlew.bat 6 | /local.properties 7 | GeneratedPluginRegistrant.java 8 | -------------------------------------------------------------------------------- /android/app/.cxx/cmake/debug/arm64-v8a/CMakeFiles/cmake.check_cache: -------------------------------------------------------------------------------- 1 | # This file is generated by cmake for dependency checking of the CMakeCache.txt file 2 | -------------------------------------------------------------------------------- /android/app/.cxx/cmake/debug/armeabi-v7a/CMakeFiles/cmake.check_cache: -------------------------------------------------------------------------------- 1 | # This file is generated by cmake for dependency checking of the CMakeCache.txt file 2 | -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitsydarel/flutter_ffi_demo/HEAD/android/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitsydarel/flutter_ffi_demo/HEAD/android/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitsydarel/flutter_ffi_demo/HEAD/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitsydarel/flutter_ffi_demo/HEAD/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitsydarel/flutter_ffi_demo/HEAD/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/.cxx/cmake/debug/x86/CMakeFiles/lmdb.dir/mdb.c.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitsydarel/flutter_ffi_demo/HEAD/android/app/.cxx/cmake/debug/x86/CMakeFiles/lmdb.dir/mdb.c.o -------------------------------------------------------------------------------- /android/app/.cxx/cmake/debug/x86/CMakeFiles/feature_tests.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitsydarel/flutter_ffi_demo/HEAD/android/app/.cxx/cmake/debug/x86/CMakeFiles/feature_tests.bin -------------------------------------------------------------------------------- /android/app/.cxx/cmake/debug/x86/CMakeFiles/lmdb.dir/midl.c.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitsydarel/flutter_ffi_demo/HEAD/android/app/.cxx/cmake/debug/x86/CMakeFiles/lmdb.dir/midl.c.o -------------------------------------------------------------------------------- /android/app/.cxx/cmake/debug/x86_64/CMakeFiles/feature_tests.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitsydarel/flutter_ffi_demo/HEAD/android/app/.cxx/cmake/debug/x86_64/CMakeFiles/feature_tests.bin -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitsydarel/flutter_ffi_demo/HEAD/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png -------------------------------------------------------------------------------- /android/app/.cxx/cmake/debug/arm64-v8a/CMakeFiles/feature_tests.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitsydarel/flutter_ffi_demo/HEAD/android/app/.cxx/cmake/debug/arm64-v8a/CMakeFiles/feature_tests.bin -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitsydarel/flutter_ffi_demo/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitsydarel/flutter_ffi_demo/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitsydarel/flutter_ffi_demo/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitsydarel/flutter_ffi_demo/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitsydarel/flutter_ffi_demo/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitsydarel/flutter_ffi_demo/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitsydarel/flutter_ffi_demo/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitsydarel/flutter_ffi_demo/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitsydarel/flutter_ffi_demo/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitsydarel/flutter_ffi_demo/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitsydarel/flutter_ffi_demo/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitsydarel/flutter_ffi_demo/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitsydarel/flutter_ffi_demo/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitsydarel/flutter_ffi_demo/HEAD/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitsydarel/flutter_ffi_demo/HEAD/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png -------------------------------------------------------------------------------- /android/app/.cxx/cmake/debug/armeabi-v7a/CMakeFiles/feature_tests.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitsydarel/flutter_ffi_demo/HEAD/android/app/.cxx/cmake/debug/armeabi-v7a/CMakeFiles/feature_tests.bin -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitsydarel/flutter_ffi_demo/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitsydarel/flutter_ffi_demo/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png -------------------------------------------------------------------------------- /lmdb/Android.mk: -------------------------------------------------------------------------------- 1 | LOCAL_PATH := $(call my-dir) 2 | 3 | include $(CLEAR_VARS) 4 | 5 | LOCAL_MODULE := lmdb 6 | LOCAL_SRC_FILES := \ 7 | mdb.c \ 8 | midl.c 9 | 10 | include $(BUILD_SHARED_LIBRARY) -------------------------------------------------------------------------------- /android/app/.cxx/cmake/debug/x86/CMakeFiles/3.6.0-rc2/CMakeDetermineCompilerABI_C.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitsydarel/flutter_ffi_demo/HEAD/android/app/.cxx/cmake/debug/x86/CMakeFiles/3.6.0-rc2/CMakeDetermineCompilerABI_C.bin -------------------------------------------------------------------------------- /android/app/.cxx/cmake/debug/x86/CMakeFiles/3.6.0-rc2/CMakeDetermineCompilerABI_CXX.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitsydarel/flutter_ffi_demo/HEAD/android/app/.cxx/cmake/debug/x86/CMakeFiles/3.6.0-rc2/CMakeDetermineCompilerABI_CXX.bin -------------------------------------------------------------------------------- /android/app/src/main/kotlin/com/bitsydarel/flutter_ffi_demo/MainActivity.kt: -------------------------------------------------------------------------------- 1 | package com.bitsydarel.flutter_ffi_demo 2 | 3 | import io.flutter.embedding.android.FlutterActivity 4 | 5 | class MainActivity: FlutterActivity() { 6 | } 7 | -------------------------------------------------------------------------------- /android/app/.cxx/cmake/debug/x86_64/CMakeFiles/3.6.0-rc2/CMakeDetermineCompilerABI_C.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitsydarel/flutter_ffi_demo/HEAD/android/app/.cxx/cmake/debug/x86_64/CMakeFiles/3.6.0-rc2/CMakeDetermineCompilerABI_C.bin -------------------------------------------------------------------------------- /android/app/.cxx/cmake/debug/x86_64/CMakeFiles/3.6.0-rc2/CMakeDetermineCompilerABI_CXX.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitsydarel/flutter_ffi_demo/HEAD/android/app/.cxx/cmake/debug/x86_64/CMakeFiles/3.6.0-rc2/CMakeDetermineCompilerABI_CXX.bin -------------------------------------------------------------------------------- /android/app/.cxx/cmake/debug/arm64-v8a/CMakeFiles/3.6.0-rc2/CMakeDetermineCompilerABI_C.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitsydarel/flutter_ffi_demo/HEAD/android/app/.cxx/cmake/debug/arm64-v8a/CMakeFiles/3.6.0-rc2/CMakeDetermineCompilerABI_C.bin -------------------------------------------------------------------------------- /ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /android/app/.cxx/cmake/debug/arm64-v8a/CMakeFiles/3.6.0-rc2/CMakeDetermineCompilerABI_CXX.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitsydarel/flutter_ffi_demo/HEAD/android/app/.cxx/cmake/debug/arm64-v8a/CMakeFiles/3.6.0-rc2/CMakeDetermineCompilerABI_CXX.bin -------------------------------------------------------------------------------- /android/app/.cxx/cmake/debug/armeabi-v7a/CMakeFiles/3.6.0-rc2/CMakeDetermineCompilerABI_C.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitsydarel/flutter_ffi_demo/HEAD/android/app/.cxx/cmake/debug/armeabi-v7a/CMakeFiles/3.6.0-rc2/CMakeDetermineCompilerABI_C.bin -------------------------------------------------------------------------------- /android/app/.cxx/cmake/debug/armeabi-v7a/CMakeFiles/3.6.0-rc2/CMakeDetermineCompilerABI_CXX.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitsydarel/flutter_ffi_demo/HEAD/android/app/.cxx/cmake/debug/armeabi-v7a/CMakeFiles/3.6.0-rc2/CMakeDetermineCompilerABI_CXX.bin -------------------------------------------------------------------------------- /android/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Fri Jun 23 08:50:38 CEST 2017 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.2-all.zip 7 | -------------------------------------------------------------------------------- /android/app/.cxx/cmake/debug/x86/.ninja_log: -------------------------------------------------------------------------------- 1 | # ninja log v5 2 | 0 232 0 CMakeFiles/lmdb.dir/midl.c.o 1a83d0a8a558508b 3 | 0 530 0 CMakeFiles/lmdb.dir/mdb.c.o b94d0e5337dfd557 4 | 530 584 0 /Users/darelbitsy/IdeaProjects/flutter_ffi_demo/build/app/intermediates/cmake/debug/obj/x86/liblmdb.so 1220c59655bc501 5 | -------------------------------------------------------------------------------- /android/app/.cxx/cmake/debug/x86/android_gradle_build_lmdb_x86.command.txt: -------------------------------------------------------------------------------- 1 | Executable : /Users/darelbitsy/Library/Android/sdk/cmake/3.6.4111459/bin/cmake 2 | arguments : 3 | --build 4 | /Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/x86 5 | --target 6 | lmdb 7 | jvmArgs : 8 | 9 | -------------------------------------------------------------------------------- /ios/Runner.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PreviewsEnabled 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /android/app/.cxx/cmake/debug/x86/android_gradle_build_lmdb_x86.stdout.txt: -------------------------------------------------------------------------------- 1 | [1/3] Building C object CMakeFiles/lmdb.dir/mdb.c.o 2 | [2/3] Building C object CMakeFiles/lmdb.dir/midl.c.o 3 | [3/3] Linking C shared library /Users/darelbitsy/IdeaProjects/flutter_ffi_demo/build/app/intermediates/cmake/debug/obj/x86/liblmdb.so 4 | -------------------------------------------------------------------------------- /ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PreviewsEnabled 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /.metadata: -------------------------------------------------------------------------------- 1 | # This file tracks properties of this Flutter project. 2 | # Used by Flutter tool to assess capabilities and perform upgrades etc. 3 | # 4 | # This file should be version controlled and should not be manually edited. 5 | 6 | version: 7 | revision: f7a6a7906be96d2288f5d63a5a54c515a6e987fe 8 | channel: stable 9 | 10 | project_type: app 11 | -------------------------------------------------------------------------------- /android/app/.cxx/cmake/debug/x86/CMakeFiles/TargetDirectories.txt: -------------------------------------------------------------------------------- 1 | /Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/x86/CMakeFiles/edit_cache.dir 2 | /Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/x86/CMakeFiles/rebuild_cache.dir 3 | /Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/x86/CMakeFiles/lmdb.dir 4 | -------------------------------------------------------------------------------- /android/app/.cxx/cmake/debug/x86_64/CMakeFiles/TargetDirectories.txt: -------------------------------------------------------------------------------- 1 | /Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/x86_64/CMakeFiles/edit_cache.dir 2 | /Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/x86_64/CMakeFiles/rebuild_cache.dir 3 | /Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/x86_64/CMakeFiles/lmdb.dir 4 | -------------------------------------------------------------------------------- /android/app/src/debug/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /android/app/src/profile/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md: -------------------------------------------------------------------------------- 1 | # Launch Screen Assets 2 | 3 | You can customize the launch screen with your own desired assets by replacing the image files in this directory. 4 | 5 | You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images. -------------------------------------------------------------------------------- /android/app/.cxx/cmake/debug/arm64-v8a/CMakeFiles/TargetDirectories.txt: -------------------------------------------------------------------------------- 1 | /Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/arm64-v8a/CMakeFiles/edit_cache.dir 2 | /Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/arm64-v8a/CMakeFiles/rebuild_cache.dir 3 | /Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/arm64-v8a/CMakeFiles/lmdb.dir 4 | -------------------------------------------------------------------------------- /android/app/.cxx/cmake/debug/armeabi-v7a/CMakeFiles/TargetDirectories.txt: -------------------------------------------------------------------------------- 1 | /Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/armeabi-v7a/CMakeFiles/edit_cache.dir 2 | /Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/armeabi-v7a/CMakeFiles/rebuild_cache.dir 3 | /Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/armeabi-v7a/CMakeFiles/lmdb.dir 4 | -------------------------------------------------------------------------------- /ios/Runner/AppDelegate.swift: -------------------------------------------------------------------------------- 1 | import UIKit 2 | import Flutter 3 | 4 | @UIApplicationMain 5 | @objc class AppDelegate: FlutterAppDelegate { 6 | override func application( 7 | _ application: UIApplication, 8 | didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? 9 | ) -> Bool { 10 | GeneratedPluginRegistrant.register(with: self) 11 | return super.application(application, didFinishLaunchingWithOptions: launchOptions) 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /android/app/src/main/res/drawable/launch_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 12 | 13 | -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "LaunchImage.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "LaunchImage@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "LaunchImage@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /android/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | 3 | def flutterProjectRoot = rootProject.projectDir.parentFile.toPath() 4 | 5 | def plugins = new Properties() 6 | def pluginsFile = new File(flutterProjectRoot.toFile(), '.flutter-plugins') 7 | if (pluginsFile.exists()) { 8 | pluginsFile.withReader('UTF-8') { reader -> plugins.load(reader) } 9 | } 10 | 11 | plugins.each { name, path -> 12 | def pluginDirectory = flutterProjectRoot.resolve(path).resolve('android').toFile() 13 | include ":$name" 14 | project(":$name").projectDir = pluginDirectory 15 | } 16 | -------------------------------------------------------------------------------- /android/app/.cxx/cmake/debug/x86/CMakeFiles/3.6.0-rc2/CMakeSystem.cmake: -------------------------------------------------------------------------------- 1 | set(CMAKE_HOST_SYSTEM "Darwin-19.4.0") 2 | set(CMAKE_HOST_SYSTEM_NAME "Darwin") 3 | set(CMAKE_HOST_SYSTEM_VERSION "19.4.0") 4 | set(CMAKE_HOST_SYSTEM_PROCESSOR "x86_64") 5 | 6 | include("/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/build/cmake/android.toolchain.cmake") 7 | 8 | set(CMAKE_SYSTEM "Android-1") 9 | set(CMAKE_SYSTEM_NAME "Android") 10 | set(CMAKE_SYSTEM_VERSION "1") 11 | set(CMAKE_SYSTEM_PROCESSOR "i686") 12 | 13 | set(CMAKE_CROSSCOMPILING "TRUE") 14 | 15 | set(CMAKE_SYSTEM_LOADED 1) 16 | -------------------------------------------------------------------------------- /android/app/.cxx/cmake/debug/arm64-v8a/CMakeFiles/3.6.0-rc2/CMakeSystem.cmake: -------------------------------------------------------------------------------- 1 | set(CMAKE_HOST_SYSTEM "Darwin-19.4.0") 2 | set(CMAKE_HOST_SYSTEM_NAME "Darwin") 3 | set(CMAKE_HOST_SYSTEM_VERSION "19.4.0") 4 | set(CMAKE_HOST_SYSTEM_PROCESSOR "x86_64") 5 | 6 | include("/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/build/cmake/android.toolchain.cmake") 7 | 8 | set(CMAKE_SYSTEM "Android-1") 9 | set(CMAKE_SYSTEM_NAME "Android") 10 | set(CMAKE_SYSTEM_VERSION "1") 11 | set(CMAKE_SYSTEM_PROCESSOR "aarch64") 12 | 13 | set(CMAKE_CROSSCOMPILING "TRUE") 14 | 15 | set(CMAKE_SYSTEM_LOADED 1) 16 | -------------------------------------------------------------------------------- /android/app/.cxx/cmake/debug/x86_64/CMakeFiles/3.6.0-rc2/CMakeSystem.cmake: -------------------------------------------------------------------------------- 1 | set(CMAKE_HOST_SYSTEM "Darwin-19.4.0") 2 | set(CMAKE_HOST_SYSTEM_NAME "Darwin") 3 | set(CMAKE_HOST_SYSTEM_VERSION "19.4.0") 4 | set(CMAKE_HOST_SYSTEM_PROCESSOR "x86_64") 5 | 6 | include("/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/build/cmake/android.toolchain.cmake") 7 | 8 | set(CMAKE_SYSTEM "Android-1") 9 | set(CMAKE_SYSTEM_NAME "Android") 10 | set(CMAKE_SYSTEM_VERSION "1") 11 | set(CMAKE_SYSTEM_PROCESSOR "x86_64") 12 | 13 | set(CMAKE_CROSSCOMPILING "TRUE") 14 | 15 | set(CMAKE_SYSTEM_LOADED 1) 16 | -------------------------------------------------------------------------------- /android/app/.cxx/cmake/debug/armeabi-v7a/CMakeFiles/3.6.0-rc2/CMakeSystem.cmake: -------------------------------------------------------------------------------- 1 | set(CMAKE_HOST_SYSTEM "Darwin-19.4.0") 2 | set(CMAKE_HOST_SYSTEM_NAME "Darwin") 3 | set(CMAKE_HOST_SYSTEM_VERSION "19.4.0") 4 | set(CMAKE_HOST_SYSTEM_PROCESSOR "x86_64") 5 | 6 | include("/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/build/cmake/android.toolchain.cmake") 7 | 8 | set(CMAKE_SYSTEM "Android-1") 9 | set(CMAKE_SYSTEM_NAME "Android") 10 | set(CMAKE_SYSTEM_VERSION "1") 11 | set(CMAKE_SYSTEM_PROCESSOR "armv7-a") 12 | 13 | set(CMAKE_CROSSCOMPILING "TRUE") 14 | 15 | set(CMAKE_SYSTEM_LOADED 1) 16 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # flutter_ffi_demo 2 | 3 | A new Flutter project. 4 | 5 | ## Getting Started 6 | 7 | This project is a starting point for a Flutter application. 8 | 9 | A few resources to get you started if this is your first Flutter project: 10 | 11 | - [Lab: Write your first Flutter app](https://flutter.dev/docs/get-started/codelab) 12 | - [Cookbook: Useful Flutter samples](https://flutter.dev/docs/cookbook) 13 | 14 | For help getting started with Flutter, view our 15 | [online documentation](https://flutter.dev/docs), which offers tutorials, 16 | samples, guidance on mobile development, and a full API reference. 17 | -------------------------------------------------------------------------------- /lib/main.dart: -------------------------------------------------------------------------------- 1 | 2 | import 'package:flutter/material.dart'; 3 | import 'package:flutter_ffi_demo/src/home_page.dart'; 4 | 5 | void main() { 6 | runApp(MyApp()); 7 | } 8 | 9 | class MyApp extends StatelessWidget { 10 | // This widget is the root of your application. 11 | @override 12 | Widget build(BuildContext context) { 13 | return MaterialApp( 14 | title: 'Flutter FFI Demo', 15 | theme: ThemeData( 16 | primarySwatch: Colors.blue, 17 | visualDensity: VisualDensity.adaptivePlatformDensity, 18 | ), 19 | home: HomePage(title: 'Flutter Integrating C/C++ Demo'), 20 | ); 21 | } 22 | } -------------------------------------------------------------------------------- /lib/src/task.dart: -------------------------------------------------------------------------------- 1 | class Task { 2 | final String id; 3 | final String name; 4 | final DateTime deadline; 5 | 6 | const Task(this.id, this.name, this.deadline); 7 | 8 | @override 9 | bool operator ==(Object other) => 10 | identical(this, other) || 11 | other is Task && 12 | runtimeType == other.runtimeType && 13 | id == other.id && 14 | name == other.name && 15 | deadline == other.deadline; 16 | 17 | @override 18 | int get hashCode => id.hashCode ^ name.hashCode ^ deadline.hashCode; 19 | 20 | @override 21 | String toString() => 'Task{id: $id, name: $name, deadline: $deadline}'; 22 | } 23 | -------------------------------------------------------------------------------- /ios/.gitignore: -------------------------------------------------------------------------------- 1 | *.mode1v3 2 | *.mode2v3 3 | *.moved-aside 4 | *.pbxuser 5 | *.perspectivev3 6 | **/*sync/ 7 | .sconsign.dblite 8 | .tags* 9 | **/.vagrant/ 10 | **/DerivedData/ 11 | Icon? 12 | **/Pods/ 13 | **/.symlinks/ 14 | profile 15 | xcuserdata 16 | **/.generated/ 17 | Flutter/App.framework 18 | Flutter/Flutter.framework 19 | Flutter/Flutter.podspec 20 | Flutter/Generated.xcconfig 21 | Flutter/app.flx 22 | Flutter/app.zip 23 | Flutter/flutter_assets/ 24 | Flutter/flutter_export_environment.sh 25 | ServiceDefinitions.json 26 | Runner/GeneratedPluginRegistrant.* 27 | 28 | # Exceptions to above rules. 29 | !default.mode1v3 30 | !default.mode2v3 31 | !default.pbxuser 32 | !default.perspectivev3 33 | -------------------------------------------------------------------------------- /android/build.gradle: -------------------------------------------------------------------------------- 1 | buildscript { 2 | ext.kotlin_version = '1.3.50' 3 | repositories { 4 | google() 5 | jcenter() 6 | } 7 | 8 | dependencies { 9 | classpath 'com.android.tools.build:gradle:3.5.0' 10 | classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" 11 | } 12 | } 13 | 14 | allprojects { 15 | repositories { 16 | google() 17 | jcenter() 18 | } 19 | } 20 | 21 | rootProject.buildDir = '../build' 22 | subprojects { 23 | project.buildDir = "${rootProject.buildDir}/${project.name}" 24 | } 25 | subprojects { 26 | project.evaluationDependsOn(':app') 27 | } 28 | 29 | task clean(type: Delete) { 30 | delete rootProject.buildDir 31 | } 32 | -------------------------------------------------------------------------------- /android/app/.cxx/cmake/debug/x86/android_gradle_build_mini.json: -------------------------------------------------------------------------------- 1 | { 2 | "buildFiles": [ 3 | "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/lmdb/CMakeLists.txt" 4 | ], 5 | "cleanCommands": [ 6 | "/Users/darelbitsy/Library/Android/sdk/cmake/3.6.4111459/bin/cmake --build /Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/x86 --target clean" 7 | ], 8 | "libraries": { 9 | "lmdb-Debug-x86": { 10 | "artifactName": "lmdb", 11 | "buildCommand": "/Users/darelbitsy/Library/Android/sdk/cmake/3.6.4111459/bin/cmake --build /Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/x86 --target lmdb", 12 | "abi": "x86", 13 | "output": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/build/app/intermediates/cmake/debug/obj/x86/liblmdb.so" 14 | } 15 | } 16 | } -------------------------------------------------------------------------------- /android/app/.cxx/cmake/debug/x86/build_command.txt: -------------------------------------------------------------------------------- 1 | Executable : /Users/darelbitsy/Library/Android/sdk/cmake/3.6.4111459/bin/cmake 2 | arguments : 3 | -H/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/lmdb 4 | -B/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/x86 5 | -DANDROID_ABI=x86 6 | -DANDROID_PLATFORM=android-16 7 | -DCMAKE_LIBRARY_OUTPUT_DIRECTORY=/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/build/app/intermediates/cmake/debug/obj/x86 8 | -DCMAKE_BUILD_TYPE=Debug 9 | -DANDROID_NDK=/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462 10 | -DCMAKE_TOOLCHAIN_FILE=/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/build/cmake/android.toolchain.cmake 11 | -DCMAKE_MAKE_PROGRAM=/Users/darelbitsy/Library/Android/sdk/cmake/3.6.4111459/bin/ninja 12 | -GAndroid Gradle - Ninja 13 | jvmArgs : 14 | 15 | -------------------------------------------------------------------------------- /android/app/.cxx/cmake/debug/x86_64/build_command.txt: -------------------------------------------------------------------------------- 1 | Executable : /Users/darelbitsy/Library/Android/sdk/cmake/3.6.4111459/bin/cmake 2 | arguments : 3 | -H/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/lmdb 4 | -B/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/x86_64 5 | -DANDROID_ABI=x86_64 6 | -DANDROID_PLATFORM=android-16 7 | -DCMAKE_LIBRARY_OUTPUT_DIRECTORY=/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/build/app/intermediates/cmake/debug/obj/x86_64 8 | -DCMAKE_BUILD_TYPE=Debug 9 | -DANDROID_NDK=/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462 10 | -DCMAKE_TOOLCHAIN_FILE=/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/build/cmake/android.toolchain.cmake 11 | -DCMAKE_MAKE_PROGRAM=/Users/darelbitsy/Library/Android/sdk/cmake/3.6.4111459/bin/ninja 12 | -GAndroid Gradle - Ninja 13 | jvmArgs : 14 | 15 | -------------------------------------------------------------------------------- /android/app/.cxx/cmake/debug/x86_64/android_gradle_build_mini.json: -------------------------------------------------------------------------------- 1 | { 2 | "buildFiles": [ 3 | "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/lmdb/CMakeLists.txt" 4 | ], 5 | "cleanCommands": [ 6 | "/Users/darelbitsy/Library/Android/sdk/cmake/3.6.4111459/bin/cmake --build /Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/x86_64 --target clean" 7 | ], 8 | "libraries": { 9 | "lmdb-Debug-x86_64": { 10 | "artifactName": "lmdb", 11 | "buildCommand": "/Users/darelbitsy/Library/Android/sdk/cmake/3.6.4111459/bin/cmake --build /Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/x86_64 --target lmdb", 12 | "abi": "x86_64", 13 | "output": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/build/app/intermediates/cmake/debug/obj/x86_64/liblmdb.so" 14 | } 15 | } 16 | } -------------------------------------------------------------------------------- /android/app/.cxx/cmake/debug/arm64-v8a/build_command.txt: -------------------------------------------------------------------------------- 1 | Executable : /Users/darelbitsy/Library/Android/sdk/cmake/3.6.4111459/bin/cmake 2 | arguments : 3 | -H/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/lmdb 4 | -B/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/arm64-v8a 5 | -DANDROID_ABI=arm64-v8a 6 | -DANDROID_PLATFORM=android-16 7 | -DCMAKE_LIBRARY_OUTPUT_DIRECTORY=/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/build/app/intermediates/cmake/debug/obj/arm64-v8a 8 | -DCMAKE_BUILD_TYPE=Debug 9 | -DANDROID_NDK=/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462 10 | -DCMAKE_TOOLCHAIN_FILE=/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/build/cmake/android.toolchain.cmake 11 | -DCMAKE_MAKE_PROGRAM=/Users/darelbitsy/Library/Android/sdk/cmake/3.6.4111459/bin/ninja 12 | -GAndroid Gradle - Ninja 13 | jvmArgs : 14 | 15 | -------------------------------------------------------------------------------- /android/app/.cxx/cmake/debug/armeabi-v7a/build_command.txt: -------------------------------------------------------------------------------- 1 | Executable : /Users/darelbitsy/Library/Android/sdk/cmake/3.6.4111459/bin/cmake 2 | arguments : 3 | -H/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/lmdb 4 | -B/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/armeabi-v7a 5 | -DANDROID_ABI=armeabi-v7a 6 | -DANDROID_PLATFORM=android-16 7 | -DCMAKE_LIBRARY_OUTPUT_DIRECTORY=/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/build/app/intermediates/cmake/debug/obj/armeabi-v7a 8 | -DCMAKE_BUILD_TYPE=Debug 9 | -DANDROID_NDK=/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462 10 | -DCMAKE_TOOLCHAIN_FILE=/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/build/cmake/android.toolchain.cmake 11 | -DCMAKE_MAKE_PROGRAM=/Users/darelbitsy/Library/Android/sdk/cmake/3.6.4111459/bin/ninja 12 | -GAndroid Gradle - Ninja 13 | jvmArgs : 14 | 15 | -------------------------------------------------------------------------------- /android/app/.cxx/cmake/debug/arm64-v8a/android_gradle_build_mini.json: -------------------------------------------------------------------------------- 1 | { 2 | "buildFiles": [ 3 | "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/lmdb/CMakeLists.txt" 4 | ], 5 | "cleanCommands": [ 6 | "/Users/darelbitsy/Library/Android/sdk/cmake/3.6.4111459/bin/cmake --build /Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/arm64-v8a --target clean" 7 | ], 8 | "libraries": { 9 | "lmdb-Debug-arm64-v8a": { 10 | "artifactName": "lmdb", 11 | "buildCommand": "/Users/darelbitsy/Library/Android/sdk/cmake/3.6.4111459/bin/cmake --build /Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/arm64-v8a --target lmdb", 12 | "abi": "arm64-v8a", 13 | "output": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/build/app/intermediates/cmake/debug/obj/arm64-v8a/liblmdb.so" 14 | } 15 | } 16 | } -------------------------------------------------------------------------------- /android/app/.cxx/cmake/debug/x86/android_gradle_generate_cmake_ninja_json_x86.command.txt: -------------------------------------------------------------------------------- 1 | Executable : /Users/darelbitsy/Library/Android/sdk/cmake/3.6.4111459/bin/cmake 2 | arguments : 3 | -H/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/lmdb 4 | -B/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/x86 5 | -DANDROID_ABI=x86 6 | -DANDROID_PLATFORM=android-16 7 | -DCMAKE_LIBRARY_OUTPUT_DIRECTORY=/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/build/app/intermediates/cmake/debug/obj/x86 8 | -DCMAKE_BUILD_TYPE=Debug 9 | -DANDROID_NDK=/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462 10 | -DCMAKE_TOOLCHAIN_FILE=/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/build/cmake/android.toolchain.cmake 11 | -DCMAKE_MAKE_PROGRAM=/Users/darelbitsy/Library/Android/sdk/cmake/3.6.4111459/bin/ninja 12 | -GAndroid Gradle - Ninja 13 | jvmArgs : 14 | 15 | -------------------------------------------------------------------------------- /android/app/.cxx/cmake/debug/armeabi-v7a/android_gradle_build_mini.json: -------------------------------------------------------------------------------- 1 | { 2 | "buildFiles": [ 3 | "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/lmdb/CMakeLists.txt" 4 | ], 5 | "cleanCommands": [ 6 | "/Users/darelbitsy/Library/Android/sdk/cmake/3.6.4111459/bin/cmake --build /Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/armeabi-v7a --target clean" 7 | ], 8 | "libraries": { 9 | "lmdb-Debug-armeabi-v7a": { 10 | "artifactName": "lmdb", 11 | "buildCommand": "/Users/darelbitsy/Library/Android/sdk/cmake/3.6.4111459/bin/cmake --build /Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/armeabi-v7a --target lmdb", 12 | "abi": "armeabi-v7a", 13 | "output": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/build/app/intermediates/cmake/debug/obj/armeabi-v7a/liblmdb.so" 14 | } 15 | } 16 | } -------------------------------------------------------------------------------- /android/app/.cxx/cmake/debug/x86_64/android_gradle_generate_cmake_ninja_json_x86_64.command.txt: -------------------------------------------------------------------------------- 1 | Executable : /Users/darelbitsy/Library/Android/sdk/cmake/3.6.4111459/bin/cmake 2 | arguments : 3 | -H/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/lmdb 4 | -B/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/x86_64 5 | -DANDROID_ABI=x86_64 6 | -DANDROID_PLATFORM=android-16 7 | -DCMAKE_LIBRARY_OUTPUT_DIRECTORY=/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/build/app/intermediates/cmake/debug/obj/x86_64 8 | -DCMAKE_BUILD_TYPE=Debug 9 | -DANDROID_NDK=/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462 10 | -DCMAKE_TOOLCHAIN_FILE=/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/build/cmake/android.toolchain.cmake 11 | -DCMAKE_MAKE_PROGRAM=/Users/darelbitsy/Library/Android/sdk/cmake/3.6.4111459/bin/ninja 12 | -GAndroid Gradle - Ninja 13 | jvmArgs : 14 | 15 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Miscellaneous 2 | *.class 3 | *.log 4 | *.pyc 5 | *.swp 6 | .DS_Store 7 | .atom/ 8 | .buildlog/ 9 | .history 10 | .svn/ 11 | 12 | # IntelliJ related 13 | *.iml 14 | *.ipr 15 | *.iws 16 | .idea/ 17 | 18 | # The .vscode folder contains launch configuration and tasks you configure in 19 | # VS Code which you may wish to be included in version control, so this line 20 | # is commented out by default. 21 | #.vscode/ 22 | 23 | # Flutter/Dart/Pub related 24 | **/doc/api/ 25 | .dart_tool/ 26 | .flutter-plugins 27 | .flutter-plugins-dependencies 28 | .packages 29 | .pub-cache/ 30 | .pub/ 31 | /build/ 32 | 33 | # Web related 34 | lib/generated_plugin_registrant.dart 35 | 36 | # Symbolication related 37 | app.*.symbols 38 | 39 | # Obfuscation related 40 | app.*.map.json 41 | 42 | # Exceptions to above rules. 43 | !/packages/flutter_tools/test/data/dart_dependencies_test/**/.packages 44 | -------------------------------------------------------------------------------- /android/app/.cxx/cmake/debug/arm64-v8a/android_gradle_generate_cmake_ninja_json_arm64-v8a.command.txt: -------------------------------------------------------------------------------- 1 | Executable : /Users/darelbitsy/Library/Android/sdk/cmake/3.6.4111459/bin/cmake 2 | arguments : 3 | -H/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/lmdb 4 | -B/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/arm64-v8a 5 | -DANDROID_ABI=arm64-v8a 6 | -DANDROID_PLATFORM=android-16 7 | -DCMAKE_LIBRARY_OUTPUT_DIRECTORY=/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/build/app/intermediates/cmake/debug/obj/arm64-v8a 8 | -DCMAKE_BUILD_TYPE=Debug 9 | -DANDROID_NDK=/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462 10 | -DCMAKE_TOOLCHAIN_FILE=/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/build/cmake/android.toolchain.cmake 11 | -DCMAKE_MAKE_PROGRAM=/Users/darelbitsy/Library/Android/sdk/cmake/3.6.4111459/bin/ninja 12 | -GAndroid Gradle - Ninja 13 | jvmArgs : 14 | 15 | -------------------------------------------------------------------------------- /android/app/.cxx/cmake/debug/armeabi-v7a/android_gradle_generate_cmake_ninja_json_armeabi-v7a.command.txt: -------------------------------------------------------------------------------- 1 | Executable : /Users/darelbitsy/Library/Android/sdk/cmake/3.6.4111459/bin/cmake 2 | arguments : 3 | -H/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/lmdb 4 | -B/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/armeabi-v7a 5 | -DANDROID_ABI=armeabi-v7a 6 | -DANDROID_PLATFORM=android-16 7 | -DCMAKE_LIBRARY_OUTPUT_DIRECTORY=/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/build/app/intermediates/cmake/debug/obj/armeabi-v7a 8 | -DCMAKE_BUILD_TYPE=Debug 9 | -DANDROID_NDK=/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462 10 | -DCMAKE_TOOLCHAIN_FILE=/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/build/cmake/android.toolchain.cmake 11 | -DCMAKE_MAKE_PROGRAM=/Users/darelbitsy/Library/Android/sdk/cmake/3.6.4111459/bin/ninja 12 | -GAndroid Gradle - Ninja 13 | jvmArgs : 14 | 15 | -------------------------------------------------------------------------------- /android/app/.cxx/cmake/debug/x86/CMakeFiles/feature_tests.c: -------------------------------------------------------------------------------- 1 | 2 | const char features[] = {"\n" 3 | "C_FEATURE:" 4 | #if ((__clang_major__ * 100) + __clang_minor__) >= 304 5 | "1" 6 | #else 7 | "0" 8 | #endif 9 | "c_function_prototypes\n" 10 | "C_FEATURE:" 11 | #if ((__clang_major__ * 100) + __clang_minor__) >= 304 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L 12 | "1" 13 | #else 14 | "0" 15 | #endif 16 | "c_restrict\n" 17 | "C_FEATURE:" 18 | #if ((__clang_major__ * 100) + __clang_minor__) >= 304 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L 19 | "1" 20 | #else 21 | "0" 22 | #endif 23 | "c_static_assert\n" 24 | "C_FEATURE:" 25 | #if ((__clang_major__ * 100) + __clang_minor__) >= 304 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L 26 | "1" 27 | #else 28 | "0" 29 | #endif 30 | "c_variadic_macros\n" 31 | 32 | }; 33 | 34 | int main(int argc, char** argv) { (void)argv; return features[argc]; } 35 | -------------------------------------------------------------------------------- /android/app/.cxx/cmake/debug/x86_64/CMakeFiles/feature_tests.c: -------------------------------------------------------------------------------- 1 | 2 | const char features[] = {"\n" 3 | "C_FEATURE:" 4 | #if ((__clang_major__ * 100) + __clang_minor__) >= 304 5 | "1" 6 | #else 7 | "0" 8 | #endif 9 | "c_function_prototypes\n" 10 | "C_FEATURE:" 11 | #if ((__clang_major__ * 100) + __clang_minor__) >= 304 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L 12 | "1" 13 | #else 14 | "0" 15 | #endif 16 | "c_restrict\n" 17 | "C_FEATURE:" 18 | #if ((__clang_major__ * 100) + __clang_minor__) >= 304 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L 19 | "1" 20 | #else 21 | "0" 22 | #endif 23 | "c_static_assert\n" 24 | "C_FEATURE:" 25 | #if ((__clang_major__ * 100) + __clang_minor__) >= 304 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L 26 | "1" 27 | #else 28 | "0" 29 | #endif 30 | "c_variadic_macros\n" 31 | 32 | }; 33 | 34 | int main(int argc, char** argv) { (void)argv; return features[argc]; } 35 | -------------------------------------------------------------------------------- /ios/Flutter/AppFrameworkInfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | $(DEVELOPMENT_LANGUAGE) 7 | CFBundleExecutable 8 | App 9 | CFBundleIdentifier 10 | io.flutter.flutter.app 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | App 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1.0 23 | MinimumOSVersion 24 | 8.0 25 | 26 | 27 | -------------------------------------------------------------------------------- /android/app/.cxx/cmake/debug/arm64-v8a/CMakeFiles/feature_tests.c: -------------------------------------------------------------------------------- 1 | 2 | const char features[] = {"\n" 3 | "C_FEATURE:" 4 | #if ((__clang_major__ * 100) + __clang_minor__) >= 304 5 | "1" 6 | #else 7 | "0" 8 | #endif 9 | "c_function_prototypes\n" 10 | "C_FEATURE:" 11 | #if ((__clang_major__ * 100) + __clang_minor__) >= 304 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L 12 | "1" 13 | #else 14 | "0" 15 | #endif 16 | "c_restrict\n" 17 | "C_FEATURE:" 18 | #if ((__clang_major__ * 100) + __clang_minor__) >= 304 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L 19 | "1" 20 | #else 21 | "0" 22 | #endif 23 | "c_static_assert\n" 24 | "C_FEATURE:" 25 | #if ((__clang_major__ * 100) + __clang_minor__) >= 304 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L 26 | "1" 27 | #else 28 | "0" 29 | #endif 30 | "c_variadic_macros\n" 31 | 32 | }; 33 | 34 | int main(int argc, char** argv) { (void)argv; return features[argc]; } 35 | -------------------------------------------------------------------------------- /android/app/.cxx/cmake/debug/armeabi-v7a/CMakeFiles/feature_tests.c: -------------------------------------------------------------------------------- 1 | 2 | const char features[] = {"\n" 3 | "C_FEATURE:" 4 | #if ((__clang_major__ * 100) + __clang_minor__) >= 304 5 | "1" 6 | #else 7 | "0" 8 | #endif 9 | "c_function_prototypes\n" 10 | "C_FEATURE:" 11 | #if ((__clang_major__ * 100) + __clang_minor__) >= 304 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L 12 | "1" 13 | #else 14 | "0" 15 | #endif 16 | "c_restrict\n" 17 | "C_FEATURE:" 18 | #if ((__clang_major__ * 100) + __clang_minor__) >= 304 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L 19 | "1" 20 | #else 21 | "0" 22 | #endif 23 | "c_static_assert\n" 24 | "C_FEATURE:" 25 | #if ((__clang_major__ * 100) + __clang_minor__) >= 304 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L 26 | "1" 27 | #else 28 | "0" 29 | #endif 30 | "c_variadic_macros\n" 31 | 32 | }; 33 | 34 | int main(int argc, char** argv) { (void)argv; return features[argc]; } 35 | -------------------------------------------------------------------------------- /android/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 9 | 15 | 18 | 19 | -------------------------------------------------------------------------------- /android/app/.cxx/cmake/debug/x86/json_generation_record.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "level": "INFO", 4 | "message": "Start JSON generation. Platform version: 16 min SDK version: x86" 5 | }, 6 | { 7 | "level": "INFO", 8 | "message": "No CMake version was specified in build.gradle. Choosing a suitable version." 9 | }, 10 | { 11 | "level": "INFO", 12 | "message": "Trying to locate CMake in local SDK repository." 13 | }, 14 | { 15 | "level": "INFO", 16 | "message": "CMake \u00273.10.2\u0027 found in SDK did not match requested version \u00273.6.0\u0027." 17 | }, 18 | { 19 | "level": "INFO", 20 | "message": "- CMake found in SDK at \u0027/Users/darelbitsy/Library/Android/sdk/cmake/3.6.4111459\u0027 had version \u00273.6.0\u0027" 21 | }, 22 | { 23 | "level": "INFO", 24 | "message": "JSON \u0027/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/x86/android_gradle_build.json\u0027 was up-to-date" 25 | }, 26 | { 27 | "level": "INFO", 28 | "message": "JSON generation completed without problems" 29 | } 30 | ] -------------------------------------------------------------------------------- /android/app/.cxx/cmake/debug/x86/build_output.txt: -------------------------------------------------------------------------------- 1 | -- Check for working C compiler: /Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang 2 | -- Check for working C compiler: /Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang -- works 3 | -- Detecting C compiler ABI info 4 | -- Detecting C compiler ABI info - done 5 | -- Detecting C compile features 6 | -- Detecting C compile features - done 7 | -- Check for working CXX compiler: /Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang++ 8 | -- Check for working CXX compiler: /Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang++ -- works 9 | -- Detecting CXX compiler ABI info 10 | -- Detecting CXX compiler ABI info - done 11 | -- Detecting CXX compile features 12 | -- Detecting CXX compile features - done 13 | -- Configuring done 14 | -- Generating done 15 | -- Build files have been written to: /Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/x86 -------------------------------------------------------------------------------- /android/app/.cxx/cmake/debug/x86_64/build_output.txt: -------------------------------------------------------------------------------- 1 | -- Check for working C compiler: /Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang 2 | -- Check for working C compiler: /Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang -- works 3 | -- Detecting C compiler ABI info 4 | -- Detecting C compiler ABI info - done 5 | -- Detecting C compile features 6 | -- Detecting C compile features - done 7 | -- Check for working CXX compiler: /Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang++ 8 | -- Check for working CXX compiler: /Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang++ -- works 9 | -- Detecting CXX compiler ABI info 10 | -- Detecting CXX compiler ABI info - done 11 | -- Detecting CXX compile features 12 | -- Detecting CXX compile features - done 13 | -- Configuring done 14 | -- Generating done 15 | -- Build files have been written to: /Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/x86_64 -------------------------------------------------------------------------------- /android/app/.cxx/cmake/debug/arm64-v8a/build_output.txt: -------------------------------------------------------------------------------- 1 | -- Check for working C compiler: /Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang 2 | -- Check for working C compiler: /Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang -- works 3 | -- Detecting C compiler ABI info 4 | -- Detecting C compiler ABI info - done 5 | -- Detecting C compile features 6 | -- Detecting C compile features - done 7 | -- Check for working CXX compiler: /Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang++ 8 | -- Check for working CXX compiler: /Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang++ -- works 9 | -- Detecting CXX compiler ABI info 10 | -- Detecting CXX compiler ABI info - done 11 | -- Detecting CXX compile features 12 | -- Detecting CXX compile features - done 13 | -- Configuring done 14 | -- Generating done 15 | -- Build files have been written to: /Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/arm64-v8a -------------------------------------------------------------------------------- /android/app/.cxx/cmake/debug/armeabi-v7a/build_output.txt: -------------------------------------------------------------------------------- 1 | -- Check for working C compiler: /Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang 2 | -- Check for working C compiler: /Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang -- works 3 | -- Detecting C compiler ABI info 4 | -- Detecting C compiler ABI info - done 5 | -- Detecting C compile features 6 | -- Detecting C compile features - done 7 | -- Check for working CXX compiler: /Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang++ 8 | -- Check for working CXX compiler: /Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang++ -- works 9 | -- Detecting CXX compiler ABI info 10 | -- Detecting CXX compiler ABI info - done 11 | -- Detecting CXX compile features 12 | -- Detecting CXX compile features - done 13 | -- Configuring done 14 | -- Generating done 15 | -- Build files have been written to: /Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/armeabi-v7a -------------------------------------------------------------------------------- /android/app/.cxx/ndk_locator_record.json: -------------------------------------------------------------------------------- 1 | { 2 | "ndkFolder": "/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462", 3 | "messages": [ 4 | { 5 | "level": "INFO", 6 | "message": "android.ndkVersion from module build.gradle is not set" 7 | }, 8 | { 9 | "level": "INFO", 10 | "message": "ndk.dir in local.properties is not set" 11 | }, 12 | { 13 | "level": "INFO", 14 | "message": "ANDROID_NDK_HOME environment variable is not set" 15 | }, 16 | { 17 | "level": "INFO", 18 | "message": "sdkFolder is /Users/darelbitsy/Library/Android/sdk" 19 | }, 20 | { 21 | "level": "INFO", 22 | "message": "Considering /Users/darelbitsy/Library/Android/sdk/ndk-bundle in SDK ndk-bundle folder" 23 | }, 24 | { 25 | "level": "INFO", 26 | "message": "Considering /Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462 in SDK ndk folder" 27 | }, 28 | { 29 | "level": "INFO", 30 | "message": "No user requested version, choosing /Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462 which is version 21.1.6352462" 31 | } 32 | ] 33 | } -------------------------------------------------------------------------------- /android/app/.cxx/cmake/debug/x86/android_gradle_generate_cmake_ninja_json_x86.stdout.txt: -------------------------------------------------------------------------------- 1 | -- Check for working C compiler: /Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang 2 | -- Check for working C compiler: /Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang -- works 3 | -- Detecting C compiler ABI info 4 | -- Detecting C compiler ABI info - done 5 | -- Detecting C compile features 6 | -- Detecting C compile features - done 7 | -- Check for working CXX compiler: /Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang++ 8 | -- Check for working CXX compiler: /Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang++ -- works 9 | -- Detecting CXX compiler ABI info 10 | -- Detecting CXX compiler ABI info - done 11 | -- Detecting CXX compile features 12 | -- Detecting CXX compile features - done 13 | -- Configuring done 14 | -- Generating done 15 | -- Build files have been written to: /Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/x86 16 | -------------------------------------------------------------------------------- /android/app/.cxx/cmake/debug/x86_64/android_gradle_generate_cmake_ninja_json_x86_64.stdout.txt: -------------------------------------------------------------------------------- 1 | -- Check for working C compiler: /Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang 2 | -- Check for working C compiler: /Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang -- works 3 | -- Detecting C compiler ABI info 4 | -- Detecting C compiler ABI info - done 5 | -- Detecting C compile features 6 | -- Detecting C compile features - done 7 | -- Check for working CXX compiler: /Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang++ 8 | -- Check for working CXX compiler: /Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang++ -- works 9 | -- Detecting CXX compiler ABI info 10 | -- Detecting CXX compiler ABI info - done 11 | -- Detecting CXX compile features 12 | -- Detecting CXX compile features - done 13 | -- Configuring done 14 | -- Generating done 15 | -- Build files have been written to: /Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/x86_64 16 | -------------------------------------------------------------------------------- /android/app/.cxx/cmake/debug/arm64-v8a/android_gradle_generate_cmake_ninja_json_arm64-v8a.stdout.txt: -------------------------------------------------------------------------------- 1 | -- Check for working C compiler: /Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang 2 | -- Check for working C compiler: /Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang -- works 3 | -- Detecting C compiler ABI info 4 | -- Detecting C compiler ABI info - done 5 | -- Detecting C compile features 6 | -- Detecting C compile features - done 7 | -- Check for working CXX compiler: /Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang++ 8 | -- Check for working CXX compiler: /Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang++ -- works 9 | -- Detecting CXX compiler ABI info 10 | -- Detecting CXX compiler ABI info - done 11 | -- Detecting CXX compile features 12 | -- Detecting CXX compile features - done 13 | -- Configuring done 14 | -- Generating done 15 | -- Build files have been written to: /Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/arm64-v8a 16 | -------------------------------------------------------------------------------- /android/app/.cxx/cmake/debug/armeabi-v7a/android_gradle_generate_cmake_ninja_json_armeabi-v7a.stdout.txt: -------------------------------------------------------------------------------- 1 | -- Check for working C compiler: /Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang 2 | -- Check for working C compiler: /Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang -- works 3 | -- Detecting C compiler ABI info 4 | -- Detecting C compiler ABI info - done 5 | -- Detecting C compile features 6 | -- Detecting C compile features - done 7 | -- Check for working CXX compiler: /Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang++ 8 | -- Check for working CXX compiler: /Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang++ -- works 9 | -- Detecting CXX compiler ABI info 10 | -- Detecting CXX compiler ABI info - done 11 | -- Detecting CXX compile features 12 | -- Detecting CXX compile features - done 13 | -- Configuring done 14 | -- Generating done 15 | -- Build files have been written to: /Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/armeabi-v7a 16 | -------------------------------------------------------------------------------- /test/widget_test.dart: -------------------------------------------------------------------------------- 1 | // This is a basic Flutter widget test. 2 | // 3 | // To perform an interaction with a widget in your test, use the WidgetTester 4 | // utility that Flutter provides. For example, you can send tap and scroll 5 | // gestures. You can also use WidgetTester to find child widgets in the widget 6 | // tree, read text, and verify that the values of widget properties are correct. 7 | 8 | import 'package:flutter/material.dart'; 9 | import 'package:flutter_test/flutter_test.dart'; 10 | 11 | import 'package:flutter_ffi_demo/main.dart'; 12 | 13 | void main() { 14 | testWidgets('Counter increments smoke test', (WidgetTester tester) async { 15 | // Build our app and trigger a frame. 16 | await tester.pumpWidget(MyApp()); 17 | 18 | // Verify that our counter starts at 0. 19 | expect(find.text('0'), findsOneWidget); 20 | expect(find.text('1'), findsNothing); 21 | 22 | // Tap the '+' icon and trigger a frame. 23 | await tester.tap(find.byIcon(Icons.add)); 24 | await tester.pump(); 25 | 26 | // Verify that our counter has incremented. 27 | expect(find.text('0'), findsNothing); 28 | expect(find.text('1'), findsOneWidget); 29 | }); 30 | } 31 | -------------------------------------------------------------------------------- /lib/src/lmdb/transformers.dart: -------------------------------------------------------------------------------- 1 | import 'dart:typed_data'; 2 | 3 | import 'package:flutter_ffi_demo/src/task.dart'; 4 | import 'package:msgpack_dart/msgpack_dart.dart'; 5 | 6 | final lmdbEncoder = LMDBEncoder(); 7 | final lmdbDecoder = LMBDDecoder(); 8 | 9 | const int _TASK_TYPE = 0; 10 | 11 | class LMDBEncoder extends ExtEncoder { 12 | @override 13 | Uint8List encodeObject(object) { 14 | if (object is Task) { 15 | final map = Map(); 16 | map["id"] = object.id; 17 | map["name"] = object.name; 18 | map["deadline"] = object.deadline.millisecondsSinceEpoch; 19 | return serialize(map); 20 | } 21 | return null; 22 | } 23 | 24 | @override 25 | int extTypeForObject(object) { 26 | if (object is Task) { 27 | return _TASK_TYPE; 28 | } 29 | return null; 30 | } 31 | } 32 | 33 | class LMBDDecoder extends ExtDecoder { 34 | @override 35 | dynamic decodeObject(int extType, Uint8List data) { 36 | if (extType == _TASK_TYPE) { 37 | final Map converted = deserialize(data); 38 | 39 | return Task( 40 | converted["id"], 41 | converted["name"], 42 | DateTime.fromMillisecondsSinceEpoch(converted["deadline"]), 43 | ); 44 | } 45 | return deserialize(data); 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /android/app/.cxx/cmake/debug/x86/cmake_install.cmake: -------------------------------------------------------------------------------- 1 | # Install script for directory: /Users/darelbitsy/IdeaProjects/flutter_ffi_demo/lmdb 2 | 3 | # Set the install prefix 4 | if(NOT DEFINED CMAKE_INSTALL_PREFIX) 5 | set(CMAKE_INSTALL_PREFIX "/usr/local") 6 | endif() 7 | string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") 8 | 9 | # Set the install configuration name. 10 | if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) 11 | if(BUILD_TYPE) 12 | string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" 13 | CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") 14 | else() 15 | set(CMAKE_INSTALL_CONFIG_NAME "Debug") 16 | endif() 17 | message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") 18 | endif() 19 | 20 | # Set the component getting installed. 21 | if(NOT CMAKE_INSTALL_COMPONENT) 22 | if(COMPONENT) 23 | message(STATUS "Install component: \"${COMPONENT}\"") 24 | set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") 25 | else() 26 | set(CMAKE_INSTALL_COMPONENT) 27 | endif() 28 | endif() 29 | 30 | # Install shared libraries without execute permission? 31 | if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) 32 | set(CMAKE_INSTALL_SO_NO_EXE "0") 33 | endif() 34 | 35 | if(CMAKE_INSTALL_COMPONENT) 36 | set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt") 37 | else() 38 | set(CMAKE_INSTALL_MANIFEST "install_manifest.txt") 39 | endif() 40 | 41 | string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT 42 | "${CMAKE_INSTALL_MANIFEST_FILES}") 43 | file(WRITE "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/x86/${CMAKE_INSTALL_MANIFEST}" 44 | "${CMAKE_INSTALL_MANIFEST_CONTENT}") 45 | -------------------------------------------------------------------------------- /android/app/.cxx/cmake/debug/x86_64/cmake_install.cmake: -------------------------------------------------------------------------------- 1 | # Install script for directory: /Users/darelbitsy/IdeaProjects/flutter_ffi_demo/lmdb 2 | 3 | # Set the install prefix 4 | if(NOT DEFINED CMAKE_INSTALL_PREFIX) 5 | set(CMAKE_INSTALL_PREFIX "/usr/local") 6 | endif() 7 | string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") 8 | 9 | # Set the install configuration name. 10 | if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) 11 | if(BUILD_TYPE) 12 | string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" 13 | CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") 14 | else() 15 | set(CMAKE_INSTALL_CONFIG_NAME "Debug") 16 | endif() 17 | message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") 18 | endif() 19 | 20 | # Set the component getting installed. 21 | if(NOT CMAKE_INSTALL_COMPONENT) 22 | if(COMPONENT) 23 | message(STATUS "Install component: \"${COMPONENT}\"") 24 | set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") 25 | else() 26 | set(CMAKE_INSTALL_COMPONENT) 27 | endif() 28 | endif() 29 | 30 | # Install shared libraries without execute permission? 31 | if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) 32 | set(CMAKE_INSTALL_SO_NO_EXE "0") 33 | endif() 34 | 35 | if(CMAKE_INSTALL_COMPONENT) 36 | set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt") 37 | else() 38 | set(CMAKE_INSTALL_MANIFEST "install_manifest.txt") 39 | endif() 40 | 41 | string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT 42 | "${CMAKE_INSTALL_MANIFEST_FILES}") 43 | file(WRITE "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/x86_64/${CMAKE_INSTALL_MANIFEST}" 44 | "${CMAKE_INSTALL_MANIFEST_CONTENT}") 45 | -------------------------------------------------------------------------------- /android/app/.cxx/cmake/debug/arm64-v8a/cmake_install.cmake: -------------------------------------------------------------------------------- 1 | # Install script for directory: /Users/darelbitsy/IdeaProjects/flutter_ffi_demo/lmdb 2 | 3 | # Set the install prefix 4 | if(NOT DEFINED CMAKE_INSTALL_PREFIX) 5 | set(CMAKE_INSTALL_PREFIX "/usr/local") 6 | endif() 7 | string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") 8 | 9 | # Set the install configuration name. 10 | if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) 11 | if(BUILD_TYPE) 12 | string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" 13 | CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") 14 | else() 15 | set(CMAKE_INSTALL_CONFIG_NAME "Debug") 16 | endif() 17 | message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") 18 | endif() 19 | 20 | # Set the component getting installed. 21 | if(NOT CMAKE_INSTALL_COMPONENT) 22 | if(COMPONENT) 23 | message(STATUS "Install component: \"${COMPONENT}\"") 24 | set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") 25 | else() 26 | set(CMAKE_INSTALL_COMPONENT) 27 | endif() 28 | endif() 29 | 30 | # Install shared libraries without execute permission? 31 | if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) 32 | set(CMAKE_INSTALL_SO_NO_EXE "0") 33 | endif() 34 | 35 | if(CMAKE_INSTALL_COMPONENT) 36 | set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt") 37 | else() 38 | set(CMAKE_INSTALL_MANIFEST "install_manifest.txt") 39 | endif() 40 | 41 | string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT 42 | "${CMAKE_INSTALL_MANIFEST_FILES}") 43 | file(WRITE "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/arm64-v8a/${CMAKE_INSTALL_MANIFEST}" 44 | "${CMAKE_INSTALL_MANIFEST_CONTENT}") 45 | -------------------------------------------------------------------------------- /android/app/.cxx/cmake/debug/armeabi-v7a/cmake_install.cmake: -------------------------------------------------------------------------------- 1 | # Install script for directory: /Users/darelbitsy/IdeaProjects/flutter_ffi_demo/lmdb 2 | 3 | # Set the install prefix 4 | if(NOT DEFINED CMAKE_INSTALL_PREFIX) 5 | set(CMAKE_INSTALL_PREFIX "/usr/local") 6 | endif() 7 | string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") 8 | 9 | # Set the install configuration name. 10 | if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) 11 | if(BUILD_TYPE) 12 | string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" 13 | CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") 14 | else() 15 | set(CMAKE_INSTALL_CONFIG_NAME "Debug") 16 | endif() 17 | message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") 18 | endif() 19 | 20 | # Set the component getting installed. 21 | if(NOT CMAKE_INSTALL_COMPONENT) 22 | if(COMPONENT) 23 | message(STATUS "Install component: \"${COMPONENT}\"") 24 | set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") 25 | else() 26 | set(CMAKE_INSTALL_COMPONENT) 27 | endif() 28 | endif() 29 | 30 | # Install shared libraries without execute permission? 31 | if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) 32 | set(CMAKE_INSTALL_SO_NO_EXE "0") 33 | endif() 34 | 35 | if(CMAKE_INSTALL_COMPONENT) 36 | set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt") 37 | else() 38 | set(CMAKE_INSTALL_MANIFEST "install_manifest.txt") 39 | endif() 40 | 41 | string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT 42 | "${CMAKE_INSTALL_MANIFEST_FILES}") 43 | file(WRITE "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/armeabi-v7a/${CMAKE_INSTALL_MANIFEST}" 44 | "${CMAKE_INSTALL_MANIFEST_CONTENT}") 45 | -------------------------------------------------------------------------------- /lib/src/utils.dart: -------------------------------------------------------------------------------- 1 | import 'dart:ffi' as ffi; 2 | import 'dart:typed_data'; 3 | import 'package:ffi/ffi.dart' as ffi_ext; 4 | import 'package:flutter_ffi_demo/src/lmdb/lmdb_bindings.dart'; 5 | import 'dart:io'; 6 | 7 | import 'package:flutter_ffi_demo/src/lmdb/types.dart'; 8 | 9 | String _getLibraryPath(final String name) { 10 | if (Platform.isWindows) return 'lib$name.dll'; 11 | // since on ios/mac we are building the library as a static library. 12 | // it's will be loaded at app's load time. 13 | if (Platform.isMacOS || Platform.isIOS) return ''; 14 | return 'lib$name.so'; 15 | } 16 | 17 | ffi.DynamicLibrary loadLMDB(final String libraryName) { 18 | try { 19 | return ffi.DynamicLibrary.open(_getLibraryPath(libraryName)); 20 | } catch (e) { 21 | return ffi.DynamicLibrary.process(); 22 | } 23 | } 24 | 25 | int createLMDBEnvironment( 26 | final LMDBBindings bindings, 27 | final ffi.Pointer> pointerToMdbEnv, 28 | final String environmentPath, 29 | final int maxDatabases, 30 | final int flags, 31 | ) { 32 | var result = bindings.mdb_env_create(pointerToMdbEnv); 33 | 34 | if (result != 0) return result; 35 | 36 | final ffi.Pointer mdbEnv = pointerToMdbEnv.value; 37 | 38 | result = bindings.mdb_env_set_maxdbs(mdbEnv, maxDatabases); 39 | 40 | if (result != 0) return result; 41 | 42 | result = bindings.mdb_env_open( 43 | mdbEnv, 44 | ffi_ext.Utf8.toUtf8(environmentPath), 45 | flags, 46 | 0664, 47 | ); 48 | 49 | return result; 50 | } 51 | 52 | void fillPointer(Uint8List from, ffi.Pointer to) { 53 | for (var index = 0; index < from.length; index++) { 54 | to[index] = from[index]; 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /ios/Runner/Base.lproj/Main.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /ios/Runner/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | $(DEVELOPMENT_LANGUAGE) 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | flutter_ffi_demo 15 | CFBundlePackageType 16 | APPL 17 | CFBundleShortVersionString 18 | $(FLUTTER_BUILD_NAME) 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | $(FLUTTER_BUILD_NUMBER) 23 | LSRequiresIPhoneOS 24 | 25 | UILaunchStoryboardName 26 | LaunchScreen 27 | UIMainStoryboardFile 28 | Main 29 | UISupportedInterfaceOrientations 30 | 31 | UIInterfaceOrientationPortrait 32 | UIInterfaceOrientationLandscapeLeft 33 | UIInterfaceOrientationLandscapeRight 34 | 35 | UISupportedInterfaceOrientations~ipad 36 | 37 | UIInterfaceOrientationPortrait 38 | UIInterfaceOrientationPortraitUpsideDown 39 | UIInterfaceOrientationLandscapeLeft 40 | UIInterfaceOrientationLandscapeRight 41 | 42 | UIViewControllerBasedStatusBarAppearance 43 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /android/app/build.gradle: -------------------------------------------------------------------------------- 1 | def localProperties = new Properties() 2 | def localPropertiesFile = rootProject.file('local.properties') 3 | if (localPropertiesFile.exists()) { 4 | localPropertiesFile.withReader('UTF-8') { reader -> 5 | localProperties.load(reader) 6 | } 7 | } 8 | 9 | def flutterRoot = localProperties.getProperty('flutter.sdk') 10 | if (flutterRoot == null) { 11 | throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") 12 | } 13 | 14 | def flutterVersionCode = localProperties.getProperty('flutter.versionCode') 15 | if (flutterVersionCode == null) { 16 | flutterVersionCode = '1' 17 | } 18 | 19 | def flutterVersionName = localProperties.getProperty('flutter.versionName') 20 | if (flutterVersionName == null) { 21 | flutterVersionName = '1.0' 22 | } 23 | 24 | apply plugin: 'com.android.application' 25 | apply plugin: 'kotlin-android' 26 | apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" 27 | 28 | android { 29 | compileSdkVersion 28 30 | 31 | sourceSets { 32 | main.java.srcDirs += 'src/main/kotlin' 33 | } 34 | 35 | lintOptions { 36 | disable 'InvalidPackage' 37 | } 38 | 39 | defaultConfig { 40 | // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). 41 | applicationId "com.bitsydarel.flutter_ffi_demo" 42 | minSdkVersion 16 43 | targetSdkVersion 28 44 | versionCode flutterVersionCode.toInteger() 45 | versionName flutterVersionName 46 | } 47 | 48 | buildTypes { 49 | release { 50 | // TODO: Add your own signing config for the release build. 51 | // Signing with the debug keys for now, so `flutter run --release` works. 52 | signingConfig signingConfigs.debug 53 | } 54 | } 55 | externalNativeBuild { 56 | cmake { 57 | // Sets the location to the CMakeLists.txt 58 | // describing the library to be build 59 | path file('../../lmdb/CMakeLists.txt') 60 | } 61 | } 62 | } 63 | 64 | flutter { 65 | source '../..' 66 | } 67 | 68 | dependencies { 69 | implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" 70 | } 71 | -------------------------------------------------------------------------------- /lmdb/LICENSE: -------------------------------------------------------------------------------- 1 | The OpenLDAP Public License 2 | Version 2.8, 17 August 2003 3 | 4 | Redistribution and use of this software and associated documentation 5 | ("Software"), with or without modification, are permitted provided 6 | that the following conditions are met: 7 | 8 | 1. Redistributions in source form must retain copyright statements 9 | and notices, 10 | 11 | 2. Redistributions in binary form must reproduce applicable copyright 12 | statements and notices, this list of conditions, and the following 13 | disclaimer in the documentation and/or other materials provided 14 | with the distribution, and 15 | 16 | 3. Redistributions must contain a verbatim copy of this document. 17 | 18 | The OpenLDAP Foundation may revise this license from time to time. 19 | Each revision is distinguished by a version number. You may use 20 | this Software under terms of this license revision or under the 21 | terms of any subsequent revision of the license. 22 | 23 | THIS SOFTWARE IS PROVIDED BY THE OPENLDAP FOUNDATION AND ITS 24 | CONTRIBUTORS ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, 25 | INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY 26 | AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 27 | SHALL THE OPENLDAP FOUNDATION, ITS CONTRIBUTORS, OR THE AUTHOR(S) 28 | OR OWNER(S) OF THE SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, 29 | INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 30 | BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 31 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 32 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 33 | LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 34 | ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 35 | POSSIBILITY OF SUCH DAMAGE. 36 | 37 | The names of the authors and copyright holders must not be used in 38 | advertising or otherwise to promote the sale, use or other dealing 39 | in this Software without specific, written prior permission. Title 40 | to copyright in this Software shall at all times remain with copyright 41 | holders. 42 | 43 | OpenLDAP is a registered trademark of the OpenLDAP Foundation. 44 | 45 | Copyright 1999-2003 The OpenLDAP Foundation, Redwood City, 46 | California, USA. All Rights Reserved. Permission to copy and 47 | distribute verbatim copies of this document is granted. 48 | -------------------------------------------------------------------------------- /lib/src/add_task_page.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:flutter_ffi_demo/src/lmdb/lmdb.dart'; 3 | import 'package:flutter_ffi_demo/src/task.dart'; 4 | 5 | class AddTaskPage extends StatefulWidget { 6 | final LMDBEnvironment environment; 7 | 8 | final String taskId; 9 | 10 | const AddTaskPage({Key key, this.environment, this.taskId}) 11 | : assert(environment != null), 12 | assert(taskId != null), 13 | super(key: key); 14 | 15 | @override 16 | _AddTaskPageState createState() => _AddTaskPageState(); 17 | } 18 | 19 | class _AddTaskPageState extends State { 20 | final _formKey = GlobalKey(); 21 | final _fieldController = TextEditingController(); 22 | 23 | @override 24 | Widget build(BuildContext context) { 25 | return Scaffold( 26 | body: SafeArea( 27 | child: Form( 28 | key: _formKey, 29 | child: Padding( 30 | padding: const EdgeInsets.all(8.0), 31 | child: Column( 32 | mainAxisAlignment: MainAxisAlignment.center, 33 | children: [ 34 | TextFormField( 35 | controller: _fieldController, 36 | decoration: InputDecoration( 37 | hintText: "Enter task name", 38 | border: OutlineInputBorder(), 39 | ), 40 | validator: (input) { 41 | if (input?.isEmpty == true && input?.trim() == "") { 42 | return "Task name can't be empty"; 43 | } 44 | return null; 45 | }, 46 | ) 47 | ], 48 | ), 49 | ), 50 | ), 51 | ), 52 | floatingActionButton: FloatingActionButton( 53 | onPressed: () { 54 | if (_formKey.currentState.validate()) { 55 | final task = Task( 56 | widget.taskId, 57 | _fieldController.value.text, 58 | DateTime.now().add(Duration(days: 1)), 59 | ); 60 | 61 | widget.environment.putTask(widget.taskId, task); 62 | 63 | final savedTask = widget.environment.getTask(widget.taskId); 64 | 65 | print("requested: $task \n saved: $savedTask"); 66 | 67 | Navigator.of(context).pop(task); 68 | } 69 | }, 70 | child: Icon(Icons.done), 71 | ), 72 | ); 73 | } 74 | } 75 | -------------------------------------------------------------------------------- /ios/Runner/Base.lproj/LaunchScreen.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /android/app/.cxx/cmake/debug/x86/android_gradle_build.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "buildFiles" : [ "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/lmdb/CMakeLists.txt" ], 4 | "cFileExtensions" : [ "c" ], 5 | "cleanCommands" : 6 | [ 7 | "/Users/darelbitsy/Library/Android/sdk/cmake/3.6.4111459/bin/cmake --build /Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/x86 --target clean" 8 | ], 9 | "libraries" : 10 | { 11 | "lmdb-Debug-x86" : 12 | { 13 | "abi" : "x86", 14 | "artifactName" : "lmdb", 15 | "buildCommand" : "/Users/darelbitsy/Library/Android/sdk/cmake/3.6.4111459/bin/cmake --build /Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/x86 --target lmdb", 16 | "buildType" : "debug", 17 | "files" : 18 | [ 19 | 20 | { 21 | "flags" : " --target=i686-none-linux-android16 --gcc-toolchain=/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64 --sysroot=/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/sysroot -Dlmdb_EXPORTS -g -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -mstackrealign -D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -O0 -fno-limit-debug-info -fPIC -c ", 22 | "src" : "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/lmdb/mdb.c", 23 | "workingDirectory" : "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/x86" 24 | }, 25 | 26 | { 27 | "flags" : " --target=i686-none-linux-android16 --gcc-toolchain=/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64 --sysroot=/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/sysroot -Dlmdb_EXPORTS -g -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -mstackrealign -D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -O0 -fno-limit-debug-info -fPIC -c ", 28 | "src" : "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/lmdb/midl.c", 29 | "workingDirectory" : "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/x86" 30 | } 31 | ], 32 | "output" : "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/build/app/intermediates/cmake/debug/obj/x86/liblmdb.so", 33 | "toolchain" : "14721466389827624261" 34 | } 35 | }, 36 | "toolchains" : 37 | { 38 | "14721466389827624261" : 39 | { 40 | "cCompilerExecutable" : "/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang", 41 | "cppCompilerExecutable" : "/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang++" 42 | } 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /android/app/.cxx/cmake/debug/x86_64/android_gradle_build.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "buildFiles" : [ "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/lmdb/CMakeLists.txt" ], 4 | "cFileExtensions" : [ "c" ], 5 | "cleanCommands" : 6 | [ 7 | "/Users/darelbitsy/Library/Android/sdk/cmake/3.6.4111459/bin/cmake --build /Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/x86_64 --target clean" 8 | ], 9 | "libraries" : 10 | { 11 | "lmdb-Debug-x86_64" : 12 | { 13 | "abi" : "x86_64", 14 | "artifactName" : "lmdb", 15 | "buildCommand" : "/Users/darelbitsy/Library/Android/sdk/cmake/3.6.4111459/bin/cmake --build /Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/x86_64 --target lmdb", 16 | "buildType" : "debug", 17 | "files" : 18 | [ 19 | 20 | { 21 | "flags" : " --target=x86_64-none-linux-android21 --gcc-toolchain=/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64 --sysroot=/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/sysroot -Dlmdb_EXPORTS -g -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -O0 -fno-limit-debug-info -fPIC -c ", 22 | "src" : "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/lmdb/mdb.c", 23 | "workingDirectory" : "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/x86_64" 24 | }, 25 | 26 | { 27 | "flags" : " --target=x86_64-none-linux-android21 --gcc-toolchain=/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64 --sysroot=/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/sysroot -Dlmdb_EXPORTS -g -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -O0 -fno-limit-debug-info -fPIC -c ", 28 | "src" : "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/lmdb/midl.c", 29 | "workingDirectory" : "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/x86_64" 30 | } 31 | ], 32 | "output" : "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/build/app/intermediates/cmake/debug/obj/x86_64/liblmdb.so", 33 | "toolchain" : "14721466389827624261" 34 | } 35 | }, 36 | "toolchains" : 37 | { 38 | "14721466389827624261" : 39 | { 40 | "cCompilerExecutable" : "/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang", 41 | "cppCompilerExecutable" : "/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang++" 42 | } 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /android/app/.cxx/cmake/debug/arm64-v8a/android_gradle_build.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "buildFiles" : [ "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/lmdb/CMakeLists.txt" ], 4 | "cFileExtensions" : [ "c" ], 5 | "cleanCommands" : 6 | [ 7 | "/Users/darelbitsy/Library/Android/sdk/cmake/3.6.4111459/bin/cmake --build /Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/arm64-v8a --target clean" 8 | ], 9 | "libraries" : 10 | { 11 | "lmdb-Debug-arm64-v8a" : 12 | { 13 | "abi" : "arm64-v8a", 14 | "artifactName" : "lmdb", 15 | "buildCommand" : "/Users/darelbitsy/Library/Android/sdk/cmake/3.6.4111459/bin/cmake --build /Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/arm64-v8a --target lmdb", 16 | "buildType" : "debug", 17 | "files" : 18 | [ 19 | 20 | { 21 | "flags" : " --target=aarch64-none-linux-android21 --gcc-toolchain=/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64 --sysroot=/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/sysroot -Dlmdb_EXPORTS -g -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -O0 -fno-limit-debug-info -fPIC -c ", 22 | "src" : "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/lmdb/mdb.c", 23 | "workingDirectory" : "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/arm64-v8a" 24 | }, 25 | 26 | { 27 | "flags" : " --target=aarch64-none-linux-android21 --gcc-toolchain=/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64 --sysroot=/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/sysroot -Dlmdb_EXPORTS -g -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -O0 -fno-limit-debug-info -fPIC -c ", 28 | "src" : "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/lmdb/midl.c", 29 | "workingDirectory" : "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/arm64-v8a" 30 | } 31 | ], 32 | "output" : "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/build/app/intermediates/cmake/debug/obj/arm64-v8a/liblmdb.so", 33 | "toolchain" : "14721466389827624261" 34 | } 35 | }, 36 | "toolchains" : 37 | { 38 | "14721466389827624261" : 39 | { 40 | "cCompilerExecutable" : "/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang", 41 | "cppCompilerExecutable" : "/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang++" 42 | } 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /android/app/.cxx/cmake/debug/armeabi-v7a/android_gradle_build.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "buildFiles" : [ "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/lmdb/CMakeLists.txt" ], 4 | "cFileExtensions" : [ "c" ], 5 | "cleanCommands" : 6 | [ 7 | "/Users/darelbitsy/Library/Android/sdk/cmake/3.6.4111459/bin/cmake --build /Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/armeabi-v7a --target clean" 8 | ], 9 | "libraries" : 10 | { 11 | "lmdb-Debug-armeabi-v7a" : 12 | { 13 | "abi" : "armeabi-v7a", 14 | "artifactName" : "lmdb", 15 | "buildCommand" : "/Users/darelbitsy/Library/Android/sdk/cmake/3.6.4111459/bin/cmake --build /Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/armeabi-v7a --target lmdb", 16 | "buildType" : "debug", 17 | "files" : 18 | [ 19 | 20 | { 21 | "flags" : " --target=armv7-none-linux-androideabi16 --gcc-toolchain=/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64 --sysroot=/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/sysroot -Dlmdb_EXPORTS -g -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -D_FORTIFY_SOURCE=2 -march=armv7-a -mthumb -Wformat -Werror=format-security -O0 -fno-limit-debug-info -fPIC -c ", 22 | "src" : "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/lmdb/mdb.c", 23 | "workingDirectory" : "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/armeabi-v7a" 24 | }, 25 | 26 | { 27 | "flags" : " --target=armv7-none-linux-androideabi16 --gcc-toolchain=/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64 --sysroot=/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/sysroot -Dlmdb_EXPORTS -g -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -D_FORTIFY_SOURCE=2 -march=armv7-a -mthumb -Wformat -Werror=format-security -O0 -fno-limit-debug-info -fPIC -c ", 28 | "src" : "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/lmdb/midl.c", 29 | "workingDirectory" : "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/armeabi-v7a" 30 | } 31 | ], 32 | "output" : "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/build/app/intermediates/cmake/debug/obj/armeabi-v7a/liblmdb.so", 33 | "toolchain" : "14721466389827624261" 34 | } 35 | }, 36 | "toolchains" : 37 | { 38 | "14721466389827624261" : 39 | { 40 | "cCompilerExecutable" : "/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang", 41 | "cppCompilerExecutable" : "/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang++" 42 | } 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /lib/src/lmdb/types.dart: -------------------------------------------------------------------------------- 1 | import 'dart:ffi'; 2 | import 'dart:typed_data'; 3 | 4 | import 'package:ffi/ffi.dart'; 5 | import 'package:flutter_ffi_demo/src/utils.dart'; 6 | 7 | class MDB_env extends Struct {} 8 | 9 | class MDB_txn extends Struct {} 10 | 11 | class MDB_val extends Struct { 12 | @IntPtr() 13 | int mv_size; 14 | 15 | Pointer mv_data; 16 | 17 | factory MDB_val.allocate(int mv_size, Pointer mv_data) => 18 | allocate().ref 19 | ..mv_size = mv_size 20 | ..mv_data = mv_data; 21 | 22 | factory MDB_val.fromBinary(Uint8List binary) { 23 | final Pointer keyData = allocate( 24 | count: binary.length, 25 | ); 26 | 27 | fillPointer(binary, keyData); 28 | 29 | return MDB_val.allocate( 30 | binary.length * sizeOf(), 31 | keyData.cast(), 32 | ); 33 | } 34 | } 35 | 36 | class MDB_cursor extends Struct {} 37 | 38 | enum MDB_cursor_op { 39 | /// Position at first key/data item 40 | MDB_FIRST, 41 | 42 | /// Position at first data item of current key. Only for #MDB_DUPSORT 43 | MDB_FIRST_DUP, 44 | 45 | /// Position at key/data pair. Only for #MDB_DUPSORT 46 | MDB_GET_BOTH, 47 | 48 | /// position at key, nearest data. Only for #MDB_DUPSORT 49 | MDB_GET_BOTH_RANGE, 50 | 51 | /// Return key/data at current cursor position. 52 | MDB_GET_CURRENT, 53 | 54 | /// Return up to a page of duplicate data items 55 | /// from current cursor position. Move cursor to prepare 56 | /// for #MDB_NEXT_MULTIPLE. Only for #MDB_DUPFIXED 57 | MDB_GET_MULTIPLE, 58 | 59 | /// Position at last key/data item. 60 | MDB_LAST, 61 | 62 | /// Position at last data item of current key. Only for #MDB_DUPSORT 63 | MDB_LAST_DUP, 64 | 65 | /// Position at next data item. 66 | MDB_NEXT, 67 | 68 | /// Position at next data item of current key. Only for #MDB_DUPSORT 69 | MDB_NEXT_DUP, 70 | 71 | /// Return up to a page of duplicate data items 72 | /// from next cursor position. Move cursor to prepare 73 | /// for #MDB_NEXT_MULTIPLE. Only for #MDB_DUPFIXED 74 | MDB_NEXT_MULTIPLE, 75 | 76 | /// Position at first data item of next key. 77 | MDB_NEXT_NODUP, 78 | 79 | /// Position at previous data item. 80 | MDB_PREV, 81 | 82 | /// Position at previous data item of current key. 83 | /// Only for #MDB_DUPSORT 84 | MDB_PREV_DUP, 85 | 86 | /// Position at last data item of previous key. 87 | MDB_PREV_NODUP, 88 | 89 | /// Position at specified key. 90 | MDB_SET, 91 | 92 | /// Position at specified key, return key + data. 93 | MDB_SET_KEY, 94 | 95 | /// Position at first key greater than or equal to specified key. 96 | MDB_SET_RANGE, 97 | 98 | /// Position at previous page and return up to 99 | /// a page of duplicate data items. Only for #MDB_DUPFIXED 100 | MDB_PREV_MULTIPLE 101 | } 102 | -------------------------------------------------------------------------------- /android/app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 7 | 12 | 16 | 23 | 27 | 30 | 35 | 38 | 39 | 40 | 41 | 42 | 43 | 45 | 48 | 49 | 50 | -------------------------------------------------------------------------------- /android/app/.cxx/cmake/debug/x86_64/json_generation_record.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "level": "INFO", 4 | "message": "Start JSON generation. Platform version: 16 min SDK version: x86_64" 5 | }, 6 | { 7 | "level": "INFO", 8 | "message": "rebuilding JSON /Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/x86_64/android_gradle_build.json due to:" 9 | }, 10 | { 11 | "level": "INFO", 12 | "message": "- force flag, will remove stale json folder" 13 | }, 14 | { 15 | "level": "INFO", 16 | "message": "removing stale contents from \u0027/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/x86_64\u0027" 17 | }, 18 | { 19 | "level": "INFO", 20 | "message": "created folder \u0027/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/x86_64\u0027" 21 | }, 22 | { 23 | "level": "INFO", 24 | "message": "executing cmake Executable : /Users/darelbitsy/Library/Android/sdk/cmake/3.6.4111459/bin/cmake\narguments : \n-H/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/lmdb\n-B/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/x86_64\n-DANDROID_ABI\u003dx86_64\n-DANDROID_PLATFORM\u003dandroid-16\n-DCMAKE_LIBRARY_OUTPUT_DIRECTORY\u003d/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/build/app/intermediates/cmake/debug/obj/x86_64\n-DCMAKE_BUILD_TYPE\u003dDebug\n-DANDROID_NDK\u003d/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462\n-DCMAKE_TOOLCHAIN_FILE\u003d/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/build/cmake/android.toolchain.cmake\n-DCMAKE_MAKE_PROGRAM\u003d/Users/darelbitsy/Library/Android/sdk/cmake/3.6.4111459/bin/ninja\n-GAndroid Gradle - Ninja\njvmArgs : \n\n" 25 | }, 26 | { 27 | "level": "INFO", 28 | "message": "Executable : /Users/darelbitsy/Library/Android/sdk/cmake/3.6.4111459/bin/cmake\narguments : \n-H/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/lmdb\n-B/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/x86_64\n-DANDROID_ABI\u003dx86_64\n-DANDROID_PLATFORM\u003dandroid-16\n-DCMAKE_LIBRARY_OUTPUT_DIRECTORY\u003d/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/build/app/intermediates/cmake/debug/obj/x86_64\n-DCMAKE_BUILD_TYPE\u003dDebug\n-DANDROID_NDK\u003d/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462\n-DCMAKE_TOOLCHAIN_FILE\u003d/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/build/cmake/android.toolchain.cmake\n-DCMAKE_MAKE_PROGRAM\u003d/Users/darelbitsy/Library/Android/sdk/cmake/3.6.4111459/bin/ninja\n-GAndroid Gradle - Ninja\njvmArgs : \n\n" 29 | }, 30 | { 31 | "level": "INFO", 32 | "message": "done executing cmake" 33 | }, 34 | { 35 | "level": "INFO", 36 | "message": "write build output /Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/x86_64/build_output.txt" 37 | }, 38 | { 39 | "level": "INFO", 40 | "message": "write command file /Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/x86_64/build_command.txt" 41 | }, 42 | { 43 | "level": "INFO", 44 | "message": "JSON generation completed without problems" 45 | } 46 | ] -------------------------------------------------------------------------------- /android/app/.cxx/cmake/debug/x86/rules.ninja: -------------------------------------------------------------------------------- 1 | # CMAKE generated file: DO NOT EDIT! 2 | # Generated by "Ninja" Generator, CMake Version 3.6 3 | 4 | # This file contains all the rules used to get the outputs files 5 | # built from the input files. 6 | # It is included in the main 'build.ninja'. 7 | 8 | # ============================================================================= 9 | # Project: Project 10 | # Configuration: Debug 11 | # ============================================================================= 12 | # ============================================================================= 13 | 14 | ############################################# 15 | # Rule for running custom commands. 16 | 17 | rule CUSTOM_COMMAND 18 | command = $COMMAND 19 | description = $DESC 20 | 21 | 22 | ############################################# 23 | # Rule for compiling C files. 24 | 25 | rule C_COMPILER__lmdb 26 | depfile = $DEP_FILE 27 | deps = gcc 28 | command = /Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang --target=i686-none-linux-android16 --gcc-toolchain=/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64 --sysroot=/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/sysroot $DEFINES $INCLUDES $FLAGS -MD -MT $out -MF $DEP_FILE -o $out -c $IN_ABS 29 | description = Building C object $out 30 | 31 | 32 | ############################################# 33 | # Rule for linking C shared library. 34 | 35 | rule C_SHARED_LIBRARY_LINKER__lmdb 36 | command = $PRE_LINK && /Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang --target=i686-none-linux-android16 --gcc-toolchain=/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64 --sysroot=/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/sysroot -fPIC $LANGUAGE_COMPILE_FLAGS $ARCH_FLAGS $LINK_FLAGS -shared $SONAME_FLAG$SONAME -o $TARGET_FILE $in $LINK_PATH $LINK_LIBRARIES && $POST_BUILD 37 | description = Linking C shared library $TARGET_FILE 38 | restat = $RESTAT 39 | 40 | 41 | ############################################# 42 | # Rule for re-running cmake. 43 | 44 | rule RERUN_CMAKE 45 | command = /Users/darelbitsy/Library/Android/sdk/cmake/3.6.4111459/bin/cmake -H/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/lmdb -B/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/x86 46 | description = Re-running CMake... 47 | generator = 1 48 | 49 | 50 | ############################################# 51 | # Rule for cleaning all built files. 52 | 53 | rule CLEAN 54 | command = /Users/darelbitsy/Library/Android/sdk/cmake/3.6.4111459/bin/ninja -t clean 55 | description = Cleaning all built files... 56 | 57 | 58 | ############################################# 59 | # Rule for printing all primary targets available. 60 | 61 | rule HELP 62 | command = /Users/darelbitsy/Library/Android/sdk/cmake/3.6.4111459/bin/ninja -t targets 63 | description = All primary targets available: 64 | 65 | -------------------------------------------------------------------------------- /android/app/.cxx/cmake/debug/x86_64/rules.ninja: -------------------------------------------------------------------------------- 1 | # CMAKE generated file: DO NOT EDIT! 2 | # Generated by "Ninja" Generator, CMake Version 3.6 3 | 4 | # This file contains all the rules used to get the outputs files 5 | # built from the input files. 6 | # It is included in the main 'build.ninja'. 7 | 8 | # ============================================================================= 9 | # Project: Project 10 | # Configuration: Debug 11 | # ============================================================================= 12 | # ============================================================================= 13 | 14 | ############################################# 15 | # Rule for running custom commands. 16 | 17 | rule CUSTOM_COMMAND 18 | command = $COMMAND 19 | description = $DESC 20 | 21 | 22 | ############################################# 23 | # Rule for compiling C files. 24 | 25 | rule C_COMPILER__lmdb 26 | depfile = $DEP_FILE 27 | deps = gcc 28 | command = /Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang --target=x86_64-none-linux-android21 --gcc-toolchain=/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64 --sysroot=/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/sysroot $DEFINES $INCLUDES $FLAGS -MD -MT $out -MF $DEP_FILE -o $out -c $IN_ABS 29 | description = Building C object $out 30 | 31 | 32 | ############################################# 33 | # Rule for linking C shared library. 34 | 35 | rule C_SHARED_LIBRARY_LINKER__lmdb 36 | command = $PRE_LINK && /Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang --target=x86_64-none-linux-android21 --gcc-toolchain=/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64 --sysroot=/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/sysroot -fPIC $LANGUAGE_COMPILE_FLAGS $ARCH_FLAGS $LINK_FLAGS -shared $SONAME_FLAG$SONAME -o $TARGET_FILE $in $LINK_PATH $LINK_LIBRARIES && $POST_BUILD 37 | description = Linking C shared library $TARGET_FILE 38 | restat = $RESTAT 39 | 40 | 41 | ############################################# 42 | # Rule for re-running cmake. 43 | 44 | rule RERUN_CMAKE 45 | command = /Users/darelbitsy/Library/Android/sdk/cmake/3.6.4111459/bin/cmake -H/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/lmdb -B/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/x86_64 46 | description = Re-running CMake... 47 | generator = 1 48 | 49 | 50 | ############################################# 51 | # Rule for cleaning all built files. 52 | 53 | rule CLEAN 54 | command = /Users/darelbitsy/Library/Android/sdk/cmake/3.6.4111459/bin/ninja -t clean 55 | description = Cleaning all built files... 56 | 57 | 58 | ############################################# 59 | # Rule for printing all primary targets available. 60 | 61 | rule HELP 62 | command = /Users/darelbitsy/Library/Android/sdk/cmake/3.6.4111459/bin/ninja -t targets 63 | description = All primary targets available: 64 | 65 | -------------------------------------------------------------------------------- /android/app/.cxx/cmake/debug/arm64-v8a/rules.ninja: -------------------------------------------------------------------------------- 1 | # CMAKE generated file: DO NOT EDIT! 2 | # Generated by "Ninja" Generator, CMake Version 3.6 3 | 4 | # This file contains all the rules used to get the outputs files 5 | # built from the input files. 6 | # It is included in the main 'build.ninja'. 7 | 8 | # ============================================================================= 9 | # Project: Project 10 | # Configuration: Debug 11 | # ============================================================================= 12 | # ============================================================================= 13 | 14 | ############################################# 15 | # Rule for running custom commands. 16 | 17 | rule CUSTOM_COMMAND 18 | command = $COMMAND 19 | description = $DESC 20 | 21 | 22 | ############################################# 23 | # Rule for compiling C files. 24 | 25 | rule C_COMPILER__lmdb 26 | depfile = $DEP_FILE 27 | deps = gcc 28 | command = /Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang --target=aarch64-none-linux-android21 --gcc-toolchain=/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64 --sysroot=/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/sysroot $DEFINES $INCLUDES $FLAGS -MD -MT $out -MF $DEP_FILE -o $out -c $IN_ABS 29 | description = Building C object $out 30 | 31 | 32 | ############################################# 33 | # Rule for linking C shared library. 34 | 35 | rule C_SHARED_LIBRARY_LINKER__lmdb 36 | command = $PRE_LINK && /Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang --target=aarch64-none-linux-android21 --gcc-toolchain=/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64 --sysroot=/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/sysroot -fPIC $LANGUAGE_COMPILE_FLAGS $ARCH_FLAGS $LINK_FLAGS -shared $SONAME_FLAG$SONAME -o $TARGET_FILE $in $LINK_PATH $LINK_LIBRARIES && $POST_BUILD 37 | description = Linking C shared library $TARGET_FILE 38 | restat = $RESTAT 39 | 40 | 41 | ############################################# 42 | # Rule for re-running cmake. 43 | 44 | rule RERUN_CMAKE 45 | command = /Users/darelbitsy/Library/Android/sdk/cmake/3.6.4111459/bin/cmake -H/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/lmdb -B/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/arm64-v8a 46 | description = Re-running CMake... 47 | generator = 1 48 | 49 | 50 | ############################################# 51 | # Rule for cleaning all built files. 52 | 53 | rule CLEAN 54 | command = /Users/darelbitsy/Library/Android/sdk/cmake/3.6.4111459/bin/ninja -t clean 55 | description = Cleaning all built files... 56 | 57 | 58 | ############################################# 59 | # Rule for printing all primary targets available. 60 | 61 | rule HELP 62 | command = /Users/darelbitsy/Library/Android/sdk/cmake/3.6.4111459/bin/ninja -t targets 63 | description = All primary targets available: 64 | 65 | -------------------------------------------------------------------------------- /android/app/.cxx/cmake/debug/arm64-v8a/json_generation_record.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "level": "INFO", 4 | "message": "Start JSON generation. Platform version: 16 min SDK version: arm64-v8a" 5 | }, 6 | { 7 | "level": "INFO", 8 | "message": "rebuilding JSON /Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/arm64-v8a/android_gradle_build.json due to:" 9 | }, 10 | { 11 | "level": "INFO", 12 | "message": "- force flag, will remove stale json folder" 13 | }, 14 | { 15 | "level": "INFO", 16 | "message": "removing stale contents from \u0027/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/arm64-v8a\u0027" 17 | }, 18 | { 19 | "level": "INFO", 20 | "message": "created folder \u0027/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/arm64-v8a\u0027" 21 | }, 22 | { 23 | "level": "INFO", 24 | "message": "executing cmake Executable : /Users/darelbitsy/Library/Android/sdk/cmake/3.6.4111459/bin/cmake\narguments : \n-H/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/lmdb\n-B/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/arm64-v8a\n-DANDROID_ABI\u003darm64-v8a\n-DANDROID_PLATFORM\u003dandroid-16\n-DCMAKE_LIBRARY_OUTPUT_DIRECTORY\u003d/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/build/app/intermediates/cmake/debug/obj/arm64-v8a\n-DCMAKE_BUILD_TYPE\u003dDebug\n-DANDROID_NDK\u003d/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462\n-DCMAKE_TOOLCHAIN_FILE\u003d/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/build/cmake/android.toolchain.cmake\n-DCMAKE_MAKE_PROGRAM\u003d/Users/darelbitsy/Library/Android/sdk/cmake/3.6.4111459/bin/ninja\n-GAndroid Gradle - Ninja\njvmArgs : \n\n" 25 | }, 26 | { 27 | "level": "INFO", 28 | "message": "Executable : /Users/darelbitsy/Library/Android/sdk/cmake/3.6.4111459/bin/cmake\narguments : \n-H/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/lmdb\n-B/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/arm64-v8a\n-DANDROID_ABI\u003darm64-v8a\n-DANDROID_PLATFORM\u003dandroid-16\n-DCMAKE_LIBRARY_OUTPUT_DIRECTORY\u003d/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/build/app/intermediates/cmake/debug/obj/arm64-v8a\n-DCMAKE_BUILD_TYPE\u003dDebug\n-DANDROID_NDK\u003d/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462\n-DCMAKE_TOOLCHAIN_FILE\u003d/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/build/cmake/android.toolchain.cmake\n-DCMAKE_MAKE_PROGRAM\u003d/Users/darelbitsy/Library/Android/sdk/cmake/3.6.4111459/bin/ninja\n-GAndroid Gradle - Ninja\njvmArgs : \n\n" 29 | }, 30 | { 31 | "level": "INFO", 32 | "message": "done executing cmake" 33 | }, 34 | { 35 | "level": "INFO", 36 | "message": "write build output /Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/arm64-v8a/build_output.txt" 37 | }, 38 | { 39 | "level": "INFO", 40 | "message": "write command file /Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/arm64-v8a/build_command.txt" 41 | }, 42 | { 43 | "level": "INFO", 44 | "message": "JSON generation completed without problems" 45 | } 46 | ] -------------------------------------------------------------------------------- /android/app/.cxx/cmake/debug/armeabi-v7a/rules.ninja: -------------------------------------------------------------------------------- 1 | # CMAKE generated file: DO NOT EDIT! 2 | # Generated by "Ninja" Generator, CMake Version 3.6 3 | 4 | # This file contains all the rules used to get the outputs files 5 | # built from the input files. 6 | # It is included in the main 'build.ninja'. 7 | 8 | # ============================================================================= 9 | # Project: Project 10 | # Configuration: Debug 11 | # ============================================================================= 12 | # ============================================================================= 13 | 14 | ############################################# 15 | # Rule for running custom commands. 16 | 17 | rule CUSTOM_COMMAND 18 | command = $COMMAND 19 | description = $DESC 20 | 21 | 22 | ############################################# 23 | # Rule for compiling C files. 24 | 25 | rule C_COMPILER__lmdb 26 | depfile = $DEP_FILE 27 | deps = gcc 28 | command = /Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang --target=armv7-none-linux-androideabi16 --gcc-toolchain=/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64 --sysroot=/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/sysroot $DEFINES $INCLUDES $FLAGS -MD -MT $out -MF $DEP_FILE -o $out -c $IN_ABS 29 | description = Building C object $out 30 | 31 | 32 | ############################################# 33 | # Rule for linking C shared library. 34 | 35 | rule C_SHARED_LIBRARY_LINKER__lmdb 36 | command = $PRE_LINK && /Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang --target=armv7-none-linux-androideabi16 --gcc-toolchain=/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64 --sysroot=/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/sysroot -fPIC $LANGUAGE_COMPILE_FLAGS $ARCH_FLAGS $LINK_FLAGS -shared $SONAME_FLAG$SONAME -o $TARGET_FILE $in $LINK_PATH $LINK_LIBRARIES && $POST_BUILD 37 | description = Linking C shared library $TARGET_FILE 38 | restat = $RESTAT 39 | 40 | 41 | ############################################# 42 | # Rule for re-running cmake. 43 | 44 | rule RERUN_CMAKE 45 | command = /Users/darelbitsy/Library/Android/sdk/cmake/3.6.4111459/bin/cmake -H/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/lmdb -B/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/armeabi-v7a 46 | description = Re-running CMake... 47 | generator = 1 48 | 49 | 50 | ############################################# 51 | # Rule for cleaning all built files. 52 | 53 | rule CLEAN 54 | command = /Users/darelbitsy/Library/Android/sdk/cmake/3.6.4111459/bin/ninja -t clean 55 | description = Cleaning all built files... 56 | 57 | 58 | ############################################# 59 | # Rule for printing all primary targets available. 60 | 61 | rule HELP 62 | command = /Users/darelbitsy/Library/Android/sdk/cmake/3.6.4111459/bin/ninja -t targets 63 | description = All primary targets available: 64 | 65 | -------------------------------------------------------------------------------- /android/app/.cxx/cmake/debug/armeabi-v7a/json_generation_record.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "level": "INFO", 4 | "message": "Start JSON generation. Platform version: 16 min SDK version: armeabi-v7a" 5 | }, 6 | { 7 | "level": "INFO", 8 | "message": "rebuilding JSON /Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/armeabi-v7a/android_gradle_build.json due to:" 9 | }, 10 | { 11 | "level": "INFO", 12 | "message": "- force flag, will remove stale json folder" 13 | }, 14 | { 15 | "level": "INFO", 16 | "message": "removing stale contents from \u0027/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/armeabi-v7a\u0027" 17 | }, 18 | { 19 | "level": "INFO", 20 | "message": "created folder \u0027/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/armeabi-v7a\u0027" 21 | }, 22 | { 23 | "level": "INFO", 24 | "message": "executing cmake Executable : /Users/darelbitsy/Library/Android/sdk/cmake/3.6.4111459/bin/cmake\narguments : \n-H/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/lmdb\n-B/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/armeabi-v7a\n-DANDROID_ABI\u003darmeabi-v7a\n-DANDROID_PLATFORM\u003dandroid-16\n-DCMAKE_LIBRARY_OUTPUT_DIRECTORY\u003d/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/build/app/intermediates/cmake/debug/obj/armeabi-v7a\n-DCMAKE_BUILD_TYPE\u003dDebug\n-DANDROID_NDK\u003d/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462\n-DCMAKE_TOOLCHAIN_FILE\u003d/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/build/cmake/android.toolchain.cmake\n-DCMAKE_MAKE_PROGRAM\u003d/Users/darelbitsy/Library/Android/sdk/cmake/3.6.4111459/bin/ninja\n-GAndroid Gradle - Ninja\njvmArgs : \n\n" 25 | }, 26 | { 27 | "level": "INFO", 28 | "message": "Executable : /Users/darelbitsy/Library/Android/sdk/cmake/3.6.4111459/bin/cmake\narguments : \n-H/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/lmdb\n-B/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/armeabi-v7a\n-DANDROID_ABI\u003darmeabi-v7a\n-DANDROID_PLATFORM\u003dandroid-16\n-DCMAKE_LIBRARY_OUTPUT_DIRECTORY\u003d/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/build/app/intermediates/cmake/debug/obj/armeabi-v7a\n-DCMAKE_BUILD_TYPE\u003dDebug\n-DANDROID_NDK\u003d/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462\n-DCMAKE_TOOLCHAIN_FILE\u003d/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/build/cmake/android.toolchain.cmake\n-DCMAKE_MAKE_PROGRAM\u003d/Users/darelbitsy/Library/Android/sdk/cmake/3.6.4111459/bin/ninja\n-GAndroid Gradle - Ninja\njvmArgs : \n\n" 29 | }, 30 | { 31 | "level": "INFO", 32 | "message": "done executing cmake" 33 | }, 34 | { 35 | "level": "INFO", 36 | "message": "write build output /Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/armeabi-v7a/build_output.txt" 37 | }, 38 | { 39 | "level": "INFO", 40 | "message": "write command file /Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/armeabi-v7a/build_command.txt" 41 | }, 42 | { 43 | "level": "INFO", 44 | "message": "JSON generation completed without problems" 45 | } 46 | ] -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "size" : "20x20", 5 | "idiom" : "iphone", 6 | "filename" : "Icon-App-20x20@2x.png", 7 | "scale" : "2x" 8 | }, 9 | { 10 | "size" : "20x20", 11 | "idiom" : "iphone", 12 | "filename" : "Icon-App-20x20@3x.png", 13 | "scale" : "3x" 14 | }, 15 | { 16 | "size" : "29x29", 17 | "idiom" : "iphone", 18 | "filename" : "Icon-App-29x29@1x.png", 19 | "scale" : "1x" 20 | }, 21 | { 22 | "size" : "29x29", 23 | "idiom" : "iphone", 24 | "filename" : "Icon-App-29x29@2x.png", 25 | "scale" : "2x" 26 | }, 27 | { 28 | "size" : "29x29", 29 | "idiom" : "iphone", 30 | "filename" : "Icon-App-29x29@3x.png", 31 | "scale" : "3x" 32 | }, 33 | { 34 | "size" : "40x40", 35 | "idiom" : "iphone", 36 | "filename" : "Icon-App-40x40@2x.png", 37 | "scale" : "2x" 38 | }, 39 | { 40 | "size" : "40x40", 41 | "idiom" : "iphone", 42 | "filename" : "Icon-App-40x40@3x.png", 43 | "scale" : "3x" 44 | }, 45 | { 46 | "size" : "60x60", 47 | "idiom" : "iphone", 48 | "filename" : "Icon-App-60x60@2x.png", 49 | "scale" : "2x" 50 | }, 51 | { 52 | "size" : "60x60", 53 | "idiom" : "iphone", 54 | "filename" : "Icon-App-60x60@3x.png", 55 | "scale" : "3x" 56 | }, 57 | { 58 | "size" : "20x20", 59 | "idiom" : "ipad", 60 | "filename" : "Icon-App-20x20@1x.png", 61 | "scale" : "1x" 62 | }, 63 | { 64 | "size" : "20x20", 65 | "idiom" : "ipad", 66 | "filename" : "Icon-App-20x20@2x.png", 67 | "scale" : "2x" 68 | }, 69 | { 70 | "size" : "29x29", 71 | "idiom" : "ipad", 72 | "filename" : "Icon-App-29x29@1x.png", 73 | "scale" : "1x" 74 | }, 75 | { 76 | "size" : "29x29", 77 | "idiom" : "ipad", 78 | "filename" : "Icon-App-29x29@2x.png", 79 | "scale" : "2x" 80 | }, 81 | { 82 | "size" : "40x40", 83 | "idiom" : "ipad", 84 | "filename" : "Icon-App-40x40@1x.png", 85 | "scale" : "1x" 86 | }, 87 | { 88 | "size" : "40x40", 89 | "idiom" : "ipad", 90 | "filename" : "Icon-App-40x40@2x.png", 91 | "scale" : "2x" 92 | }, 93 | { 94 | "size" : "76x76", 95 | "idiom" : "ipad", 96 | "filename" : "Icon-App-76x76@1x.png", 97 | "scale" : "1x" 98 | }, 99 | { 100 | "size" : "76x76", 101 | "idiom" : "ipad", 102 | "filename" : "Icon-App-76x76@2x.png", 103 | "scale" : "2x" 104 | }, 105 | { 106 | "size" : "83.5x83.5", 107 | "idiom" : "ipad", 108 | "filename" : "Icon-App-83.5x83.5@2x.png", 109 | "scale" : "2x" 110 | }, 111 | { 112 | "size" : "1024x1024", 113 | "idiom" : "ios-marketing", 114 | "filename" : "Icon-App-1024x1024@1x.png", 115 | "scale" : "1x" 116 | } 117 | ], 118 | "info" : { 119 | "version" : 1, 120 | "author" : "xcode" 121 | } 122 | } 123 | -------------------------------------------------------------------------------- /pubspec.yaml: -------------------------------------------------------------------------------- 1 | name: flutter_ffi_demo 2 | description: A new Flutter project. 3 | 4 | # The following line prevents the package from being accidentally published to 5 | # pub.dev using `pub publish`. This is preferred for private packages. 6 | publish_to: 'none' # Remove this line if you wish to publish to pub.dev 7 | 8 | # The following defines the version and build number for your application. 9 | # A version number is three numbers separated by dots, like 1.2.43 10 | # followed by an optional build number separated by a +. 11 | # Both the version and the builder number may be overridden in flutter 12 | # build by specifying --build-name and --build-number, respectively. 13 | # In Android, build-name is used as versionName while build-number used as versionCode. 14 | # Read more about Android versioning at https://developer.android.com/studio/publish/versioning 15 | # In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion. 16 | # Read more about iOS versioning at 17 | # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html 18 | version: 1.0.0+1 19 | 20 | environment: 21 | sdk: ">=2.7.0 <3.0.0" 22 | 23 | dependencies: 24 | flutter: 25 | sdk: flutter 26 | ffi: ^0.1.3 27 | path_provider: ^1.6.8 28 | msgpack_dart: ^0.0.7 29 | 30 | 31 | # The following adds the Cupertino Icons font to your application. 32 | # Use with the CupertinoIcons class for iOS style icons. 33 | cupertino_icons: ^0.1.3 34 | 35 | dev_dependencies: 36 | flutter_test: 37 | sdk: flutter 38 | 39 | # For information on the generic Dart part of this file, see the 40 | # following page: https://dart.dev/tools/pub/pubspec 41 | 42 | # The following section is specific to Flutter. 43 | flutter: 44 | 45 | # The following line ensures that the Material Icons font is 46 | # included with your application, so that you can use the icons in 47 | # the material Icons class. 48 | uses-material-design: true 49 | 50 | # To add assets to your application, add an assets section, like this: 51 | # assets: 52 | # - images/a_dot_burr.jpeg 53 | # - images/a_dot_ham.jpeg 54 | 55 | # An image asset can refer to one or more resolution-specific "variants", see 56 | # https://flutter.dev/assets-and-images/#resolution-aware. 57 | 58 | # For details regarding adding assets from package dependencies, see 59 | # https://flutter.dev/assets-and-images/#from-packages 60 | 61 | # To add custom fonts to your application, add a fonts section here, 62 | # in this "flutter" section. Each entry in this list should have a 63 | # "family" key with the font family name, and a "fonts" key with a 64 | # list giving the asset and other descriptors for the font. For 65 | # example: 66 | # fonts: 67 | # - family: Schyler 68 | # fonts: 69 | # - asset: fonts/Schyler-Regular.ttf 70 | # - asset: fonts/Schyler-Italic.ttf 71 | # style: italic 72 | # - family: Trajan Pro 73 | # fonts: 74 | # - asset: fonts/TrajanPro.ttf 75 | # - asset: fonts/TrajanPro_Bold.ttf 76 | # weight: 700 77 | # 78 | # For details regarding fonts from package dependencies, 79 | # see https://flutter.dev/custom-fonts/#from-packages 80 | -------------------------------------------------------------------------------- /android/app/.cxx/cmake/debug/x86/CMakeFiles/3.6.0-rc2/CMakeCCompiler.cmake: -------------------------------------------------------------------------------- 1 | set(CMAKE_C_COMPILER "/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang") 2 | set(CMAKE_C_COMPILER_ARG1 "") 3 | set(CMAKE_C_COMPILER_ID "Clang") 4 | set(CMAKE_C_COMPILER_VERSION "9.0") 5 | set(CMAKE_C_COMPILER_WRAPPER "") 6 | set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "11") 7 | set(CMAKE_C_COMPILE_FEATURES "c_function_prototypes;c_restrict;c_variadic_macros;c_static_assert") 8 | set(CMAKE_C90_COMPILE_FEATURES "c_function_prototypes") 9 | set(CMAKE_C99_COMPILE_FEATURES "c_restrict;c_variadic_macros") 10 | set(CMAKE_C11_COMPILE_FEATURES "c_static_assert") 11 | 12 | set(CMAKE_C_PLATFORM_ID "") 13 | set(CMAKE_C_SIMULATE_ID "") 14 | set(CMAKE_C_SIMULATE_VERSION "") 15 | 16 | set(CMAKE_AR "/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/bin/i686-linux-android-ar") 17 | set(CMAKE_RANLIB "/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/bin/i686-linux-android-ranlib") 18 | set(CMAKE_LINKER "/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/bin/i686-linux-android-ld") 19 | set(CMAKE_COMPILER_IS_GNUCC ) 20 | set(CMAKE_C_COMPILER_LOADED 1) 21 | set(CMAKE_C_COMPILER_WORKS TRUE) 22 | set(CMAKE_C_ABI_COMPILED TRUE) 23 | set(CMAKE_COMPILER_IS_MINGW ) 24 | set(CMAKE_COMPILER_IS_CYGWIN ) 25 | if(CMAKE_COMPILER_IS_CYGWIN) 26 | set(CYGWIN 1) 27 | set(UNIX 1) 28 | endif() 29 | 30 | set(CMAKE_C_COMPILER_ENV_VAR "CC") 31 | 32 | if(CMAKE_COMPILER_IS_MINGW) 33 | set(MINGW 1) 34 | endif() 35 | set(CMAKE_C_COMPILER_ID_RUN 1) 36 | set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m) 37 | set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC) 38 | set(CMAKE_C_LINKER_PREFERENCE 10) 39 | 40 | # Save compiler ABI information. 41 | set(CMAKE_C_SIZEOF_DATA_PTR "4") 42 | set(CMAKE_C_COMPILER_ABI "ELF") 43 | set(CMAKE_C_LIBRARY_ARCHITECTURE "") 44 | 45 | if(CMAKE_C_SIZEOF_DATA_PTR) 46 | set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}") 47 | endif() 48 | 49 | if(CMAKE_C_COMPILER_ABI) 50 | set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}") 51 | endif() 52 | 53 | if(CMAKE_C_LIBRARY_ARCHITECTURE) 54 | set(CMAKE_LIBRARY_ARCHITECTURE "") 55 | endif() 56 | 57 | set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "") 58 | if(CMAKE_C_CL_SHOWINCLUDES_PREFIX) 59 | set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}") 60 | endif() 61 | 62 | 63 | 64 | 65 | set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "dl;c;dl") 66 | set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/lib64/clang/9.0.8/lib/linux/i386;/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/lib/gcc/i686-linux-android/4.9.x;/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/lib/i686-linux-android/16;/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/lib/i686-linux-android;/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/i686-linux-android/lib;/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/lib") 67 | set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") 68 | -------------------------------------------------------------------------------- /android/app/.cxx/cmake/debug/armeabi-v7a/CMakeFiles/3.6.0-rc2/CMakeCCompiler.cmake: -------------------------------------------------------------------------------- 1 | set(CMAKE_C_COMPILER "/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang") 2 | set(CMAKE_C_COMPILER_ARG1 "") 3 | set(CMAKE_C_COMPILER_ID "Clang") 4 | set(CMAKE_C_COMPILER_VERSION "9.0") 5 | set(CMAKE_C_COMPILER_WRAPPER "") 6 | set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "11") 7 | set(CMAKE_C_COMPILE_FEATURES "c_function_prototypes;c_restrict;c_variadic_macros;c_static_assert") 8 | set(CMAKE_C90_COMPILE_FEATURES "c_function_prototypes") 9 | set(CMAKE_C99_COMPILE_FEATURES "c_restrict;c_variadic_macros") 10 | set(CMAKE_C11_COMPILE_FEATURES "c_static_assert") 11 | 12 | set(CMAKE_C_PLATFORM_ID "") 13 | set(CMAKE_C_SIMULATE_ID "") 14 | set(CMAKE_C_SIMULATE_VERSION "") 15 | 16 | set(CMAKE_AR "/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/bin/arm-linux-androideabi-ar") 17 | set(CMAKE_RANLIB "/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/bin/arm-linux-androideabi-ranlib") 18 | set(CMAKE_LINKER "/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/bin/arm-linux-androideabi-ld") 19 | set(CMAKE_COMPILER_IS_GNUCC ) 20 | set(CMAKE_C_COMPILER_LOADED 1) 21 | set(CMAKE_C_COMPILER_WORKS TRUE) 22 | set(CMAKE_C_ABI_COMPILED TRUE) 23 | set(CMAKE_COMPILER_IS_MINGW ) 24 | set(CMAKE_COMPILER_IS_CYGWIN ) 25 | if(CMAKE_COMPILER_IS_CYGWIN) 26 | set(CYGWIN 1) 27 | set(UNIX 1) 28 | endif() 29 | 30 | set(CMAKE_C_COMPILER_ENV_VAR "CC") 31 | 32 | if(CMAKE_COMPILER_IS_MINGW) 33 | set(MINGW 1) 34 | endif() 35 | set(CMAKE_C_COMPILER_ID_RUN 1) 36 | set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m) 37 | set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC) 38 | set(CMAKE_C_LINKER_PREFERENCE 10) 39 | 40 | # Save compiler ABI information. 41 | set(CMAKE_C_SIZEOF_DATA_PTR "4") 42 | set(CMAKE_C_COMPILER_ABI "ELF") 43 | set(CMAKE_C_LIBRARY_ARCHITECTURE "") 44 | 45 | if(CMAKE_C_SIZEOF_DATA_PTR) 46 | set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}") 47 | endif() 48 | 49 | if(CMAKE_C_COMPILER_ABI) 50 | set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}") 51 | endif() 52 | 53 | if(CMAKE_C_LIBRARY_ARCHITECTURE) 54 | set(CMAKE_LIBRARY_ARCHITECTURE "") 55 | endif() 56 | 57 | set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "") 58 | if(CMAKE_C_CL_SHOWINCLUDES_PREFIX) 59 | set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}") 60 | endif() 61 | 62 | 63 | 64 | 65 | set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "dl;c;dl") 66 | set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/lib64/clang/9.0.8/lib/linux/arm;/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/lib/gcc/arm-linux-androideabi/4.9.x/armv7-a/thumb;/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/arm-linux-androideabi/lib/armv7-a/thumb;/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/lib/arm-linux-androideabi/16;/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/lib/arm-linux-androideabi;/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/lib") 67 | set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") 68 | -------------------------------------------------------------------------------- /android/app/.cxx/cmake/debug/x86_64/CMakeFiles/3.6.0-rc2/CMakeCCompiler.cmake: -------------------------------------------------------------------------------- 1 | set(CMAKE_C_COMPILER "/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang") 2 | set(CMAKE_C_COMPILER_ARG1 "") 3 | set(CMAKE_C_COMPILER_ID "Clang") 4 | set(CMAKE_C_COMPILER_VERSION "9.0") 5 | set(CMAKE_C_COMPILER_WRAPPER "") 6 | set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "11") 7 | set(CMAKE_C_COMPILE_FEATURES "c_function_prototypes;c_restrict;c_variadic_macros;c_static_assert") 8 | set(CMAKE_C90_COMPILE_FEATURES "c_function_prototypes") 9 | set(CMAKE_C99_COMPILE_FEATURES "c_restrict;c_variadic_macros") 10 | set(CMAKE_C11_COMPILE_FEATURES "c_static_assert") 11 | 12 | set(CMAKE_C_PLATFORM_ID "") 13 | set(CMAKE_C_SIMULATE_ID "") 14 | set(CMAKE_C_SIMULATE_VERSION "") 15 | 16 | set(CMAKE_AR "/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/bin/x86_64-linux-android-ar") 17 | set(CMAKE_RANLIB "/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/bin/x86_64-linux-android-ranlib") 18 | set(CMAKE_LINKER "/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/bin/x86_64-linux-android-ld") 19 | set(CMAKE_COMPILER_IS_GNUCC ) 20 | set(CMAKE_C_COMPILER_LOADED 1) 21 | set(CMAKE_C_COMPILER_WORKS TRUE) 22 | set(CMAKE_C_ABI_COMPILED TRUE) 23 | set(CMAKE_COMPILER_IS_MINGW ) 24 | set(CMAKE_COMPILER_IS_CYGWIN ) 25 | if(CMAKE_COMPILER_IS_CYGWIN) 26 | set(CYGWIN 1) 27 | set(UNIX 1) 28 | endif() 29 | 30 | set(CMAKE_C_COMPILER_ENV_VAR "CC") 31 | 32 | if(CMAKE_COMPILER_IS_MINGW) 33 | set(MINGW 1) 34 | endif() 35 | set(CMAKE_C_COMPILER_ID_RUN 1) 36 | set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m) 37 | set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC) 38 | set(CMAKE_C_LINKER_PREFERENCE 10) 39 | 40 | # Save compiler ABI information. 41 | set(CMAKE_C_SIZEOF_DATA_PTR "8") 42 | set(CMAKE_C_COMPILER_ABI "ELF") 43 | set(CMAKE_C_LIBRARY_ARCHITECTURE "") 44 | 45 | if(CMAKE_C_SIZEOF_DATA_PTR) 46 | set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}") 47 | endif() 48 | 49 | if(CMAKE_C_COMPILER_ABI) 50 | set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}") 51 | endif() 52 | 53 | if(CMAKE_C_LIBRARY_ARCHITECTURE) 54 | set(CMAKE_LIBRARY_ARCHITECTURE "") 55 | endif() 56 | 57 | set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "") 58 | if(CMAKE_C_CL_SHOWINCLUDES_PREFIX) 59 | set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}") 60 | endif() 61 | 62 | 63 | 64 | 65 | set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "dl;c;dl") 66 | set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/lib64/clang/9.0.8/lib/linux/x86_64;/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/lib/gcc/x86_64-linux-android/4.9.x;/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/x86_64-linux-android/lib64;/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/lib/x86_64-linux-android/21;/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/lib/x86_64-linux-android;/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/x86_64-linux-android/lib;/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/lib") 67 | set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") 68 | -------------------------------------------------------------------------------- /android/app/.cxx/cmake/debug/arm64-v8a/CMakeFiles/3.6.0-rc2/CMakeCCompiler.cmake: -------------------------------------------------------------------------------- 1 | set(CMAKE_C_COMPILER "/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang") 2 | set(CMAKE_C_COMPILER_ARG1 "") 3 | set(CMAKE_C_COMPILER_ID "Clang") 4 | set(CMAKE_C_COMPILER_VERSION "9.0") 5 | set(CMAKE_C_COMPILER_WRAPPER "") 6 | set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "11") 7 | set(CMAKE_C_COMPILE_FEATURES "c_function_prototypes;c_restrict;c_variadic_macros;c_static_assert") 8 | set(CMAKE_C90_COMPILE_FEATURES "c_function_prototypes") 9 | set(CMAKE_C99_COMPILE_FEATURES "c_restrict;c_variadic_macros") 10 | set(CMAKE_C11_COMPILE_FEATURES "c_static_assert") 11 | 12 | set(CMAKE_C_PLATFORM_ID "") 13 | set(CMAKE_C_SIMULATE_ID "") 14 | set(CMAKE_C_SIMULATE_VERSION "") 15 | 16 | set(CMAKE_AR "/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/bin/aarch64-linux-android-ar") 17 | set(CMAKE_RANLIB "/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/bin/aarch64-linux-android-ranlib") 18 | set(CMAKE_LINKER "/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/bin/aarch64-linux-android-ld") 19 | set(CMAKE_COMPILER_IS_GNUCC ) 20 | set(CMAKE_C_COMPILER_LOADED 1) 21 | set(CMAKE_C_COMPILER_WORKS TRUE) 22 | set(CMAKE_C_ABI_COMPILED TRUE) 23 | set(CMAKE_COMPILER_IS_MINGW ) 24 | set(CMAKE_COMPILER_IS_CYGWIN ) 25 | if(CMAKE_COMPILER_IS_CYGWIN) 26 | set(CYGWIN 1) 27 | set(UNIX 1) 28 | endif() 29 | 30 | set(CMAKE_C_COMPILER_ENV_VAR "CC") 31 | 32 | if(CMAKE_COMPILER_IS_MINGW) 33 | set(MINGW 1) 34 | endif() 35 | set(CMAKE_C_COMPILER_ID_RUN 1) 36 | set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m) 37 | set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC) 38 | set(CMAKE_C_LINKER_PREFERENCE 10) 39 | 40 | # Save compiler ABI information. 41 | set(CMAKE_C_SIZEOF_DATA_PTR "8") 42 | set(CMAKE_C_COMPILER_ABI "ELF") 43 | set(CMAKE_C_LIBRARY_ARCHITECTURE "") 44 | 45 | if(CMAKE_C_SIZEOF_DATA_PTR) 46 | set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}") 47 | endif() 48 | 49 | if(CMAKE_C_COMPILER_ABI) 50 | set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}") 51 | endif() 52 | 53 | if(CMAKE_C_LIBRARY_ARCHITECTURE) 54 | set(CMAKE_LIBRARY_ARCHITECTURE "") 55 | endif() 56 | 57 | set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "") 58 | if(CMAKE_C_CL_SHOWINCLUDES_PREFIX) 59 | set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}") 60 | endif() 61 | 62 | 63 | 64 | 65 | set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "dl;c;dl") 66 | set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/lib64/clang/9.0.8/lib/linux/aarch64;/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/lib/gcc/aarch64-linux-android/4.9.x;/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/aarch64-linux-android/lib64;/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/lib/aarch64-linux-android/21;/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/lib/aarch64-linux-android;/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/aarch64-linux-android/lib;/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/lib") 67 | set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") 68 | -------------------------------------------------------------------------------- /ios/Podfile: -------------------------------------------------------------------------------- 1 | # Uncomment this line to define a global platform for your project 2 | # platform :ios, '9.0' 3 | 4 | # CocoaPods analytics sends network stats synchronously affecting flutter build latency. 5 | ENV['COCOAPODS_DISABLE_STATS'] = 'true' 6 | 7 | project 'Runner', { 8 | 'Debug' => :debug, 9 | 'Profile' => :release, 10 | 'Release' => :release, 11 | } 12 | 13 | def parse_KV_file(file, separator='=') 14 | file_abs_path = File.expand_path(file) 15 | if !File.exists? file_abs_path 16 | return []; 17 | end 18 | generated_key_values = {} 19 | skip_line_start_symbols = ["#", "/"] 20 | File.foreach(file_abs_path) do |line| 21 | next if skip_line_start_symbols.any? { |symbol| line =~ /^\s*#{symbol}/ } 22 | plugin = line.split(pattern=separator) 23 | if plugin.length == 2 24 | podname = plugin[0].strip() 25 | path = plugin[1].strip() 26 | podpath = File.expand_path("#{path}", file_abs_path) 27 | generated_key_values[podname] = podpath 28 | else 29 | puts "Invalid plugin specification: #{line}" 30 | end 31 | end 32 | generated_key_values 33 | end 34 | 35 | target 'Runner' do 36 | use_frameworks! 37 | use_modular_headers! 38 | 39 | # Flutter Pod 40 | 41 | copied_flutter_dir = File.join(__dir__, 'Flutter') 42 | copied_framework_path = File.join(copied_flutter_dir, 'Flutter.framework') 43 | copied_podspec_path = File.join(copied_flutter_dir, 'Flutter.podspec') 44 | unless File.exist?(copied_framework_path) && File.exist?(copied_podspec_path) 45 | # Copy Flutter.framework and Flutter.podspec to Flutter/ to have something to link against if the xcode backend script has not run yet. 46 | # That script will copy the correct debug/profile/release version of the framework based on the currently selected Xcode configuration. 47 | # CocoaPods will not embed the framework on pod install (before any build phases can generate) if the dylib does not exist. 48 | 49 | generated_xcode_build_settings_path = File.join(copied_flutter_dir, 'Generated.xcconfig') 50 | unless File.exist?(generated_xcode_build_settings_path) 51 | raise "Generated.xcconfig must exist. If you're running pod install manually, make sure flutter pub get is executed first" 52 | end 53 | generated_xcode_build_settings = parse_KV_file(generated_xcode_build_settings_path) 54 | cached_framework_dir = generated_xcode_build_settings['FLUTTER_FRAMEWORK_DIR']; 55 | 56 | unless File.exist?(copied_framework_path) 57 | FileUtils.cp_r(File.join(cached_framework_dir, 'Flutter.framework'), copied_flutter_dir) 58 | end 59 | unless File.exist?(copied_podspec_path) 60 | FileUtils.cp(File.join(cached_framework_dir, 'Flutter.podspec'), copied_flutter_dir) 61 | end 62 | end 63 | 64 | # Keep pod path relative so it can be checked into Podfile.lock. 65 | pod 'Flutter', :path => 'Flutter' 66 | 67 | # Plugin Pods 68 | 69 | # Prepare symlinks folder. We use symlinks to avoid having Podfile.lock 70 | # referring to absolute paths on developers' machines. 71 | system('rm -rf .symlinks') 72 | system('mkdir -p .symlinks/plugins') 73 | plugin_pods = parse_KV_file('../.flutter-plugins') 74 | plugin_pods.each do |name, path| 75 | symlink = File.join('.symlinks', 'plugins', name) 76 | File.symlink(path, symlink) 77 | pod name, :path => File.join(symlink, 'ios') 78 | end 79 | end 80 | 81 | post_install do |installer| 82 | installer.pods_project.targets.each do |target| 83 | target.build_configurations.each do |config| 84 | config.build_settings['ENABLE_BITCODE'] = 'NO' 85 | end 86 | end 87 | end 88 | -------------------------------------------------------------------------------- /ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 39 | 40 | 41 | 42 | 43 | 44 | 54 | 56 | 62 | 63 | 64 | 65 | 66 | 67 | 73 | 75 | 81 | 82 | 83 | 84 | 86 | 87 | 90 | 91 | 92 | -------------------------------------------------------------------------------- /lib/src/home_page.dart: -------------------------------------------------------------------------------- 1 | import 'dart:io'; 2 | 3 | import 'package:flutter/material.dart'; 4 | import 'package:flutter_ffi_demo/src/add_task_page.dart'; 5 | import 'package:flutter_ffi_demo/src/lmdb/lmdb.dart'; 6 | import 'package:flutter_ffi_demo/src/task.dart'; 7 | import 'package:path/path.dart' as p; 8 | import 'package:path_provider/path_provider.dart' as pp; 9 | 10 | class HomePage extends StatefulWidget { 11 | HomePage({Key key, this.title}) : super(key: key); 12 | 13 | final String title; 14 | 15 | @override 16 | _HomePageState createState() => _HomePageState(); 17 | } 18 | 19 | class _HomePageState extends State { 20 | final _databaseDirectory = pp.getApplicationSupportDirectory(); 21 | LMDBEnvironment _environment; 22 | 23 | int taskId = 0; 24 | 25 | @override 26 | void dispose() { 27 | _environment?.close(); 28 | super.dispose(); 29 | } 30 | 31 | @override 32 | Widget build(BuildContext context) { 33 | return Scaffold( 34 | appBar: AppBar( 35 | title: Text(widget.title), 36 | ), 37 | floatingActionButton: FloatingActionButton( 38 | onPressed: () { 39 | if (_environment != null) { 40 | Navigator.of(context) 41 | .push( 42 | MaterialPageRoute( 43 | builder: (_) => AddTaskPage( 44 | environment: _environment, 45 | taskId: "task$taskId", 46 | ), 47 | ), 48 | ).then((value) { 49 | if (value != null) { 50 | setState(() {}); 51 | } 52 | }); 53 | } 54 | }, 55 | child: Icon(Icons.add), 56 | ), 57 | body: Center( 58 | child: FutureBuilder( 59 | future: _databaseDirectory, 60 | builder: (_, AsyncSnapshot snapshot) { 61 | switch (snapshot.connectionState) { 62 | case ConnectionState.done: 63 | if (snapshot.hasData) { 64 | if (_environment == null) { 65 | _environment = LMDBEnvironment.open( 66 | _getDBDir(snapshot.data), 67 | 10, 68 | ); 69 | } 70 | 71 | final tasks = _environment?.getAllTasks() ?? []; 72 | 73 | taskId = tasks.length; 74 | 75 | return ListView.separated( 76 | itemBuilder: (BuildContext context, int index) { 77 | final task = tasks[index]; 78 | return _TaskWidget(task); 79 | }, 80 | separatorBuilder: (BuildContext context, int index) => 81 | Divider(), 82 | itemCount: tasks.length, 83 | ); 84 | } 85 | 86 | return Text( 87 | snapshot.error.toString(), 88 | style: Theme.of(context).textTheme.headline4, 89 | ); 90 | default: 91 | return CircularProgressIndicator(); 92 | } 93 | }, 94 | ), 95 | ), // This trailing comma makes auto-formatting nicer for build methods. 96 | ); 97 | } 98 | } 99 | 100 | class _TaskWidget extends StatelessWidget { 101 | final Task task; 102 | 103 | const _TaskWidget(this.task); 104 | 105 | @override 106 | Widget build(BuildContext context) { 107 | return ListTile( 108 | title: Text(task.name), 109 | trailing: Text(task.deadline.toIso8601String()), 110 | ); 111 | } 112 | } 113 | 114 | String _getDBDir(Directory root) { 115 | final envFile = File(p.join(root.path, "demo_env")); 116 | envFile.createSync(recursive: true); 117 | assert(envFile.existsSync()); 118 | return envFile.path; 119 | } 120 | -------------------------------------------------------------------------------- /android/app/.cxx/cmake/debug/x86/build_model.json: -------------------------------------------------------------------------------- 1 | { 2 | "variant": { 3 | "module": { 4 | "rootBuildGradleFolder": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android", 5 | "sdkFolder": "/Users/darelbitsy/Library/Android/sdk", 6 | "isNativeCompilerSettingsCacheEnabled": false, 7 | "isBuildOnlyTargetAbiEnabled": true, 8 | "ideBuildTargetAbi": "x86", 9 | "splitsAbiFilterSet": [], 10 | "intermediatesFolder": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/build/app/intermediates", 11 | "gradleModulePathName": ":app", 12 | "moduleRootFolder": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app", 13 | "makeFile": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/lmdb/CMakeLists.txt", 14 | "buildSystem": "CMAKE", 15 | "compilerSettingsCacheFolder": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/.cxx", 16 | "cxxFolder": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx", 17 | "ndkFolder": "/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462", 18 | "ndkVersion": "21.1.6352462", 19 | "ndkSupportedAbiList": [ 20 | "ARMEABI_V7A", 21 | "ARM64_V8A", 22 | "X86", 23 | "X86_64" 24 | ], 25 | "ndkDefaultAbiList": [ 26 | "ARMEABI_V7A", 27 | "ARM64_V8A", 28 | "X86", 29 | "X86_64" 30 | ], 31 | "cmakeToolchainFile": "." 32 | }, 33 | "buildSystemArgumentList": [], 34 | "cFlagList": [], 35 | "cppFlagsList": [], 36 | "variantName": "debug", 37 | "soFolder": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/build/app/intermediates/cmake/debug/lib", 38 | "objFolder": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/build/app/intermediates/cmake/debug/obj", 39 | "jsonFolder": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug", 40 | "gradleBuildOutputFolder": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cxx/debug", 41 | "isDebuggableEnabled": true, 42 | "validAbiList": [ 43 | "X86" 44 | ], 45 | "buildTargetSet": [] 46 | }, 47 | "abi": "X86", 48 | "abiPlatformVersion": 16, 49 | "cxxBuildFolder": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/x86", 50 | "jsonFile": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/x86/android_gradle_build.json", 51 | "gradleBuildOutputFolder": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cxx/debug/x86", 52 | "objFolder": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/build/app/intermediates/cmake/debug/obj/x86", 53 | "buildCommandFile": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/x86/build_command.txt", 54 | "buildOutputFile": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/x86/build_output.txt", 55 | "modelOutputFile": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/x86/build_model.json", 56 | "cmake": { 57 | "cmakeListsWrapperFile": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cxx/debug/x86/CMakeLists.txt", 58 | "toolchainWrapperFile": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cxx/debug/x86/android_gradle_build.toolchain.cmake", 59 | "buildGenerationStateFile": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cxx/debug/x86/build_generation_state.json", 60 | "cacheKeyFile": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cxx/debug/x86/compiler_cache_key.json", 61 | "compilerCacheUseFile": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cxx/debug/x86/compiler_cache_use.json", 62 | "compilerCacheWriteFile": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cxx/debug/x86/compiler_cache_write.json", 63 | "toolchainSettingsFromCacheFile": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cxx/debug/x86/compiler_settings_cache.cmake", 64 | "cmakeWrappingBaseFolder": "." 65 | }, 66 | "jsonGenerationLoggingRecordFile": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/x86/json_generation_record.json", 67 | "compileCommandsJsonFile": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/x86/compile_commands.json" 68 | } -------------------------------------------------------------------------------- /android/app/.cxx/cmake/debug/x86_64/build_model.json: -------------------------------------------------------------------------------- 1 | { 2 | "variant": { 3 | "module": { 4 | "rootBuildGradleFolder": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android", 5 | "sdkFolder": "/Users/darelbitsy/Library/Android/sdk", 6 | "isNativeCompilerSettingsCacheEnabled": false, 7 | "isBuildOnlyTargetAbiEnabled": true, 8 | "splitsAbiFilterSet": [], 9 | "intermediatesFolder": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/build/app/intermediates", 10 | "gradleModulePathName": ":app", 11 | "moduleRootFolder": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app", 12 | "makeFile": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/lmdb/CMakeLists.txt", 13 | "buildSystem": "CMAKE", 14 | "compilerSettingsCacheFolder": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/.cxx", 15 | "cxxFolder": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx", 16 | "ndkFolder": "/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462", 17 | "ndkVersion": "21.1.6352462", 18 | "ndkSupportedAbiList": [ 19 | "ARMEABI_V7A", 20 | "ARM64_V8A", 21 | "X86", 22 | "X86_64" 23 | ], 24 | "ndkDefaultAbiList": [ 25 | "ARMEABI_V7A", 26 | "ARM64_V8A", 27 | "X86", 28 | "X86_64" 29 | ], 30 | "cmakeToolchainFile": "." 31 | }, 32 | "buildSystemArgumentList": [], 33 | "cFlagList": [], 34 | "cppFlagsList": [], 35 | "variantName": "debug", 36 | "soFolder": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/build/app/intermediates/cmake/debug/lib", 37 | "objFolder": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/build/app/intermediates/cmake/debug/obj", 38 | "jsonFolder": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug", 39 | "gradleBuildOutputFolder": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cxx/debug", 40 | "isDebuggableEnabled": true, 41 | "validAbiList": [ 42 | "ARMEABI_V7A", 43 | "ARM64_V8A", 44 | "X86", 45 | "X86_64" 46 | ], 47 | "buildTargetSet": [] 48 | }, 49 | "abi": "X86_64", 50 | "abiPlatformVersion": 16, 51 | "cxxBuildFolder": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/x86_64", 52 | "jsonFile": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/x86_64/android_gradle_build.json", 53 | "gradleBuildOutputFolder": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cxx/debug/x86_64", 54 | "objFolder": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/build/app/intermediates/cmake/debug/obj/x86_64", 55 | "buildCommandFile": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/x86_64/build_command.txt", 56 | "buildOutputFile": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/x86_64/build_output.txt", 57 | "modelOutputFile": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/x86_64/build_model.json", 58 | "cmake": { 59 | "cmakeListsWrapperFile": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cxx/debug/x86_64/CMakeLists.txt", 60 | "toolchainWrapperFile": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cxx/debug/x86_64/android_gradle_build.toolchain.cmake", 61 | "buildGenerationStateFile": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cxx/debug/x86_64/build_generation_state.json", 62 | "cacheKeyFile": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cxx/debug/x86_64/compiler_cache_key.json", 63 | "compilerCacheUseFile": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cxx/debug/x86_64/compiler_cache_use.json", 64 | "compilerCacheWriteFile": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cxx/debug/x86_64/compiler_cache_write.json", 65 | "toolchainSettingsFromCacheFile": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cxx/debug/x86_64/compiler_settings_cache.cmake", 66 | "cmakeWrappingBaseFolder": "." 67 | }, 68 | "jsonGenerationLoggingRecordFile": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/x86_64/json_generation_record.json", 69 | "compileCommandsJsonFile": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/x86_64/compile_commands.json" 70 | } -------------------------------------------------------------------------------- /android/app/.cxx/cmake/debug/arm64-v8a/build_model.json: -------------------------------------------------------------------------------- 1 | { 2 | "variant": { 3 | "module": { 4 | "rootBuildGradleFolder": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android", 5 | "sdkFolder": "/Users/darelbitsy/Library/Android/sdk", 6 | "isNativeCompilerSettingsCacheEnabled": false, 7 | "isBuildOnlyTargetAbiEnabled": true, 8 | "splitsAbiFilterSet": [], 9 | "intermediatesFolder": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/build/app/intermediates", 10 | "gradleModulePathName": ":app", 11 | "moduleRootFolder": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app", 12 | "makeFile": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/lmdb/CMakeLists.txt", 13 | "buildSystem": "CMAKE", 14 | "compilerSettingsCacheFolder": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/.cxx", 15 | "cxxFolder": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx", 16 | "ndkFolder": "/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462", 17 | "ndkVersion": "21.1.6352462", 18 | "ndkSupportedAbiList": [ 19 | "ARMEABI_V7A", 20 | "ARM64_V8A", 21 | "X86", 22 | "X86_64" 23 | ], 24 | "ndkDefaultAbiList": [ 25 | "ARMEABI_V7A", 26 | "ARM64_V8A", 27 | "X86", 28 | "X86_64" 29 | ], 30 | "cmakeToolchainFile": "." 31 | }, 32 | "buildSystemArgumentList": [], 33 | "cFlagList": [], 34 | "cppFlagsList": [], 35 | "variantName": "debug", 36 | "soFolder": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/build/app/intermediates/cmake/debug/lib", 37 | "objFolder": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/build/app/intermediates/cmake/debug/obj", 38 | "jsonFolder": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug", 39 | "gradleBuildOutputFolder": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cxx/debug", 40 | "isDebuggableEnabled": true, 41 | "validAbiList": [ 42 | "ARMEABI_V7A", 43 | "ARM64_V8A", 44 | "X86", 45 | "X86_64" 46 | ], 47 | "buildTargetSet": [] 48 | }, 49 | "abi": "ARM64_V8A", 50 | "abiPlatformVersion": 16, 51 | "cxxBuildFolder": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/arm64-v8a", 52 | "jsonFile": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/arm64-v8a/android_gradle_build.json", 53 | "gradleBuildOutputFolder": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cxx/debug/arm64-v8a", 54 | "objFolder": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/build/app/intermediates/cmake/debug/obj/arm64-v8a", 55 | "buildCommandFile": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/arm64-v8a/build_command.txt", 56 | "buildOutputFile": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/arm64-v8a/build_output.txt", 57 | "modelOutputFile": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/arm64-v8a/build_model.json", 58 | "cmake": { 59 | "cmakeListsWrapperFile": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cxx/debug/arm64-v8a/CMakeLists.txt", 60 | "toolchainWrapperFile": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cxx/debug/arm64-v8a/android_gradle_build.toolchain.cmake", 61 | "buildGenerationStateFile": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cxx/debug/arm64-v8a/build_generation_state.json", 62 | "cacheKeyFile": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cxx/debug/arm64-v8a/compiler_cache_key.json", 63 | "compilerCacheUseFile": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cxx/debug/arm64-v8a/compiler_cache_use.json", 64 | "compilerCacheWriteFile": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cxx/debug/arm64-v8a/compiler_cache_write.json", 65 | "toolchainSettingsFromCacheFile": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cxx/debug/arm64-v8a/compiler_settings_cache.cmake", 66 | "cmakeWrappingBaseFolder": "." 67 | }, 68 | "jsonGenerationLoggingRecordFile": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/arm64-v8a/json_generation_record.json", 69 | "compileCommandsJsonFile": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/arm64-v8a/compile_commands.json" 70 | } -------------------------------------------------------------------------------- /android/app/.cxx/cmake/debug/armeabi-v7a/build_model.json: -------------------------------------------------------------------------------- 1 | { 2 | "variant": { 3 | "module": { 4 | "rootBuildGradleFolder": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android", 5 | "sdkFolder": "/Users/darelbitsy/Library/Android/sdk", 6 | "isNativeCompilerSettingsCacheEnabled": false, 7 | "isBuildOnlyTargetAbiEnabled": true, 8 | "splitsAbiFilterSet": [], 9 | "intermediatesFolder": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/build/app/intermediates", 10 | "gradleModulePathName": ":app", 11 | "moduleRootFolder": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app", 12 | "makeFile": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/lmdb/CMakeLists.txt", 13 | "buildSystem": "CMAKE", 14 | "compilerSettingsCacheFolder": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/.cxx", 15 | "cxxFolder": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx", 16 | "ndkFolder": "/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462", 17 | "ndkVersion": "21.1.6352462", 18 | "ndkSupportedAbiList": [ 19 | "ARMEABI_V7A", 20 | "ARM64_V8A", 21 | "X86", 22 | "X86_64" 23 | ], 24 | "ndkDefaultAbiList": [ 25 | "ARMEABI_V7A", 26 | "ARM64_V8A", 27 | "X86", 28 | "X86_64" 29 | ], 30 | "cmakeToolchainFile": "." 31 | }, 32 | "buildSystemArgumentList": [], 33 | "cFlagList": [], 34 | "cppFlagsList": [], 35 | "variantName": "debug", 36 | "soFolder": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/build/app/intermediates/cmake/debug/lib", 37 | "objFolder": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/build/app/intermediates/cmake/debug/obj", 38 | "jsonFolder": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug", 39 | "gradleBuildOutputFolder": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cxx/debug", 40 | "isDebuggableEnabled": true, 41 | "validAbiList": [ 42 | "ARMEABI_V7A", 43 | "ARM64_V8A", 44 | "X86", 45 | "X86_64" 46 | ], 47 | "buildTargetSet": [] 48 | }, 49 | "abi": "ARMEABI_V7A", 50 | "abiPlatformVersion": 16, 51 | "cxxBuildFolder": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/armeabi-v7a", 52 | "jsonFile": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/armeabi-v7a/android_gradle_build.json", 53 | "gradleBuildOutputFolder": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cxx/debug/armeabi-v7a", 54 | "objFolder": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/build/app/intermediates/cmake/debug/obj/armeabi-v7a", 55 | "buildCommandFile": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/armeabi-v7a/build_command.txt", 56 | "buildOutputFile": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/armeabi-v7a/build_output.txt", 57 | "modelOutputFile": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/armeabi-v7a/build_model.json", 58 | "cmake": { 59 | "cmakeListsWrapperFile": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cxx/debug/armeabi-v7a/CMakeLists.txt", 60 | "toolchainWrapperFile": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cxx/debug/armeabi-v7a/android_gradle_build.toolchain.cmake", 61 | "buildGenerationStateFile": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cxx/debug/armeabi-v7a/build_generation_state.json", 62 | "cacheKeyFile": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cxx/debug/armeabi-v7a/compiler_cache_key.json", 63 | "compilerCacheUseFile": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cxx/debug/armeabi-v7a/compiler_cache_use.json", 64 | "compilerCacheWriteFile": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cxx/debug/armeabi-v7a/compiler_cache_write.json", 65 | "toolchainSettingsFromCacheFile": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cxx/debug/armeabi-v7a/compiler_settings_cache.cmake", 66 | "cmakeWrappingBaseFolder": "." 67 | }, 68 | "jsonGenerationLoggingRecordFile": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/armeabi-v7a/json_generation_record.json", 69 | "compileCommandsJsonFile": "/Users/darelbitsy/IdeaProjects/flutter_ffi_demo/android/app/.cxx/cmake/debug/armeabi-v7a/compile_commands.json" 70 | } -------------------------------------------------------------------------------- /android/app/.cxx/cmake/debug/x86/CMakeFiles/3.6.0-rc2/CMakeCXXCompiler.cmake: -------------------------------------------------------------------------------- 1 | set(CMAKE_CXX_COMPILER "/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang++") 2 | set(CMAKE_CXX_COMPILER_ARG1 "") 3 | set(CMAKE_CXX_COMPILER_ID "Clang") 4 | set(CMAKE_CXX_COMPILER_VERSION "9.0") 5 | set(CMAKE_CXX_COMPILER_WRAPPER "") 6 | set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "14") 7 | set(CMAKE_CXX_COMPILE_FEATURES "cxx_template_template_parameters;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates") 8 | set(CMAKE_CXX98_COMPILE_FEATURES "cxx_template_template_parameters") 9 | set(CMAKE_CXX11_COMPILE_FEATURES "cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates") 10 | set(CMAKE_CXX14_COMPILE_FEATURES "cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates") 11 | 12 | set(CMAKE_CXX_PLATFORM_ID "") 13 | set(CMAKE_CXX_SIMULATE_ID "") 14 | set(CMAKE_CXX_SIMULATE_VERSION "") 15 | 16 | set(CMAKE_AR "/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/bin/i686-linux-android-ar") 17 | set(CMAKE_RANLIB "/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/bin/i686-linux-android-ranlib") 18 | set(CMAKE_LINKER "/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/bin/i686-linux-android-ld") 19 | set(CMAKE_COMPILER_IS_GNUCXX ) 20 | set(CMAKE_CXX_COMPILER_LOADED 1) 21 | set(CMAKE_CXX_COMPILER_WORKS TRUE) 22 | set(CMAKE_CXX_ABI_COMPILED TRUE) 23 | set(CMAKE_COMPILER_IS_MINGW ) 24 | set(CMAKE_COMPILER_IS_CYGWIN ) 25 | if(CMAKE_COMPILER_IS_CYGWIN) 26 | set(CYGWIN 1) 27 | set(UNIX 1) 28 | endif() 29 | 30 | set(CMAKE_CXX_COMPILER_ENV_VAR "CXX") 31 | 32 | if(CMAKE_COMPILER_IS_MINGW) 33 | set(MINGW 1) 34 | endif() 35 | set(CMAKE_CXX_COMPILER_ID_RUN 1) 36 | set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC) 37 | set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;mm;CPP) 38 | set(CMAKE_CXX_LINKER_PREFERENCE 30) 39 | set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1) 40 | 41 | # Save compiler ABI information. 42 | set(CMAKE_CXX_SIZEOF_DATA_PTR "4") 43 | set(CMAKE_CXX_COMPILER_ABI "ELF") 44 | set(CMAKE_CXX_LIBRARY_ARCHITECTURE "") 45 | 46 | if(CMAKE_CXX_SIZEOF_DATA_PTR) 47 | set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}") 48 | endif() 49 | 50 | if(CMAKE_CXX_COMPILER_ABI) 51 | set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}") 52 | endif() 53 | 54 | if(CMAKE_CXX_LIBRARY_ARCHITECTURE) 55 | set(CMAKE_LIBRARY_ARCHITECTURE "") 56 | endif() 57 | 58 | set(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX "") 59 | if(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX) 60 | set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_CXX_CL_SHOWINCLUDES_PREFIX}") 61 | endif() 62 | 63 | 64 | 65 | 66 | set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "c++;m;dl;c;dl") 67 | set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/lib64/clang/9.0.8/lib/linux/i386;/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/lib/gcc/i686-linux-android/4.9.x;/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/lib/i686-linux-android/16;/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/lib/i686-linux-android;/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/i686-linux-android/lib;/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/lib") 68 | set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") 69 | -------------------------------------------------------------------------------- /android/app/.cxx/cmake/debug/armeabi-v7a/CMakeFiles/3.6.0-rc2/CMakeCXXCompiler.cmake: -------------------------------------------------------------------------------- 1 | set(CMAKE_CXX_COMPILER "/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang++") 2 | set(CMAKE_CXX_COMPILER_ARG1 "") 3 | set(CMAKE_CXX_COMPILER_ID "Clang") 4 | set(CMAKE_CXX_COMPILER_VERSION "9.0") 5 | set(CMAKE_CXX_COMPILER_WRAPPER "") 6 | set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "14") 7 | set(CMAKE_CXX_COMPILE_FEATURES "cxx_template_template_parameters;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates") 8 | set(CMAKE_CXX98_COMPILE_FEATURES "cxx_template_template_parameters") 9 | set(CMAKE_CXX11_COMPILE_FEATURES "cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates") 10 | set(CMAKE_CXX14_COMPILE_FEATURES "cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates") 11 | 12 | set(CMAKE_CXX_PLATFORM_ID "") 13 | set(CMAKE_CXX_SIMULATE_ID "") 14 | set(CMAKE_CXX_SIMULATE_VERSION "") 15 | 16 | set(CMAKE_AR "/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/bin/arm-linux-androideabi-ar") 17 | set(CMAKE_RANLIB "/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/bin/arm-linux-androideabi-ranlib") 18 | set(CMAKE_LINKER "/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/bin/arm-linux-androideabi-ld") 19 | set(CMAKE_COMPILER_IS_GNUCXX ) 20 | set(CMAKE_CXX_COMPILER_LOADED 1) 21 | set(CMAKE_CXX_COMPILER_WORKS TRUE) 22 | set(CMAKE_CXX_ABI_COMPILED TRUE) 23 | set(CMAKE_COMPILER_IS_MINGW ) 24 | set(CMAKE_COMPILER_IS_CYGWIN ) 25 | if(CMAKE_COMPILER_IS_CYGWIN) 26 | set(CYGWIN 1) 27 | set(UNIX 1) 28 | endif() 29 | 30 | set(CMAKE_CXX_COMPILER_ENV_VAR "CXX") 31 | 32 | if(CMAKE_COMPILER_IS_MINGW) 33 | set(MINGW 1) 34 | endif() 35 | set(CMAKE_CXX_COMPILER_ID_RUN 1) 36 | set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC) 37 | set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;mm;CPP) 38 | set(CMAKE_CXX_LINKER_PREFERENCE 30) 39 | set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1) 40 | 41 | # Save compiler ABI information. 42 | set(CMAKE_CXX_SIZEOF_DATA_PTR "4") 43 | set(CMAKE_CXX_COMPILER_ABI "ELF") 44 | set(CMAKE_CXX_LIBRARY_ARCHITECTURE "") 45 | 46 | if(CMAKE_CXX_SIZEOF_DATA_PTR) 47 | set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}") 48 | endif() 49 | 50 | if(CMAKE_CXX_COMPILER_ABI) 51 | set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}") 52 | endif() 53 | 54 | if(CMAKE_CXX_LIBRARY_ARCHITECTURE) 55 | set(CMAKE_LIBRARY_ARCHITECTURE "") 56 | endif() 57 | 58 | set(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX "") 59 | if(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX) 60 | set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_CXX_CL_SHOWINCLUDES_PREFIX}") 61 | endif() 62 | 63 | 64 | 65 | 66 | set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "c++;m;dl;c;dl") 67 | set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/lib64/clang/9.0.8/lib/linux/arm;/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/lib/gcc/arm-linux-androideabi/4.9.x/armv7-a/thumb;/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/arm-linux-androideabi/lib/armv7-a/thumb;/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/lib/arm-linux-androideabi/16;/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/lib/arm-linux-androideabi;/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/lib") 68 | set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") 69 | -------------------------------------------------------------------------------- /android/app/.cxx/cmake/debug/x86_64/CMakeFiles/3.6.0-rc2/CMakeCXXCompiler.cmake: -------------------------------------------------------------------------------- 1 | set(CMAKE_CXX_COMPILER "/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang++") 2 | set(CMAKE_CXX_COMPILER_ARG1 "") 3 | set(CMAKE_CXX_COMPILER_ID "Clang") 4 | set(CMAKE_CXX_COMPILER_VERSION "9.0") 5 | set(CMAKE_CXX_COMPILER_WRAPPER "") 6 | set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "14") 7 | set(CMAKE_CXX_COMPILE_FEATURES "cxx_template_template_parameters;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates") 8 | set(CMAKE_CXX98_COMPILE_FEATURES "cxx_template_template_parameters") 9 | set(CMAKE_CXX11_COMPILE_FEATURES "cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates") 10 | set(CMAKE_CXX14_COMPILE_FEATURES "cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates") 11 | 12 | set(CMAKE_CXX_PLATFORM_ID "") 13 | set(CMAKE_CXX_SIMULATE_ID "") 14 | set(CMAKE_CXX_SIMULATE_VERSION "") 15 | 16 | set(CMAKE_AR "/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/bin/x86_64-linux-android-ar") 17 | set(CMAKE_RANLIB "/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/bin/x86_64-linux-android-ranlib") 18 | set(CMAKE_LINKER "/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/bin/x86_64-linux-android-ld") 19 | set(CMAKE_COMPILER_IS_GNUCXX ) 20 | set(CMAKE_CXX_COMPILER_LOADED 1) 21 | set(CMAKE_CXX_COMPILER_WORKS TRUE) 22 | set(CMAKE_CXX_ABI_COMPILED TRUE) 23 | set(CMAKE_COMPILER_IS_MINGW ) 24 | set(CMAKE_COMPILER_IS_CYGWIN ) 25 | if(CMAKE_COMPILER_IS_CYGWIN) 26 | set(CYGWIN 1) 27 | set(UNIX 1) 28 | endif() 29 | 30 | set(CMAKE_CXX_COMPILER_ENV_VAR "CXX") 31 | 32 | if(CMAKE_COMPILER_IS_MINGW) 33 | set(MINGW 1) 34 | endif() 35 | set(CMAKE_CXX_COMPILER_ID_RUN 1) 36 | set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC) 37 | set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;mm;CPP) 38 | set(CMAKE_CXX_LINKER_PREFERENCE 30) 39 | set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1) 40 | 41 | # Save compiler ABI information. 42 | set(CMAKE_CXX_SIZEOF_DATA_PTR "8") 43 | set(CMAKE_CXX_COMPILER_ABI "ELF") 44 | set(CMAKE_CXX_LIBRARY_ARCHITECTURE "") 45 | 46 | if(CMAKE_CXX_SIZEOF_DATA_PTR) 47 | set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}") 48 | endif() 49 | 50 | if(CMAKE_CXX_COMPILER_ABI) 51 | set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}") 52 | endif() 53 | 54 | if(CMAKE_CXX_LIBRARY_ARCHITECTURE) 55 | set(CMAKE_LIBRARY_ARCHITECTURE "") 56 | endif() 57 | 58 | set(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX "") 59 | if(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX) 60 | set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_CXX_CL_SHOWINCLUDES_PREFIX}") 61 | endif() 62 | 63 | 64 | 65 | 66 | set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "c++;m;dl;c;dl") 67 | set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/lib64/clang/9.0.8/lib/linux/x86_64;/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/lib/gcc/x86_64-linux-android/4.9.x;/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/x86_64-linux-android/lib64;/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/lib/x86_64-linux-android/21;/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/lib/x86_64-linux-android;/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/x86_64-linux-android/lib;/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/lib") 68 | set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") 69 | -------------------------------------------------------------------------------- /android/app/.cxx/cmake/debug/arm64-v8a/CMakeFiles/3.6.0-rc2/CMakeCXXCompiler.cmake: -------------------------------------------------------------------------------- 1 | set(CMAKE_CXX_COMPILER "/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang++") 2 | set(CMAKE_CXX_COMPILER_ARG1 "") 3 | set(CMAKE_CXX_COMPILER_ID "Clang") 4 | set(CMAKE_CXX_COMPILER_VERSION "9.0") 5 | set(CMAKE_CXX_COMPILER_WRAPPER "") 6 | set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "14") 7 | set(CMAKE_CXX_COMPILE_FEATURES "cxx_template_template_parameters;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates") 8 | set(CMAKE_CXX98_COMPILE_FEATURES "cxx_template_template_parameters") 9 | set(CMAKE_CXX11_COMPILE_FEATURES "cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates") 10 | set(CMAKE_CXX14_COMPILE_FEATURES "cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates") 11 | 12 | set(CMAKE_CXX_PLATFORM_ID "") 13 | set(CMAKE_CXX_SIMULATE_ID "") 14 | set(CMAKE_CXX_SIMULATE_VERSION "") 15 | 16 | set(CMAKE_AR "/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/bin/aarch64-linux-android-ar") 17 | set(CMAKE_RANLIB "/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/bin/aarch64-linux-android-ranlib") 18 | set(CMAKE_LINKER "/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/bin/aarch64-linux-android-ld") 19 | set(CMAKE_COMPILER_IS_GNUCXX ) 20 | set(CMAKE_CXX_COMPILER_LOADED 1) 21 | set(CMAKE_CXX_COMPILER_WORKS TRUE) 22 | set(CMAKE_CXX_ABI_COMPILED TRUE) 23 | set(CMAKE_COMPILER_IS_MINGW ) 24 | set(CMAKE_COMPILER_IS_CYGWIN ) 25 | if(CMAKE_COMPILER_IS_CYGWIN) 26 | set(CYGWIN 1) 27 | set(UNIX 1) 28 | endif() 29 | 30 | set(CMAKE_CXX_COMPILER_ENV_VAR "CXX") 31 | 32 | if(CMAKE_COMPILER_IS_MINGW) 33 | set(MINGW 1) 34 | endif() 35 | set(CMAKE_CXX_COMPILER_ID_RUN 1) 36 | set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC) 37 | set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;mm;CPP) 38 | set(CMAKE_CXX_LINKER_PREFERENCE 30) 39 | set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1) 40 | 41 | # Save compiler ABI information. 42 | set(CMAKE_CXX_SIZEOF_DATA_PTR "8") 43 | set(CMAKE_CXX_COMPILER_ABI "ELF") 44 | set(CMAKE_CXX_LIBRARY_ARCHITECTURE "") 45 | 46 | if(CMAKE_CXX_SIZEOF_DATA_PTR) 47 | set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}") 48 | endif() 49 | 50 | if(CMAKE_CXX_COMPILER_ABI) 51 | set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}") 52 | endif() 53 | 54 | if(CMAKE_CXX_LIBRARY_ARCHITECTURE) 55 | set(CMAKE_LIBRARY_ARCHITECTURE "") 56 | endif() 57 | 58 | set(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX "") 59 | if(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX) 60 | set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_CXX_CL_SHOWINCLUDES_PREFIX}") 61 | endif() 62 | 63 | 64 | 65 | 66 | set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "c++;m;dl;c;dl") 67 | set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/lib64/clang/9.0.8/lib/linux/aarch64;/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/lib/gcc/aarch64-linux-android/4.9.x;/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/aarch64-linux-android/lib64;/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/lib/aarch64-linux-android/21;/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/lib/aarch64-linux-android;/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/aarch64-linux-android/lib;/Users/darelbitsy/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/lib") 68 | set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") 69 | -------------------------------------------------------------------------------- /lmdb/midl.h: -------------------------------------------------------------------------------- 1 | /** @file midl.h 2 | * @brief LMDB ID List header file. 3 | * 4 | * This file was originally part of back-bdb but has been 5 | * modified for use in libmdb. Most of the macros defined 6 | * in this file are unused, just left over from the original. 7 | * 8 | * This file is only used internally in libmdb and its definitions 9 | * are not exposed publicly. 10 | */ 11 | /* $OpenLDAP$ */ 12 | /* This work is part of OpenLDAP Software . 13 | * 14 | * Copyright 2000-2019 The OpenLDAP Foundation. 15 | * Portions Copyright 2001-2018 Howard Chu, Symas Corp. 16 | * All rights reserved. 17 | * 18 | * Redistribution and use in source and binary forms, with or without 19 | * modification, are permitted only as authorized by the OpenLDAP 20 | * Public License. 21 | * 22 | * A copy of this license is available in the file LICENSE in the 23 | * top-level directory of the distribution or, alternatively, at 24 | * . 25 | */ 26 | 27 | #ifndef _MDB_MIDL_H_ 28 | #define _MDB_MIDL_H_ 29 | 30 | #include 31 | 32 | #ifdef __cplusplus 33 | extern "C" { 34 | #endif 35 | 36 | /** @defgroup internal LMDB Internals 37 | * @{ 38 | */ 39 | 40 | /** @defgroup idls ID List Management 41 | * @{ 42 | */ 43 | /** A generic unsigned ID number. These were entryIDs in back-bdb. 44 | * Preferably it should have the same size as a pointer. 45 | */ 46 | typedef size_t MDB_ID; 47 | 48 | /** An IDL is an ID List, a sorted array of IDs. The first 49 | * element of the array is a counter for how many actual 50 | * IDs are in the list. In the original back-bdb code, IDLs are 51 | * sorted in ascending order. For libmdb IDLs are sorted in 52 | * descending order. 53 | */ 54 | typedef MDB_ID *MDB_IDL; 55 | 56 | /* IDL sizes - likely should be even bigger 57 | * limiting factors: sizeof(ID), thread stack size 58 | */ 59 | #define MDB_IDL_LOGN 16 /* DB_SIZE is 2^16, UM_SIZE is 2^17 */ 60 | #define MDB_IDL_DB_SIZE (1<=2.7.0 <3.0.0" 238 | flutter: ">=1.12.13+hotfix.5 <2.0.0" 239 | -------------------------------------------------------------------------------- /lib/src/lmdb/lmdb_bindings.dart: -------------------------------------------------------------------------------- 1 | import 'dart:ffi' as ffi; 2 | import 'package:ffi/ffi.dart' as ffi_ext; 3 | import 'package:flutter/foundation.dart'; 4 | import 'package:flutter_ffi_demo/src/lmdb/types.dart'; 5 | import 'package:flutter_ffi_demo/src/utils.dart'; 6 | 7 | typedef _native_mdb_env_create = ffi.IntPtr Function( 8 | ffi.Pointer>); 9 | 10 | typedef _native_mdb_env_set_maxdbs = ffi.IntPtr Function( 11 | ffi.Pointer, ffi.IntPtr); 12 | 13 | typedef _native_mdb_env_open = ffi.IntPtr Function( 14 | ffi.Pointer, ffi.Pointer, ffi.IntPtr, ffi.IntPtr); 15 | 16 | typedef _native_mdb_strerror = ffi.Pointer Function(ffi.IntPtr); 17 | 18 | typedef _native_mdb_txn_begin = ffi.IntPtr Function(ffi.Pointer, 19 | ffi.Pointer, ffi.IntPtr, ffi.Pointer>); 20 | 21 | typedef _native_mdb_dbi_open = ffi.IntPtr Function(ffi.Pointer, 22 | ffi.Pointer, ffi.IntPtr, ffi.Pointer); 23 | 24 | typedef _native_mdb_env_close = ffi.Void Function(ffi.Pointer); 25 | 26 | typedef _native_mdb_env_sync = ffi.IntPtr Function( 27 | ffi.Pointer, ffi.IntPtr); 28 | 29 | typedef _native_mdb_put = ffi.IntPtr Function(ffi.Pointer, ffi.IntPtr, 30 | ffi.Pointer, ffi.Pointer, ffi.IntPtr); 31 | 32 | typedef _native_mdb_get = ffi.IntPtr Function(ffi.Pointer, ffi.IntPtr, 33 | ffi.Pointer, ffi.Pointer); 34 | 35 | typedef _native_mdb_cursor_open = ffi.IntPtr Function( 36 | ffi.Pointer, ffi.IntPtr, ffi.Pointer>); 37 | 38 | typedef _native_mdb_cursor_get = ffi.IntPtr Function(ffi.Pointer, 39 | ffi.Pointer, ffi.Pointer, ffi.IntPtr); 40 | 41 | typedef _native_mdb_cursor_close = ffi.Void Function(ffi.Pointer); 42 | 43 | typedef _native_mdb_txn_commit = ffi.IntPtr Function(ffi.Pointer); 44 | 45 | class LMDBBindings { 46 | static LMDBBindings _binding; 47 | 48 | final int Function(ffi.Pointer>) mdb_env_create; 49 | 50 | final int Function(ffi.Pointer, int) mdb_env_set_maxdbs; 51 | 52 | final ffi.Pointer Function(int) mdb_strerror; 53 | 54 | final int Function( 55 | ffi.Pointer, 56 | ffi.Pointer, 57 | int, 58 | int, 59 | ) mdb_env_open; 60 | 61 | final int Function( 62 | ffi.Pointer, 63 | ffi.Pointer, 64 | int, 65 | ffi.Pointer>, 66 | ) mdb_txn_begin; 67 | 68 | final int Function( 69 | ffi.Pointer, 70 | ffi.Pointer, 71 | int, 72 | ffi.Pointer, 73 | ) mdb_dbi_open; 74 | 75 | final int Function( 76 | ffi.Pointer, 77 | int, 78 | ffi.Pointer, 79 | ffi.Pointer, 80 | int, 81 | ) mdb_put; 82 | 83 | final int Function( 84 | ffi.Pointer, 85 | int, 86 | ffi.Pointer, 87 | ffi.Pointer, 88 | ) mdb_get; 89 | 90 | final int Function( 91 | ffi.Pointer, 92 | int, 93 | ffi.Pointer>, 94 | ) mdb_cursor_open; 95 | 96 | final int Function( 97 | ffi.Pointer, 98 | ffi.Pointer, 99 | ffi.Pointer, 100 | int, 101 | ) mdb_cursor_get; 102 | 103 | final void Function(ffi.Pointer) mdb_cursor_close; 104 | 105 | final int Function(ffi.Pointer) mdb_txn_commit; 106 | 107 | final int Function(ffi.Pointer, int) mdb_env_sync; 108 | 109 | final void Function(ffi.Pointer) mdb_env_close; 110 | 111 | factory LMDBBindings() { 112 | if (_binding == null) { 113 | final ffi.DynamicLibrary lmdb = loadLMDB("lmdb"); 114 | 115 | _binding = LMDBBindings._( 116 | mdb_env_create: lmdb 117 | .lookup>( 118 | "mdb_env_create", 119 | ) 120 | .asFunction(), 121 | mdb_env_set_maxdbs: lmdb 122 | .lookup>( 123 | "mdb_env_set_maxdbs", 124 | ) 125 | .asFunction(), 126 | mdb_env_open: lmdb 127 | .lookup>("mdb_env_open") 128 | .asFunction(), 129 | mdb_strerror: lmdb 130 | .lookup>("mdb_strerror") 131 | .asFunction(), 132 | mdb_txn_begin: lmdb 133 | .lookup>("mdb_txn_begin") 134 | .asFunction(), 135 | mdb_dbi_open: lmdb 136 | .lookup>("mdb_dbi_open") 137 | .asFunction(), 138 | mdb_put: lmdb 139 | .lookup>("mdb_put") 140 | .asFunction(), 141 | mdb_get: lmdb 142 | .lookup>("mdb_get") 143 | .asFunction(), 144 | mdb_cursor_open: lmdb 145 | .lookup>( 146 | "mdb_cursor_open") 147 | .asFunction(), 148 | mdb_cursor_get: lmdb 149 | .lookup>( 150 | "mdb_cursor_get") 151 | .asFunction(), 152 | mdb_cursor_close: lmdb 153 | .lookup>( 154 | "mdb_cursor_close") 155 | .asFunction(), 156 | mdb_txn_commit: lmdb 157 | .lookup>( 158 | "mdb_txn_commit") 159 | .asFunction(), 160 | mdb_env_sync: lmdb 161 | .lookup>("mdb_env_sync") 162 | .asFunction(), 163 | mdb_env_close: lmdb 164 | .lookup>("mdb_env_close") 165 | .asFunction(), 166 | ); 167 | } 168 | 169 | return _binding; 170 | } 171 | 172 | LMDBBindings._({ 173 | @required this.mdb_env_create, 174 | @required this.mdb_env_set_maxdbs, 175 | @required this.mdb_env_open, 176 | @required this.mdb_strerror, 177 | @required this.mdb_txn_begin, 178 | @required this.mdb_dbi_open, 179 | @required this.mdb_put, 180 | @required this.mdb_get, 181 | @required this.mdb_cursor_open, 182 | @required this.mdb_cursor_get, 183 | @required this.mdb_cursor_close, 184 | @required this.mdb_txn_commit, 185 | @required this.mdb_env_sync, 186 | @required this.mdb_env_close, 187 | }) : assert(mdb_env_create != null), 188 | assert(mdb_env_set_maxdbs != null), 189 | assert(mdb_env_open != null), 190 | assert(mdb_strerror != null), 191 | assert(mdb_txn_begin != null), 192 | assert(mdb_dbi_open != null), 193 | assert(mdb_put != null), 194 | assert(mdb_get != null), 195 | assert(mdb_cursor_open != null), 196 | assert(mdb_txn_commit != null), 197 | assert(mdb_env_sync != null), 198 | assert(mdb_env_close != null); 199 | } 200 | --------------------------------------------------------------------------------