diff --git a/CHANGELOG.md b/CHANGELOG.md index 6d7ed38..bccfbf4 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,6 @@ +## 3.0.0 + +- First version with flatbuffers, smaller binaries, please take a look ## 2.0.1 - Support import .so for older android versions, thanks to @BobanLW diff --git a/Makefile b/Makefile index fc35d57..24faa46 100644 --- a/Makefile +++ b/Makefile @@ -3,13 +3,13 @@ default: test test: cd example && flutter drive --target=test_driver/app.dart -upgrade: upgrade-libs upgrade-protobuf +upgrade: upgrade-libs upgrade-flatbuffers upgrade-libs: ./scripts/upgrade_bridge_libs.sh -upgrade-protobuf: - ./scripts/upgrade_bridge_protobuf.sh +upgrade-flatbuffers: + ./scripts/upgrade_bridge_flatbuffers.sh example-web: docker build -t flutter-openpgp-web -f example/Dockerfile . diff --git a/android/src/main/jniLibs/arm64-v8a/libopenpgp_bridge.so b/android/src/main/jniLibs/arm64-v8a/libopenpgp_bridge.so index b25097f..22964f8 100644 Binary files a/android/src/main/jniLibs/arm64-v8a/libopenpgp_bridge.so and b/android/src/main/jniLibs/arm64-v8a/libopenpgp_bridge.so differ diff --git a/android/src/main/jniLibs/armeabi-v7a/libopenpgp_bridge.so b/android/src/main/jniLibs/armeabi-v7a/libopenpgp_bridge.so index 3e4d378..cfe96f3 100644 Binary files a/android/src/main/jniLibs/armeabi-v7a/libopenpgp_bridge.so and b/android/src/main/jniLibs/armeabi-v7a/libopenpgp_bridge.so differ diff --git a/android/src/main/jniLibs/x86/libopenpgp_bridge.so b/android/src/main/jniLibs/x86/libopenpgp_bridge.so index 7ffc4b4..60beeba 100644 Binary files a/android/src/main/jniLibs/x86/libopenpgp_bridge.so and b/android/src/main/jniLibs/x86/libopenpgp_bridge.so differ diff --git a/android/src/main/jniLibs/x86_64/libopenpgp_bridge.so b/android/src/main/jniLibs/x86_64/libopenpgp_bridge.so index 8277c26..ef0b638 100644 Binary files a/android/src/main/jniLibs/x86_64/libopenpgp_bridge.so and b/android/src/main/jniLibs/x86_64/libopenpgp_bridge.so differ diff --git a/example/lib/encrypt_decrypt.dart b/example/lib/encrypt_decrypt.dart index cc6c30d..71d1091 100644 --- a/example/lib/encrypt_decrypt.dart +++ b/example/lib/encrypt_decrypt.dart @@ -1,7 +1,7 @@ import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter/widgets.dart'; -import 'package:openpgp/model/bridge.pb.dart'; + import 'package:openpgp/openpgp.dart'; import 'package:openpgp_example/main.dart'; import 'package:openpgp_example/shared/button_widget.dart'; @@ -13,7 +13,7 @@ class EncryptAndDecrypt extends StatefulWidget { Key? key, required this.title, required KeyPair? keyPair, - }) : keyPair = keyPair, + }) : keyPair = keyPair, super(key: key); final KeyPair? keyPair; diff --git a/example/lib/encrypt_decrypt_bytes.dart b/example/lib/encrypt_decrypt_bytes.dart index 56258bb..a6970e9 100644 --- a/example/lib/encrypt_decrypt_bytes.dart +++ b/example/lib/encrypt_decrypt_bytes.dart @@ -4,7 +4,7 @@ import 'dart:typed_data'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter/widgets.dart'; -import 'package:openpgp/model/bridge.pb.dart'; + import 'package:openpgp/openpgp.dart'; import 'package:openpgp_example/main.dart'; import 'package:openpgp_example/shared/button_widget.dart'; @@ -16,7 +16,7 @@ class EncryptAndDecryptBytes extends StatefulWidget { Key? key, required this.title, required KeyPair? keyPair, - }) : keyPair = keyPair, + }) : keyPair = keyPair, super(key: key); final KeyPair? keyPair; diff --git a/example/lib/encrypt_decrypt_file.dart b/example/lib/encrypt_decrypt_file.dart index 4a2f560..a175e8c 100644 --- a/example/lib/encrypt_decrypt_file.dart +++ b/example/lib/encrypt_decrypt_file.dart @@ -3,7 +3,7 @@ import 'dart:io'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter/widgets.dart'; -import 'package:openpgp/model/bridge.pb.dart'; + import 'package:openpgp/openpgp.dart'; import 'package:openpgp_example/main.dart'; import 'package:openpgp_example/shared/button_widget.dart'; @@ -14,7 +14,7 @@ class EncryptAndDecryptFile extends StatefulWidget { Key? key, required this.title, required KeyPair? keyPair, - }) : keyPair = keyPair, + }) : keyPair = keyPair, super(key: key); final KeyPair? keyPair; diff --git a/example/lib/encrypt_decrypt_symmetric.dart b/example/lib/encrypt_decrypt_symmetric.dart index 39c666c..688df41 100644 --- a/example/lib/encrypt_decrypt_symmetric.dart +++ b/example/lib/encrypt_decrypt_symmetric.dart @@ -4,7 +4,7 @@ import 'dart:typed_data'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter/widgets.dart'; -import 'package:openpgp/model/bridge.pb.dart'; + import 'package:openpgp/openpgp.dart'; import 'package:openpgp_example/main.dart'; import 'package:openpgp_example/shared/button_widget.dart'; @@ -16,7 +16,7 @@ class EncryptAndDecryptSymmetric extends StatefulWidget { Key? key, required this.title, required KeyPair? keyPair, - }) : keyPair = keyPair, + }) : keyPair = keyPair, super(key: key); final KeyPair? keyPair; diff --git a/example/lib/encrypt_decrypt_symmetric_bytes.dart b/example/lib/encrypt_decrypt_symmetric_bytes.dart index 90ce46d..9f74cf9 100644 --- a/example/lib/encrypt_decrypt_symmetric_bytes.dart +++ b/example/lib/encrypt_decrypt_symmetric_bytes.dart @@ -4,7 +4,7 @@ import 'dart:typed_data'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter/widgets.dart'; -import 'package:openpgp/model/bridge.pb.dart'; + import 'package:openpgp/openpgp.dart'; import 'package:openpgp_example/main.dart'; import 'package:openpgp_example/shared/button_widget.dart'; @@ -16,7 +16,7 @@ class EncryptAndDecryptSymmetricBytes extends StatefulWidget { Key? key, required this.title, required KeyPair? keyPair, - }) : keyPair = keyPair, + }) : keyPair = keyPair, super(key: key); final KeyPair? keyPair; diff --git a/example/lib/generate.dart b/example/lib/generate.dart index 79836ec..d6fac04 100644 --- a/example/lib/generate.dart +++ b/example/lib/generate.dart @@ -3,7 +3,7 @@ import 'dart:convert'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter/widgets.dart'; -import 'package:openpgp/model/bridge.pb.dart'; + import 'package:openpgp/openpgp.dart'; import 'package:openpgp_example/shared/button_widget.dart'; import 'package:openpgp_example/shared/title_widget.dart'; @@ -21,9 +21,7 @@ class Generate extends StatefulWidget { } class _GenerateState extends State { - KeyPair _keyPair = KeyPair() - ..publicKey = "" - ..privateKey = ""; + KeyPair _keyPair = KeyPair("", ""); @override Widget build(BuildContext context) { diff --git a/example/lib/main.dart b/example/lib/main.dart index 17aed2f..44e5bf5 100644 --- a/example/lib/main.dart +++ b/example/lib/main.dart @@ -4,7 +4,7 @@ import 'dart:io'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter/widgets.dart'; -import 'package:openpgp/model/bridge.pb.dart'; + import 'package:openpgp/openpgp.dart'; import 'package:openpgp_example/encrypt_decrypt.dart'; import 'package:openpgp_example/encrypt_decrypt_bytes.dart'; diff --git a/example/lib/shared/button_widget.dart b/example/lib/shared/button_widget.dart index 1356c9f..7c5dc58 100644 --- a/example/lib/shared/button_widget.dart +++ b/example/lib/shared/button_widget.dart @@ -7,7 +7,7 @@ class ButtonWidget extends StatefulWidget { required this.result, required String title, required Function onPressed, - }) : onPressed = onPressed, + }) : onPressed = onPressed, title = title, super(key: key); diff --git a/example/lib/sign_verify.dart b/example/lib/sign_verify.dart index 858dca1..674a07b 100644 --- a/example/lib/sign_verify.dart +++ b/example/lib/sign_verify.dart @@ -1,7 +1,7 @@ import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter/widgets.dart'; -import 'package:openpgp/model/bridge.pb.dart'; + import 'package:openpgp/openpgp.dart'; import 'package:openpgp_example/main.dart'; import 'package:openpgp_example/shared/button_widget.dart'; @@ -13,7 +13,7 @@ class SignAndVerify extends StatefulWidget { Key? key, required this.title, required KeyPair? keyPair, - }) : keyPair = keyPair, + }) : keyPair = keyPair, super(key: key); final KeyPair? keyPair; diff --git a/example/lib/sign_verify_bytes.dart b/example/lib/sign_verify_bytes.dart index 7d038e2..4fa28ca 100644 --- a/example/lib/sign_verify_bytes.dart +++ b/example/lib/sign_verify_bytes.dart @@ -4,7 +4,7 @@ import 'dart:typed_data'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter/widgets.dart'; -import 'package:openpgp/model/bridge.pb.dart'; + import 'package:openpgp/openpgp.dart'; import 'package:openpgp_example/main.dart'; import 'package:openpgp_example/shared/button_widget.dart'; @@ -16,7 +16,7 @@ class SignAndVerifyBytes extends StatefulWidget { Key? key, required this.title, required KeyPair? keyPair, - }) : keyPair = keyPair, + }) : keyPair = keyPair, super(key: key); final KeyPair? keyPair; diff --git a/example/linux/flutter/CMakeLists.txt b/example/linux/flutter/CMakeLists.txt index 9f236b5..5b465c7 100644 --- a/example/linux/flutter/CMakeLists.txt +++ b/example/linux/flutter/CMakeLists.txt @@ -80,7 +80,7 @@ add_custom_command( COMMAND ${CMAKE_COMMAND} -E env ${FLUTTER_TOOL_ENVIRONMENT} "${FLUTTER_ROOT}/packages/flutter_tools/bin/tool_backend.sh" - linux-x64 ${CMAKE_BUILD_TYPE} + ${FLUTTER_TARGET_PLATFORM} ${CMAKE_BUILD_TYPE} VERBATIM ) add_custom_target(flutter_assemble DEPENDS diff --git a/example/linux/flutter/generated_plugin_registrant.cc b/example/linux/flutter/generated_plugin_registrant.cc index d3549fa..b909d74 100644 --- a/example/linux/flutter/generated_plugin_registrant.cc +++ b/example/linux/flutter/generated_plugin_registrant.cc @@ -2,6 +2,8 @@ // Generated file. Do not edit. // +// clang-format off + #include "generated_plugin_registrant.h" #include diff --git a/example/linux/flutter/generated_plugin_registrant.h b/example/linux/flutter/generated_plugin_registrant.h index 9bf7478..e0f0a47 100644 --- a/example/linux/flutter/generated_plugin_registrant.h +++ b/example/linux/flutter/generated_plugin_registrant.h @@ -2,6 +2,8 @@ // Generated file. Do not edit. // +// clang-format off + #ifndef GENERATED_PLUGIN_REGISTRANT_ #define GENERATED_PLUGIN_REGISTRANT_ diff --git a/example/pubspec.lock b/example/pubspec.lock index 091e759..c4aa251 100644 --- a/example/pubspec.lock +++ b/example/pubspec.lock @@ -35,7 +35,7 @@ packages: name: async url: "https://pub.dartlang.org" source: hosted - version: "2.6.0" + version: "2.7.0" boolean_selector: dependency: transitive description: @@ -105,7 +105,7 @@ packages: name: cupertino_icons url: "https://pub.dartlang.org" source: hosted - version: "1.0.2" + version: "1.0.3" fake_async: dependency: transitive description: @@ -126,14 +126,7 @@ packages: name: file url: "https://pub.dartlang.org" source: hosted - version: "6.1.0" - fixnum: - dependency: transitive - description: - name: fixnum - url: "https://pub.dartlang.org" - source: hosted - version: "1.0.0" + version: "6.1.1" flutter: dependency: "direct main" description: flutter @@ -154,6 +147,13 @@ packages: description: flutter source: sdk version: "0.0.0" + frontend_server_client: + dependency: transitive + description: + name: frontend_server_client + url: "https://pub.dartlang.org" + source: hosted + version: "2.1.0" fuchsia_remote_debug_protocol: dependency: transitive description: flutter @@ -214,7 +214,7 @@ packages: name: meta url: "https://pub.dartlang.org" source: hosted - version: "1.3.0" + version: "1.4.0" mime: dependency: transitive description: @@ -235,7 +235,7 @@ packages: path: ".." relative: true source: path - version: "2.0.1" + version: "3.0.0" package_config: dependency: transitive description: @@ -256,7 +256,7 @@ packages: name: pedantic url: "https://pub.dartlang.org" source: hosted - version: "1.10.0" + version: "1.11.0" platform: dependency: transitive description: @@ -278,13 +278,6 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "4.2.1" - protobuf: - dependency: transitive - description: - name: protobuf - url: "https://pub.dartlang.org" - source: hosted - version: "2.0.0" pub_semver: dependency: transitive description: @@ -387,21 +380,21 @@ packages: name: test url: "https://pub.dartlang.org" source: hosted - version: "1.16.8" + version: "1.17.5" test_api: dependency: transitive description: name: test_api url: "https://pub.dartlang.org" source: hosted - version: "0.3.0" + version: "0.4.0" test_core: dependency: transitive description: name: test_core url: "https://pub.dartlang.org" source: hosted - version: "0.3.19" + version: "0.3.25" typed_data: dependency: transitive description: diff --git a/go/go.mod b/go/go.mod index 823fad6..bcb7b97 100644 --- a/go/go.mod +++ b/go/go.mod @@ -5,7 +5,7 @@ go 1.14 require ( github.com/Xuanwo/go-locale v1.0.0 // indirect github.com/go-flutter-desktop/go-flutter v0.42.0 - github.com/jerson/openpgp-mobile v0.9.4 + github.com/jerson/openpgp-mobile v1.0.0-rc0 golang.org/x/crypto v0.0.0-20201016220609-9e8e0b390897 golang.org/x/sys v0.0.0-20200918174421-af09f7315aff // indirect ) diff --git a/go/go.sum b/go/go.sum index f7ee5b7..6302ce0 100644 --- a/go/go.sum +++ b/go/go.sum @@ -12,22 +12,12 @@ github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200707082815-5321531c36a2 h1:Ac1OEHHkbA github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200707082815-5321531c36a2/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-ole/go-ole v1.2.4 h1:nNBDSCOigTSiarFpYE9J/KtEA1IOW4CNeqT9TQDqCxI= github.com/go-ole/go-ole v1.2.4/go.mod h1:XCwSNxSkXRo4vlyPy93sltvi/qJq0jqQhjqQNIwKuxM= -github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= -github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= -github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= -github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= -github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= -github.com/golang/protobuf v1.4.2 h1:+Z5KGCizgyZCbGh1KZqA0fcLLkwbsjIzS4aV2v7wJX0= -github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.4.0 h1:xsAVV57WRhGj6kEIi8ReJzQlHHqcBYCElAvkovg3B/4= -github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/flatbuffers v1.12.0 h1:/PtAHvnBY4Kqnx/xCQ3OIV9uYcSFGScBsWI3Oogeh6w= +github.com/google/flatbuffers v1.12.0/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1 h1:EGx4pi6eqNxGaHF6qqu48+N2wcFQ5qg5FXgOdqsJ5d8= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= -github.com/jerson/openpgp-mobile v0.9.3 h1:y/Y3/rs9EL/bXHtxbYJezwYfz7hGH3DMOVvYDZy92RU= -github.com/jerson/openpgp-mobile v0.9.3/go.mod h1:MC9RaZOXIyRBNJD28qU2R1r3jOd5a9Ea2Yw36d5AqiA= -github.com/jerson/openpgp-mobile v0.9.4/go.mod h1:uaAypNccl7KWmAvC9iN/bNDSggwdETsAQJ0sBwlRBVA= +github.com/jerson/openpgp-mobile v1.0.0-rc0 h1:+cdSPxoOCCk7l46xFtGJIcAbKU1NyDRWs+9h6v+G+rg= +github.com/jerson/openpgp-mobile v1.0.0-rc0/go.mod h1:dUD1ZoMOIIJ5sQaoku0wlCy+0/IJ5kCBW1Zwrf19e/A= github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo= github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= github.com/keybase/go-crypto v0.0.0-20200123153347-de78d2cb44f4 h1:cTxwSmnaqLoo+4tLukHoB9iqHOu3LmLhRmgUxZo6Vp4= @@ -45,8 +35,7 @@ github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81P github.com/stretchr/testify v1.6.1 h1:hDPOHmpOpP40lSULcqw7IrRb/u7w6RpDC9399XyoNd0= github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a h1:vclmkQCjlDX5OydZ9wv8rBCcS0QyQY66Mpf/7BZbInM= -golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20201016220609-9e8e0b390897 h1:pLI5jrR7OSLijeIDcmRxNmw2api+jEfxLoykJVice/E= golang.org/x/crypto v0.0.0-20201016220609-9e8e0b390897/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= @@ -63,15 +52,6 @@ golang.org/x/text v0.3.3 h1:cokOdA+Jmi5PJGXLlLllQSgYigAEfHXJAERHVMaCc2k= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= -google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= -google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= -google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= -google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= -google.golang.org/protobuf v1.23.0 h1:4MY060fB1DLGMB/7MBTLnwQUY6+F09GEiz6SsrNqyzM= -google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw= diff --git a/ios/libopenpgp_bridge.a b/ios/libopenpgp_bridge.a index 27c36da..25cf89e 100644 Binary files a/ios/libopenpgp_bridge.a and b/ios/libopenpgp_bridge.a differ diff --git a/ios/libopenpgp_bridge.h b/ios/libopenpgp_bridge.h index db683d7..56bc0b1 100644 --- a/ios/libopenpgp_bridge.h +++ b/ios/libopenpgp_bridge.h @@ -74,7 +74,8 @@ typedef struct { void *data; GoInt len; GoInt cap; } GoSlice; extern "C" { #endif -extern BytesReturn* OpenPGPBridgeCall(char* name, void* payload, int payloadSize); + +extern BytesReturn* OpenPGPBridgeCall(char* p0, void* p1, int p2); #ifdef __cplusplus } diff --git a/lib/flatbuffers/flat_buffers.dart b/lib/flatbuffers/flat_buffers.dart new file mode 100644 index 0000000..74c2594 --- /dev/null +++ b/lib/flatbuffers/flat_buffers.dart @@ -0,0 +1,1245 @@ +// Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +import 'dart:collection'; +import 'dart:convert'; +import 'dart:math'; +import 'dart:typed_data'; + +const int _sizeofUint8 = 1; +const int _sizeofUint16 = 2; +const int _sizeofUint32 = 4; +const int _sizeofUint64 = 8; +const int _sizeofInt8 = 1; +const int _sizeofInt16 = 2; +const int _sizeofInt32 = 4; +const int _sizeofInt64 = 8; +const int _sizeofFloat32 = 4; +const int _sizeofFloat64 = 8; + +/// Callback used to invoke a struct builder's finish method. +/// +/// This callback is used by other struct's `finish` methods to write the nested +/// struct's fields inline. +typedef void StructBuilder(); + +/// Buffer with data and some context about it. +class BufferContext { + final ByteData _buffer; + + ByteData get buffer => _buffer; + + /// Create from a FlatBuffer represented by a list of bytes (uint8). + factory BufferContext.fromBytes(List byteList) { + Uint8List uint8List = _asUint8List(byteList); + ByteData buf = new ByteData.view(uint8List.buffer, uint8List.offsetInBytes); + return BufferContext(buf); + } + + /// Create from a FlatBuffer represented by ByteData. + BufferContext(this._buffer); + + int derefObject(int offset) { + return offset + _getUint32(offset); + } + + Uint8List _asUint8LIst(int offset, int length) => + _buffer.buffer.asUint8List(_buffer.offsetInBytes + offset, length); + + double _getFloat64(int offset) => _buffer.getFloat64(offset, Endian.little); + + double _getFloat32(int offset) => _buffer.getFloat32(offset, Endian.little); + + int _getInt64(int offset) => _buffer.getInt64(offset, Endian.little); + + int _getInt32(int offset) => _buffer.getInt32(offset, Endian.little); + + int _getInt16(int offset) => _buffer.getInt16(offset, Endian.little); + + int _getInt8(int offset) => _buffer.getInt8(offset); + + int _getUint64(int offset) => _buffer.getUint64(offset, Endian.little); + + int _getUint32(int offset) => _buffer.getUint32(offset, Endian.little); + + int _getUint16(int offset) => _buffer.getUint16(offset, Endian.little); + + int _getUint8(int offset) => _buffer.getUint8(offset); + + /// If the [byteList] is already a [Uint8List] return it. + /// Otherwise return a [Uint8List] copy of the [byteList]. + static Uint8List _asUint8List(List byteList) { + if (byteList is Uint8List) { + return byteList; + } else { + return new Uint8List.fromList(byteList); + } + } +} + +/// Class implemented by typed builders generated by flatc. +abstract class ObjectBuilder { + int? _firstOffset; + + /// Can be used to write the data represented by this builder to the [Builder] + /// and reuse the offset created in multiple tables. + /// + /// Note that this method assumes you call it using the same [Builder] instance + /// every time. The returned offset is only good for the [Builder] used in the + /// first call to this method. + int getOrCreateOffset(Builder fbBuilder) { + _firstOffset ??= finish(fbBuilder); + return _firstOffset!; + } + + /// Writes the data in this helper to the [Builder]. + int finish(Builder fbBuilder); + + /// Convenience method that will create a new [Builder], [finish]es the data, + /// and returns the buffer as a [Uint8List] of bytes. + Uint8List toBytes(); +} + +/// Class that helps building flat buffers. +class Builder { + final int initialSize; + + /// The list of existing VTable(s). + final List _vTables = List.filled(16, 0, growable: true) + ..length = 0; + + ByteData _buf; + + /// The maximum alignment that has been seen so far. If [_buf] has to be + /// reallocated in the future (to insert room at its start for more bytes) the + /// reallocation will need to be a multiple of this many bytes. + int _maxAlign = 1; + + /// The number of bytes that have been written to the buffer so far. The + /// most recently written byte is this many bytes from the end of [_buf]. + int _tail = 0; + + /// The location of the end of the current table, measured in bytes from the + /// end of [_buf]. + int _currentTableEndTail = 0; + + _VTable? _currentVTable; + + /// Map containing all strings that have been written so far. This allows us + /// to avoid duplicating strings. + /// + /// Allocated only if `internStrings` is set to true on the constructor. + Map? _strings; + + /// Creates a new FlatBuffers Builder. + /// + /// `initialSize` is the initial array size in bytes. The [Builder] will + /// automatically grow the array if/as needed. `internStrings`, if set to + /// true, will cause [writeString] to pool strings in the buffer so that + /// identical strings will always use the same offset in tables. + Builder({this.initialSize: 1024, bool internStrings = false}) + : _buf = ByteData(initialSize) { + if (internStrings == true) { + _strings = new Map(); + } + } + + /// Calculate the finished buffer size (aligned). + int size() => _tail + ((-_tail) % _maxAlign); + + /// Add the [field] with the given boolean [value]. The field is not added if + /// the [value] is equal to [def]. Booleans are stored as 8-bit fields with + /// `0` for `false` and `1` for `true`. + void addBool(int field, bool? value, [bool? def]) { + _ensureCurrentVTable(); + if (value != null && value != def) { + _prepare(_sizeofUint8, 1); + _trackField(field); + _buf.setInt8(_buf.lengthInBytes - _tail, value ? 1 : 0); + } + } + + /// Add the [field] with the given 32-bit signed integer [value]. The field is + /// not added if the [value] is equal to [def]. + void addInt32(int field, int? value, [int? def]) { + _ensureCurrentVTable(); + if (value != null && value != def) { + _prepare(_sizeofInt32, 1); + _trackField(field); + _setInt32AtTail(_buf, _tail, value); + } + } + + /// Add the [field] with the given 32-bit signed integer [value]. The field is + /// not added if the [value] is equal to [def]. + void addInt16(int field, int? value, [int? def]) { + _ensureCurrentVTable(); + if (value != null && value != def) { + _prepare(_sizeofInt16, 1); + _trackField(field); + _setInt16AtTail(_buf, _tail, value); + } + } + + /// Add the [field] with the given 8-bit signed integer [value]. The field is + /// not added if the [value] is equal to [def]. + void addInt8(int field, int? value, [int? def]) { + _ensureCurrentVTable(); + if (value != null && value != def) { + _prepare(_sizeofInt8, 1); + _trackField(field); + _setInt8AtTail(_buf, _tail, value); + } + } + + void addStruct(int field, int offset) { + _ensureCurrentVTable(); + _trackField(field); + _currentVTable!.addField(field, offset); + } + + /// Add the [field] referencing an object with the given [offset]. + void addOffset(int field, int? offset) { + _ensureCurrentVTable(); + if (offset != null) { + _prepare(_sizeofUint32, 1); + _trackField(field); + _setUint32AtTail(_buf, _tail, _tail - offset); + } + } + + /// Add the [field] with the given 32-bit unsigned integer [value]. The field + /// is not added if the [value] is equal to [def]. + void addUint32(int field, int? value, [int? def]) { + _ensureCurrentVTable(); + if (value != null && value != def) { + _prepare(_sizeofUint32, 1); + _trackField(field); + _setUint32AtTail(_buf, _tail, value); + } + } + + /// Add the [field] with the given 32-bit unsigned integer [value]. The field + /// is not added if the [value] is equal to [def]. + void addUint16(int field, int? value, [int? def]) { + _ensureCurrentVTable(); + if (value != null && value != def) { + _prepare(_sizeofUint16, 1); + _trackField(field); + _setUint16AtTail(_buf, _tail, value); + } + } + + /// Add the [field] with the given 8-bit unsigned integer [value]. The field + /// is not added if the [value] is equal to [def]. + void addUint8(int field, int? value, [int? def]) { + _ensureCurrentVTable(); + if (value != null && value != def) { + _prepare(_sizeofUint8, 1); + _trackField(field); + _setUint8AtTail(_buf, _tail, value); + } + } + + /// Add the [field] with the given 32-bit float [value]. The field + /// is not added if the [value] is equal to [def]. + void addFloat32(int field, double? value, [double? def]) { + _ensureCurrentVTable(); + if (value != null && value != def) { + _prepare(_sizeofFloat32, 1); + _trackField(field); + _setFloat32AtTail(_buf, _tail, value); + } + } + + /// Add the [field] with the given 64-bit double [value]. The field + /// is not added if the [value] is equal to [def]. + void addFloat64(int field, double? value, [double? def]) { + _ensureCurrentVTable(); + if (value != null && value != def) { + _prepare(_sizeofFloat64, 1); + _trackField(field); + _setFloat64AtTail(_buf, _tail, value); + } + } + + /// Add the [field] with the given 64-bit unsigned integer [value]. The field + /// is not added if the [value] is equal to [def]. + void addUint64(int field, int? value, [double? def]) { + _ensureCurrentVTable(); + if (value != null && value != def) { + _prepare(_sizeofUint64, 1); + _trackField(field); + _setUint64AtTail(_buf, _tail, value); + } + } + + /// Add the [field] with the given 64-bit unsigned integer [value]. The field + /// is not added if the [value] is equal to [def]. + void addInt64(int field, int? value, [double? def]) { + _ensureCurrentVTable(); + if (value != null && value != def) { + _prepare(_sizeofInt64, 1); + _trackField(field); + _setInt64AtTail(_buf, _tail, value); + } + } + + /// End the current table and return its offset. + int endTable() { + if (_currentVTable == null) { + throw new StateError('Start a table before ending it.'); + } + // Prepare for writing the VTable. + _prepare(_sizeofInt32, 1); + int tableTail = _tail; + // Prepare the size of the current table. + final currentVTable = _currentVTable!; + currentVTable.tableSize = tableTail - _currentTableEndTail; + // Prepare the VTable to use for the current table. + int? vTableTail; + { + currentVTable.computeFieldOffsets(tableTail); + // Try to find an existing compatible VTable. + // Search backward - more likely to have recently used one + for (int i = _vTables.length - 1; i >= 0; i--) { + final int vt2Offset = _vTables[i]; + final int vt2Start = _buf.lengthInBytes - vt2Offset; + final int vt2Size = _buf.getUint16(vt2Start, Endian.little); + + if (currentVTable._vTableSize == vt2Size && + currentVTable._offsetsMatch(vt2Start, _buf)) { + vTableTail = vt2Offset; + break; + } + } + // Write a new VTable. + if (vTableTail == null) { + _prepare(_sizeofUint16, _currentVTable!.numOfUint16); + vTableTail = _tail; + currentVTable.tail = vTableTail; + currentVTable.output(_buf, _buf.lengthInBytes - _tail); + _vTables.add(currentVTable.tail); + } + } + // Set the VTable offset. + _setInt32AtTail(_buf, tableTail, vTableTail - tableTail); + // Done with this table. + _currentVTable = null; + return tableTail; + } + + /// This method low level method can be used to return a raw piece of the buffer + /// after using the the put* methods. + /// + /// Most clients should prefer calling [finish]. + Uint8List lowFinish() { + return _buf.buffer.asUint8List(_buf.lengthInBytes - size()); + } + + /// Finish off the creation of the buffer. The given [offset] is used as the + /// root object offset, and usually references directly or indirectly every + /// written object. If [fileIdentifier] is specified (and not `null`), it is + /// interpreted as a 4-byte Latin-1 encoded string that should be placed at + /// bytes 4-7 of the file. + Uint8List finish(int offset, [String? fileIdentifier]) { + _prepare(max(_sizeofUint32, _maxAlign), fileIdentifier == null ? 1 : 2); + final finishedSize = size(); + _setUint32AtTail(_buf, finishedSize, finishedSize - offset); + if (fileIdentifier != null) { + for (int i = 0; i < 4; i++) { + _setUint8AtTail(_buf, finishedSize - _sizeofUint32 - i, + fileIdentifier.codeUnitAt(i)); + } + } + return _buf.buffer.asUint8List(_buf.lengthInBytes - finishedSize); + } + + /// Writes a Float64 to the tail of the buffer after preparing space for it. + /// + /// Updates the [offset] pointer. This method is intended for use when writing structs to the buffer. + void putFloat64(double value) { + _prepare(_sizeofFloat64, 1); + _setFloat32AtTail(_buf, _tail, value); + } + + /// Writes a Float32 to the tail of the buffer after preparing space for it. + /// + /// Updates the [offset] pointer. This method is intended for use when writing structs to the buffer. + void putFloat32(double value) { + _prepare(_sizeofFloat32, 1); + _setFloat32AtTail(_buf, _tail, value); + } + + /// Writes a Int64 to the tail of the buffer after preparing space for it. + /// + /// Updates the [offset] pointer. This method is intended for use when writing structs to the buffer. + void putInt64(int value) { + _prepare(_sizeofInt64, 1); + _setInt64AtTail(_buf, _tail, value); + } + + /// Writes a Uint32 to the tail of the buffer after preparing space for it. + /// + /// Updates the [offset] pointer. This method is intended for use when writing structs to the buffer. + void putInt32(int value) { + _prepare(_sizeofInt32, 1); + _setInt32AtTail(_buf, _tail, value); + } + + /// Writes a Uint16 to the tail of the buffer after preparing space for it. + /// + /// Updates the [offset] pointer. This method is intended for use when writing structs to the buffer. + void putInt16(int value) { + _prepare(_sizeofInt16, 1); + _setInt16AtTail(_buf, _tail, value); + } + + /// Writes a Uint8 to the tail of the buffer after preparing space for it. + /// + /// Updates the [offset] pointer. This method is intended for use when writing structs to the buffer. + void putInt8(int value) { + _prepare(_sizeofInt8, 1); + _buf.setInt8(_buf.lengthInBytes - _tail, value); + } + + /// Writes a Uint64 to the tail of the buffer after preparing space for it. + /// + /// Updates the [offset] pointer. This method is intended for use when writing structs to the buffer. + void putUint64(int value) { + _prepare(_sizeofUint64, 1); + _setUint64AtTail(_buf, _tail, value); + } + + /// Writes a Uint32 to the tail of the buffer after preparing space for it. + /// + /// Updates the [offset] pointer. This method is intended for use when writing structs to the buffer. + void putUint32(int value) { + _prepare(_sizeofUint32, 1); + _setUint32AtTail(_buf, _tail, value); + } + + /// Writes a Uint16 to the tail of the buffer after preparing space for it. + /// + /// Updates the [offset] pointer. This method is intended for use when writing structs to the buffer. + void putUint16(int value) { + _prepare(_sizeofUint16, 1); + _setUint16AtTail(_buf, _tail, value); + } + + /// Writes a Uint8 to the tail of the buffer after preparing space for it. + /// + /// Updates the [offset] pointer. This method is intended for use when writing structs to the buffer. + void putUint8(int value) { + _prepare(_sizeofUint8, 1); + _buf.setUint8(_buf.lengthInBytes - _tail, value); + } + + /// Reset the builder and make it ready for filling a new buffer. + void reset() { + _maxAlign = 1; + _tail = 0; + _currentVTable = null; + _vTables.length = 0; + if (_strings != null) { + _strings = new Map(); + } + } + + /// Start a new table. Must be finished with [endTable] invocation. + void startTable() { + if (_currentVTable != null) { + throw new StateError('Inline tables are not supported.'); + } + _currentVTable = new _VTable(); + _currentTableEndTail = _tail; + } + + /// Finish a Struct vector. Most callers should preferto use [writeListOfStructs]. + /// + /// Most callers should prefer [writeListOfStructs]. + int endStructVector(int count) { + putUint32(count); + return _tail; + } + + /// Writes a list of Structs to the buffer, returning the offset + int writeListOfStructs(List structBuilders) { + _ensureNoVTable(); + for (int i = structBuilders.length - 1; i >= 0; i--) { + structBuilders[i].finish(this); + } + return endStructVector(structBuilders.length); + } + + /// Write the given list of [values]. + int writeList(List values) { + _ensureNoVTable(); + _prepare(_sizeofUint32, 1 + values.length); + final int result = _tail; + int tail = _tail; + _setUint32AtTail(_buf, tail, values.length); + tail -= _sizeofUint32; + for (int value in values) { + _setUint32AtTail(_buf, tail, tail - value); + tail -= _sizeofUint32; + } + return result; + } + + /// Write the given list of 64-bit float [values]. + int writeListFloat64(List values) { + _ensureNoVTable(); + _prepare(_sizeofFloat64, values.length, additionalBytes: _sizeofUint32); + final int result = _tail; + int tail = _tail; + _setUint32AtTail(_buf, tail, values.length); + tail -= _sizeofUint32; + for (double value in values) { + _setFloat64AtTail(_buf, tail, value); + tail -= _sizeofFloat64; + } + return result; + } + + /// Write the given list of 32-bit float [values]. + int writeListFloat32(List values) { + _ensureNoVTable(); + _prepare(_sizeofFloat32, 1 + values.length); + final int result = _tail; + int tail = _tail; + _setUint32AtTail(_buf, tail, values.length); + tail -= _sizeofUint32; + for (double value in values) { + _setFloat32AtTail(_buf, tail, value); + tail -= _sizeofFloat32; + } + return result; + } + + /// Write the given list of signed 64-bit integer [values]. + int writeListInt64(List values) { + _ensureNoVTable(); + _prepare(_sizeofInt64, values.length, additionalBytes: _sizeofUint32); + final int result = _tail; + int tail = _tail; + _setUint32AtTail(_buf, tail, values.length); + tail -= _sizeofUint32; + for (int value in values) { + _setInt64AtTail(_buf, tail, value); + tail -= _sizeofInt64; + } + return result; + } + + /// Write the given list of signed 64-bit integer [values]. + int writeListUint64(List values) { + _ensureNoVTable(); + _prepare(_sizeofUint64, values.length, additionalBytes: _sizeofUint32); + final int result = _tail; + int tail = _tail; + _setUint32AtTail(_buf, tail, values.length); + tail -= _sizeofUint32; + for (int value in values) { + _setUint64AtTail(_buf, tail, value); + tail -= _sizeofUint64; + } + return result; + } + + /// Write the given list of signed 32-bit integer [values]. + int writeListInt32(List values) { + _ensureNoVTable(); + _prepare(_sizeofUint32, 1 + values.length); + final int result = _tail; + int tail = _tail; + _setUint32AtTail(_buf, tail, values.length); + tail -= _sizeofUint32; + for (int value in values) { + _setInt32AtTail(_buf, tail, value); + tail -= _sizeofInt32; + } + return result; + } + + /// Write the given list of unsigned 32-bit integer [values]. + int writeListUint32(List values) { + _ensureNoVTable(); + _prepare(_sizeofUint32, 1 + values.length); + final int result = _tail; + int tail = _tail; + _setUint32AtTail(_buf, tail, values.length); + tail -= _sizeofUint32; + for (int value in values) { + _setUint32AtTail(_buf, tail, value); + tail -= _sizeofUint32; + } + return result; + } + + /// Write the given list of signed 16-bit integer [values]. + int writeListInt16(List values) { + _ensureNoVTable(); + _prepare(_sizeofUint32, 1, additionalBytes: 2 * values.length); + final int result = _tail; + int tail = _tail; + _setUint32AtTail(_buf, tail, values.length); + tail -= _sizeofUint32; + for (int value in values) { + _setInt16AtTail(_buf, tail, value); + tail -= _sizeofInt16; + } + return result; + } + + /// Write the given list of unsigned 16-bit integer [values]. + int writeListUint16(List values) { + _ensureNoVTable(); + _prepare(_sizeofUint32, 1, additionalBytes: 2 * values.length); + final int result = _tail; + int tail = _tail; + _setUint32AtTail(_buf, tail, values.length); + tail -= _sizeofUint32; + for (int value in values) { + _setUint16AtTail(_buf, tail, value); + tail -= _sizeofUint16; + } + return result; + } + + /// Write the given list of bools as unsigend 8-bit integer [values]. + int writeListBool(List values) { + return writeListUint8(values.map((b) => b ? 1 : 0).toList()); + } + + /// Write the given list of signed 8-bit integer [values]. + int writeListInt8(List values) { + _ensureNoVTable(); + _prepare(_sizeofUint32, 1, additionalBytes: values.length); + final int result = _tail; + int tail = _tail; + _setUint32AtTail(_buf, tail, values.length); + tail -= _sizeofUint32; + for (int value in values) { + _setInt8AtTail(_buf, tail, value); + tail -= _sizeofUint8; + } + return result; + } + + /// Write the given list of unsigned 8-bit integer [values]. + int writeListUint8(List values) { + _ensureNoVTable(); + _prepare(_sizeofUint32, 1, additionalBytes: values.length); + final int result = _tail; + int tail = _tail; + _setUint32AtTail(_buf, tail, values.length); + tail -= _sizeofUint32; + for (int value in values) { + _setUint8AtTail(_buf, tail, value); + tail -= _sizeofUint8; + } + return result; + } + + /// Write the given string [value] and return its offset, or `null` if + /// the [value] is `null`. + int? writeString(String? value) { + _ensureNoVTable(); + if (value != null) { + if (_strings != null) { + return _strings!.putIfAbsent(value, () => _writeString(value)); + } else { + return _writeString(value); + } + } + return null; + } + + int _writeString(String value) { + // TODO(scheglov) optimize for ASCII strings + List bytes = utf8.encode(value); + int length = bytes.length; + _prepare(4, 1, additionalBytes: length + 1); + final int result = _tail; + _setUint32AtTail(_buf, _tail, length); + int offset = _buf.lengthInBytes - _tail + 4; + for (int i = 0; i < length; i++) { + _buf.setUint8(offset++, bytes[i]); + } + _buf.setUint8(offset, 0); // trailing zero + return result; + } + + /// Throw an exception if there is not currently a vtable. + void _ensureCurrentVTable() { + if (_currentVTable == null) { + throw new StateError('Start a table before adding values.'); + } + } + + /// Throw an exception if there is currently a vtable. + void _ensureNoVTable() { + if (_currentVTable != null) { + throw new StateError( + 'Cannot write a non-scalar value while writing a table.'); + } + } + + /// The number of bytes that have been written to the buffer so far. The + /// most recently written byte is this many bytes from the end of the buffer. + int get offset => _tail; + + /// Zero-pads the buffer, which may be required for some struct layouts. + void pad(int howManyBytes) { + for (int i = 0; i < howManyBytes; i++) putUint8(0); + } + + /// Prepare for writing the given `count` of scalars of the given `size`. + /// Additionally allocate the specified `additionalBytes`. Update the current + /// tail pointer to point at the allocated space. + void _prepare(int size, int count, {int additionalBytes = 0}) { + // Update the alignment. + if (_maxAlign < size) { + _maxAlign = size; + } + // Prepare amount of required space. + int dataSize = size * count + additionalBytes; + int alignDelta = (-(_tail + dataSize)) % size; + int bufSize = alignDelta + dataSize; + // Ensure that we have the required amount of space. + { + int oldCapacity = _buf.lengthInBytes; + if (_tail + bufSize > oldCapacity) { + int desiredNewCapacity = (oldCapacity + bufSize) * 2; + int deltaCapacity = desiredNewCapacity - oldCapacity; + deltaCapacity += (-deltaCapacity) % _maxAlign; + int newCapacity = oldCapacity + deltaCapacity; + ByteData newBuf = new ByteData(newCapacity); + newBuf.buffer + .asUint8List() + .setAll(deltaCapacity, _buf.buffer.asUint8List()); + _buf = newBuf; + } + } + // Update the tail pointer. + _tail += bufSize; + } + + /// Record the offset of the given [field]. + void _trackField(int field) { + _currentVTable!.addField(field, _tail); + } + + static void _setFloat64AtTail(ByteData _buf, int tail, double x) { + _buf.setFloat64(_buf.lengthInBytes - tail, x, Endian.little); + } + + static void _setFloat32AtTail(ByteData _buf, int tail, double x) { + _buf.setFloat32(_buf.lengthInBytes - tail, x, Endian.little); + } + + static void _setUint64AtTail(ByteData _buf, int tail, int x) { + _buf.setUint64(_buf.lengthInBytes - tail, x, Endian.little); + } + + static void _setInt64AtTail(ByteData _buf, int tail, int x) { + _buf.setInt64(_buf.lengthInBytes - tail, x, Endian.little); + } + + static void _setInt32AtTail(ByteData _buf, int tail, int x) { + _buf.setInt32(_buf.lengthInBytes - tail, x, Endian.little); + } + + static void _setUint32AtTail(ByteData _buf, int tail, int x) { + _buf.setUint32(_buf.lengthInBytes - tail, x, Endian.little); + } + + static void _setInt16AtTail(ByteData _buf, int tail, int x) { + _buf.setInt16(_buf.lengthInBytes - tail, x, Endian.little); + } + + static void _setUint16AtTail(ByteData _buf, int tail, int x) { + _buf.setUint16(_buf.lengthInBytes - tail, x, Endian.little); + } + + static void _setInt8AtTail(ByteData _buf, int tail, int x) { + _buf.setInt8(_buf.lengthInBytes - tail, x); + } + + static void _setUint8AtTail(ByteData _buf, int tail, int x) { + _buf.setUint8(_buf.lengthInBytes - tail, x); + } +} + +/// Reader of lists of boolean values. +/// +/// The returned unmodifiable lists lazily read values on access. +class BoolListReader extends Reader> { + const BoolListReader(); + + @override + int get size => _sizeofUint32; + + @override + List read(BufferContext bc, int offset) => + new _FbBoolList(bc, bc.derefObject(offset)); +} + +/// The reader of booleans. +class BoolReader extends Reader { + const BoolReader() : super(); + + @override + int get size => _sizeofUint8; + + @override + bool read(BufferContext bc, int offset) => bc._getInt8(offset) != 0; +} + +/// The reader of lists of 64-bit float values. +/// +/// The returned unmodifiable lists lazily read values on access. +class Float64ListReader extends Reader> { + const Float64ListReader(); + + @override + int get size => _sizeofFloat64; + + @override + List read(BufferContext bc, int offset) => + new _FbFloat64List(bc, bc.derefObject(offset)); +} + +class Float32ListReader extends Reader> { + const Float32ListReader(); + + @override + int get size => _sizeofFloat32; + + @override + List read(BufferContext bc, int offset) => + new _FbFloat32List(bc, bc.derefObject(offset)); +} + +class Float64Reader extends Reader { + const Float64Reader(); + + @override + int get size => _sizeofFloat64; + + @override + double read(BufferContext bc, int offset) => bc._getFloat64(offset); +} + +class Float32Reader extends Reader { + const Float32Reader(); + + @override + int get size => _sizeofFloat32; + + @override + double read(BufferContext bc, int offset) => bc._getFloat32(offset); +} + +class Int64Reader extends Reader { + const Int64Reader() : super(); + + @override + int get size => _sizeofInt64; + + @override + int read(BufferContext bc, int offset) => bc._getInt64(offset); +} + +/// The reader of signed 32-bit integers. +class Int32Reader extends Reader { + const Int32Reader() : super(); + + @override + int get size => _sizeofInt32; + + @override + int read(BufferContext bc, int offset) => bc._getInt32(offset); +} + +/// The reader of signed 32-bit integers. +class Int16Reader extends Reader { + const Int16Reader() : super(); + + @override + int get size => _sizeofInt16; + + @override + int read(BufferContext bc, int offset) => bc._getInt16(offset); +} + +/// The reader of 8-bit signed integers. +class Int8Reader extends Reader { + const Int8Reader() : super(); + + @override + int get size => _sizeofInt8; + + @override + int read(BufferContext bc, int offset) => bc._getInt8(offset); +} + +/// The reader of lists of objects. +/// +/// The returned unmodifiable lists lazily read objects on access. +class ListReader extends Reader> { + final Reader _elementReader; + + const ListReader(this._elementReader); + + @override + int get size => _sizeofUint32; + + @override + List read(BufferContext bc, int offset) => + new _FbGenericList(_elementReader, bc, bc.derefObject(offset)); +} + +/// Object that can read a value at a [BufferContext]. +abstract class Reader { + const Reader(); + + /// The size of the value in bytes. + int get size; + + /// Read the value at the given [offset] in [bc]. + T read(BufferContext bc, int offset); + + /// Read the value of the given [field] in the given [object]. + T vTableGet(BufferContext object, int offset, int field, T defaultValue) { + int fieldOffset = _vTableFieldOffset(object, offset, field); + return fieldOffset == 0 ? defaultValue : read(object, offset + fieldOffset); + } + + /// Read the value of the given [field] in the given [object]. + T? vTableGetNullable(BufferContext object, int offset, int field) { + int fieldOffset = _vTableFieldOffset(object, offset, field); + return fieldOffset == 0 ? null : read(object, offset + fieldOffset); + } + + int _vTableFieldOffset(BufferContext object, int offset, int field) { + int vTableSOffset = object._getInt32(offset); + int vTableOffset = offset - vTableSOffset; + int vTableSize = object._getUint16(vTableOffset); + if (field >= vTableSize) return 0; + return object._getUint16(vTableOffset + field); + } +} + +/// The reader of string values. +class StringReader extends Reader { + const StringReader() : super(); + + @override + int get size => 4; + + @override + String read(BufferContext bc, int offset) { + int strOffset = bc.derefObject(offset); + int length = bc._getUint32(strOffset); + Uint8List bytes = bc._asUint8LIst(strOffset + 4, length); + if (_isLatin(bytes)) { + return new String.fromCharCodes(bytes); + } + return utf8.decode(bytes); + } + + static bool _isLatin(Uint8List bytes) { + int length = bytes.length; + for (int i = 0; i < length; i++) { + if (bytes[i] > 127) { + return false; + } + } + return true; + } +} + +/// An abstract reader for structs. +abstract class StructReader extends Reader { + const StructReader(); + + /// Return the object at `offset`. + T createObject(BufferContext bc, int offset); + + T read(BufferContext bp, int offset) { + return createObject(bp, offset); + } +} + +/// An abstract reader for tables. +abstract class TableReader extends Reader { + const TableReader(); + + @override + int get size => 4; + + /// Return the object at [offset]. + T createObject(BufferContext bc, int offset); + + @override + T read(BufferContext bp, int offset) { + int objectOffset = bp.derefObject(offset); + return createObject(bp, objectOffset); + } +} + +/// Reader of lists of unsigned 32-bit integer values. +/// +/// The returned unmodifiable lists lazily read values on access. +class Uint32ListReader extends Reader> { + const Uint32ListReader(); + + @override + int get size => _sizeofUint32; + + @override + List read(BufferContext bc, int offset) => + new _FbUint32List(bc, bc.derefObject(offset)); +} + +/// The reader of unsigned 64-bit integers. +/// +/// WARNING: May have compatibility issues with JavaScript +class Uint64Reader extends Reader { + const Uint64Reader() : super(); + + @override + int get size => _sizeofUint64; + + @override + int read(BufferContext bc, int offset) => bc._getUint64(offset); +} + +/// The reader of unsigned 32-bit integers. +class Uint32Reader extends Reader { + const Uint32Reader() : super(); + + @override + int get size => _sizeofUint32; + + @override + int read(BufferContext bc, int offset) => bc._getUint32(offset); +} + +/// Reader of lists of unsigned 32-bit integer values. +/// +/// The returned unmodifiable lists lazily read values on access. +class Uint16ListReader extends Reader> { + const Uint16ListReader(); + + @override + int get size => _sizeofUint32; + + @override + List read(BufferContext bc, int offset) => + new _FbUint16List(bc, bc.derefObject(offset)); +} + +/// The reader of unsigned 32-bit integers. +class Uint16Reader extends Reader { + const Uint16Reader() : super(); + + @override + int get size => _sizeofUint16; + + @override + int read(BufferContext bc, int offset) => bc._getUint16(offset); +} + +/// Reader of lists of unsigned 8-bit integer values. +/// +/// The returned unmodifiable lists lazily read values on access. +class Uint8ListReader extends Reader> { + const Uint8ListReader(); + + @override + int get size => _sizeofUint32; + + @override + List read(BufferContext bc, int offset) => + new _FbUint8List(bc, bc.derefObject(offset)); +} + +/// The reader of unsigned 8-bit integers. +class Uint8Reader extends Reader { + const Uint8Reader() : super(); + + @override + int get size => _sizeofUint8; + + @override + int read(BufferContext bc, int offset) => bc._getUint8(offset); +} + +/// The list backed by 64-bit values - Uint64 length and Float64. +class _FbFloat64List extends _FbList { + _FbFloat64List(BufferContext bc, int offset) : super(bc, offset); + + @override + double operator [](int i) { + return bc._getFloat64(offset + 4 + 8 * i); + } +} + +/// The list backed by 32-bit values - Float32. +class _FbFloat32List extends _FbList { + _FbFloat32List(BufferContext bc, int offset) : super(bc, offset); + + @override + double operator [](int i) { + return bc._getFloat32(offset + 4 + 4 * i); + } +} + +/// List backed by a generic object which may have any size. +class _FbGenericList extends _FbList { + final Reader elementReader; + + List? _items; + + _FbGenericList(this.elementReader, BufferContext bp, int offset) + : super(bp, offset); + + @override + E operator [](int i) { + _items ??= List.filled(length, null); + E? item = _items![i]; + if (item == null) { + item = elementReader.read(bc, offset + 4 + elementReader.size * i); + _items![i] = item; + } + return item!; + } +} + +/// The base class for immutable lists read from flat buffers. +abstract class _FbList extends Object with ListMixin implements List { + final BufferContext bc; + final int offset; + int? _length; + + _FbList(this.bc, this.offset); + + @override + int get length { + _length ??= bc._getUint32(offset); + return _length!; + } + + @override + void set length(int i) => + throw new StateError('Attempt to modify immutable list'); + + @override + void operator []=(int i, E e) => + throw new StateError('Attempt to modify immutable list'); +} + +/// List backed by 32-bit unsigned integers. +class _FbUint32List extends _FbList { + _FbUint32List(BufferContext bc, int offset) : super(bc, offset); + + @override + int operator [](int i) { + return bc._getUint32(offset + 4 + 4 * i); + } +} + +/// List backed by 16-bit unsigned integers. +class _FbUint16List extends _FbList { + _FbUint16List(BufferContext bc, int offset) : super(bc, offset); + + @override + int operator [](int i) { + return bc._getUint16(offset + 4 + 2 * i); + } +} + +/// List backed by 8-bit unsigned integers. +class _FbUint8List extends _FbList { + _FbUint8List(BufferContext bc, int offset) : super(bc, offset); + + @override + int operator [](int i) { + return bc._getUint8(offset + 4 + i); + } +} + +/// List backed by 8-bit unsigned integers. +class _FbBoolList extends _FbList { + _FbBoolList(BufferContext bc, int offset) : super(bc, offset); + + @override + bool operator [](int i) { + return bc._getUint8(offset + 4 + i) == 1 ? true : false; + } +} + +/// Class that describes the structure of a table. +class _VTable { + static const int _metadataLength = 4; + + final fieldTails = []; + final fieldOffsets = []; + + /// The size of the table that uses this VTable. + int tableSize = 0; + + /// The tail of this VTable. It is used to share the same VTable between + /// multiple tables of identical structure. + int tail = 0; + + int get _vTableSize => numOfUint16 * _sizeofUint16; + + int get numOfUint16 => 1 + 1 + fieldTails.length; + + void addField(int field, int offset) { + while (fieldTails.length <= field) { + fieldTails.add(null); + } + fieldTails[field] = offset; + } + + bool _offsetsMatch(int vt2Start, ByteData buf) { + for (int i = 0; i < fieldOffsets.length; i++) { + if (fieldOffsets[i] != + buf.getUint16(vt2Start + _metadataLength + (2 * i), Endian.little)) { + return false; + } + } + return true; + } + + /// Fill the [fieldOffsets] field. + void computeFieldOffsets(int tableTail) { + assert(fieldOffsets.isEmpty); + for (int? fieldTail in fieldTails) { + int fieldOffset = fieldTail == null ? 0 : tableTail - fieldTail; + fieldOffsets.add(fieldOffset); + } + } + + /// Outputs this VTable to [buf], which is is expected to be aligned to 16-bit + /// and have at least [numOfUint16] 16-bit words available. + void output(ByteData buf, int bufOffset) { + // VTable size. + buf.setUint16(bufOffset, numOfUint16 * 2, Endian.little); + bufOffset += 2; + // Table size. + buf.setUint16(bufOffset, tableSize, Endian.little); + bufOffset += 2; + // Field offsets. + for (int fieldOffset in fieldOffsets) { + buf.setUint16(bufOffset, fieldOffset, Endian.little); + bufOffset += 2; + } + } +} diff --git a/lib/model/bridge.pb.dart b/lib/model/bridge.pb.dart deleted file mode 100644 index caf7fb7..0000000 --- a/lib/model/bridge.pb.dart +++ /dev/null @@ -1,1912 +0,0 @@ -/// -// Generated code. Do not modify. -// source: bridge.proto -// - -// ignore_for_file: camel_case_types,non_constant_identifier_names,library_prefixes,unused_import,unused_shown_name,return_of_invalid_type - -import 'dart:core' as $core; - -import 'package:protobuf/protobuf.dart' as $pb; - -import 'bridge.pbenum.dart'; - -export 'bridge.pbenum.dart'; - -class EncryptRequest extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo('EncryptRequest', - package: const $pb.PackageName('model'), createEmptyInstance: create) - ..aOS(1, 'message') - ..aOS(3, 'publicKey', protoName: 'publicKey') - ..aOM(5, 'options', subBuilder: KeyOptions.create) - ..aOM(7, 'signed', subBuilder: Entity.create) - ..aOM(9, 'fileHints', - protoName: 'fileHints', subBuilder: FileHints.create) - ..hasRequiredFields = false; - - EncryptRequest._() : super(); - factory EncryptRequest() => create(); - factory EncryptRequest.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory EncryptRequest.fromJson($core.String i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromJson(i, r); - EncryptRequest clone() => EncryptRequest()..mergeFromMessage(this); - EncryptRequest copyWith(void Function(EncryptRequest) updates) => - super.copyWith((message) => updates(message as EncryptRequest)) - as EncryptRequest; - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static EncryptRequest create() => EncryptRequest._(); - EncryptRequest createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static EncryptRequest getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); - static EncryptRequest? _defaultInstance; - - @$pb.TagNumber(1) - $core.String get message => $_getSZ(0); - @$pb.TagNumber(1) - set message($core.String v) { - $_setString(0, v); - } - - @$pb.TagNumber(1) - $core.bool hasMessage() => $_has(0); - @$pb.TagNumber(1) - void clearMessage() => clearField(1); - - @$pb.TagNumber(3) - $core.String get publicKey => $_getSZ(1); - @$pb.TagNumber(3) - set publicKey($core.String v) { - $_setString(1, v); - } - - @$pb.TagNumber(3) - $core.bool hasPublicKey() => $_has(1); - @$pb.TagNumber(3) - void clearPublicKey() => clearField(3); - - @$pb.TagNumber(5) - KeyOptions get options => $_getN(2); - @$pb.TagNumber(5) - set options(KeyOptions v) { - setField(5, v); - } - - @$pb.TagNumber(5) - $core.bool hasOptions() => $_has(2); - @$pb.TagNumber(5) - void clearOptions() => clearField(5); - @$pb.TagNumber(5) - KeyOptions ensureOptions() => $_ensure(2); - - @$pb.TagNumber(7) - Entity get signed => $_getN(3); - @$pb.TagNumber(7) - set signed(Entity v) { - setField(7, v); - } - - @$pb.TagNumber(7) - $core.bool hasSigned() => $_has(3); - @$pb.TagNumber(7) - void clearSigned() => clearField(7); - @$pb.TagNumber(7) - Entity ensureSigned() => $_ensure(3); - - @$pb.TagNumber(9) - FileHints get fileHints => $_getN(4); - @$pb.TagNumber(9) - set fileHints(FileHints v) { - setField(9, v); - } - - @$pb.TagNumber(9) - $core.bool hasFileHints() => $_has(4); - @$pb.TagNumber(9) - void clearFileHints() => clearField(9); - @$pb.TagNumber(9) - FileHints ensureFileHints() => $_ensure(4); -} - -class EncryptBytesRequest extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo('EncryptBytesRequest', - package: const $pb.PackageName('model'), createEmptyInstance: create) - ..a<$core.List<$core.int>>(1, 'message', $pb.PbFieldType.OY) - ..aOS(3, 'publicKey', protoName: 'publicKey') - ..aOM(5, 'options', subBuilder: KeyOptions.create) - ..aOM(7, 'signed', subBuilder: Entity.create) - ..aOM(9, 'fileHints', - protoName: 'fileHints', subBuilder: FileHints.create) - ..hasRequiredFields = false; - - EncryptBytesRequest._() : super(); - factory EncryptBytesRequest() => create(); - factory EncryptBytesRequest.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory EncryptBytesRequest.fromJson($core.String i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromJson(i, r); - EncryptBytesRequest clone() => EncryptBytesRequest()..mergeFromMessage(this); - EncryptBytesRequest copyWith(void Function(EncryptBytesRequest) updates) => - super.copyWith((message) => updates(message as EncryptBytesRequest)) - as EncryptBytesRequest; - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static EncryptBytesRequest create() => EncryptBytesRequest._(); - EncryptBytesRequest createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static EncryptBytesRequest getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); - static EncryptBytesRequest? _defaultInstance; - - @$pb.TagNumber(1) - $core.List<$core.int> get message => $_getN(0); - @$pb.TagNumber(1) - set message($core.List<$core.int> v) { - $_setBytes(0, v); - } - - @$pb.TagNumber(1) - $core.bool hasMessage() => $_has(0); - @$pb.TagNumber(1) - void clearMessage() => clearField(1); - - @$pb.TagNumber(3) - $core.String get publicKey => $_getSZ(1); - @$pb.TagNumber(3) - set publicKey($core.String v) { - $_setString(1, v); - } - - @$pb.TagNumber(3) - $core.bool hasPublicKey() => $_has(1); - @$pb.TagNumber(3) - void clearPublicKey() => clearField(3); - - @$pb.TagNumber(5) - KeyOptions get options => $_getN(2); - @$pb.TagNumber(5) - set options(KeyOptions v) { - setField(5, v); - } - - @$pb.TagNumber(5) - $core.bool hasOptions() => $_has(2); - @$pb.TagNumber(5) - void clearOptions() => clearField(5); - @$pb.TagNumber(5) - KeyOptions ensureOptions() => $_ensure(2); - - @$pb.TagNumber(7) - Entity get signed => $_getN(3); - @$pb.TagNumber(7) - set signed(Entity v) { - setField(7, v); - } - - @$pb.TagNumber(7) - $core.bool hasSigned() => $_has(3); - @$pb.TagNumber(7) - void clearSigned() => clearField(7); - @$pb.TagNumber(7) - Entity ensureSigned() => $_ensure(3); - - @$pb.TagNumber(9) - FileHints get fileHints => $_getN(4); - @$pb.TagNumber(9) - set fileHints(FileHints v) { - setField(9, v); - } - - @$pb.TagNumber(9) - $core.bool hasFileHints() => $_has(4); - @$pb.TagNumber(9) - void clearFileHints() => clearField(9); - @$pb.TagNumber(9) - FileHints ensureFileHints() => $_ensure(4); -} - -class DecryptRequest extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo('DecryptRequest', - package: const $pb.PackageName('model'), createEmptyInstance: create) - ..aOS(1, 'message') - ..aOS(3, 'privateKey', protoName: 'privateKey') - ..aOS(5, 'passphrase') - ..aOM(7, 'options', subBuilder: KeyOptions.create) - ..hasRequiredFields = false; - - DecryptRequest._() : super(); - factory DecryptRequest() => create(); - factory DecryptRequest.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory DecryptRequest.fromJson($core.String i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromJson(i, r); - DecryptRequest clone() => DecryptRequest()..mergeFromMessage(this); - DecryptRequest copyWith(void Function(DecryptRequest) updates) => - super.copyWith((message) => updates(message as DecryptRequest)) - as DecryptRequest; - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static DecryptRequest create() => DecryptRequest._(); - DecryptRequest createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static DecryptRequest getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); - static DecryptRequest? _defaultInstance; - - @$pb.TagNumber(1) - $core.String get message => $_getSZ(0); - @$pb.TagNumber(1) - set message($core.String v) { - $_setString(0, v); - } - - @$pb.TagNumber(1) - $core.bool hasMessage() => $_has(0); - @$pb.TagNumber(1) - void clearMessage() => clearField(1); - - @$pb.TagNumber(3) - $core.String get privateKey => $_getSZ(1); - @$pb.TagNumber(3) - set privateKey($core.String v) { - $_setString(1, v); - } - - @$pb.TagNumber(3) - $core.bool hasPrivateKey() => $_has(1); - @$pb.TagNumber(3) - void clearPrivateKey() => clearField(3); - - @$pb.TagNumber(5) - $core.String get passphrase => $_getSZ(2); - @$pb.TagNumber(5) - set passphrase($core.String v) { - $_setString(2, v); - } - - @$pb.TagNumber(5) - $core.bool hasPassphrase() => $_has(2); - @$pb.TagNumber(5) - void clearPassphrase() => clearField(5); - - @$pb.TagNumber(7) - KeyOptions get options => $_getN(3); - @$pb.TagNumber(7) - set options(KeyOptions v) { - setField(7, v); - } - - @$pb.TagNumber(7) - $core.bool hasOptions() => $_has(3); - @$pb.TagNumber(7) - void clearOptions() => clearField(7); - @$pb.TagNumber(7) - KeyOptions ensureOptions() => $_ensure(3); -} - -class DecryptBytesRequest extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo('DecryptBytesRequest', - package: const $pb.PackageName('model'), createEmptyInstance: create) - ..a<$core.List<$core.int>>(1, 'message', $pb.PbFieldType.OY) - ..aOS(3, 'privateKey', protoName: 'privateKey') - ..aOS(5, 'passphrase') - ..aOM(7, 'options', subBuilder: KeyOptions.create) - ..hasRequiredFields = false; - - DecryptBytesRequest._() : super(); - factory DecryptBytesRequest() => create(); - factory DecryptBytesRequest.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory DecryptBytesRequest.fromJson($core.String i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromJson(i, r); - DecryptBytesRequest clone() => DecryptBytesRequest()..mergeFromMessage(this); - DecryptBytesRequest copyWith(void Function(DecryptBytesRequest) updates) => - super.copyWith((message) => updates(message as DecryptBytesRequest)) - as DecryptBytesRequest; - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static DecryptBytesRequest create() => DecryptBytesRequest._(); - DecryptBytesRequest createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static DecryptBytesRequest getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); - static DecryptBytesRequest? _defaultInstance; - - @$pb.TagNumber(1) - $core.List<$core.int> get message => $_getN(0); - @$pb.TagNumber(1) - set message($core.List<$core.int> v) { - $_setBytes(0, v); - } - - @$pb.TagNumber(1) - $core.bool hasMessage() => $_has(0); - @$pb.TagNumber(1) - void clearMessage() => clearField(1); - - @$pb.TagNumber(3) - $core.String get privateKey => $_getSZ(1); - @$pb.TagNumber(3) - set privateKey($core.String v) { - $_setString(1, v); - } - - @$pb.TagNumber(3) - $core.bool hasPrivateKey() => $_has(1); - @$pb.TagNumber(3) - void clearPrivateKey() => clearField(3); - - @$pb.TagNumber(5) - $core.String get passphrase => $_getSZ(2); - @$pb.TagNumber(5) - set passphrase($core.String v) { - $_setString(2, v); - } - - @$pb.TagNumber(5) - $core.bool hasPassphrase() => $_has(2); - @$pb.TagNumber(5) - void clearPassphrase() => clearField(5); - - @$pb.TagNumber(7) - KeyOptions get options => $_getN(3); - @$pb.TagNumber(7) - set options(KeyOptions v) { - setField(7, v); - } - - @$pb.TagNumber(7) - $core.bool hasOptions() => $_has(3); - @$pb.TagNumber(7) - void clearOptions() => clearField(7); - @$pb.TagNumber(7) - KeyOptions ensureOptions() => $_ensure(3); -} - -class SignRequest extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo('SignRequest', - package: const $pb.PackageName('model'), createEmptyInstance: create) - ..aOS(1, 'message') - ..aOS(3, 'publicKey', protoName: 'publicKey') - ..aOS(5, 'privateKey', protoName: 'privateKey') - ..aOS(7, 'passphrase') - ..aOM(9, 'options', subBuilder: KeyOptions.create) - ..hasRequiredFields = false; - - SignRequest._() : super(); - factory SignRequest() => create(); - factory SignRequest.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory SignRequest.fromJson($core.String i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromJson(i, r); - SignRequest clone() => SignRequest()..mergeFromMessage(this); - SignRequest copyWith(void Function(SignRequest) updates) => - super.copyWith((message) => updates(message as SignRequest)) - as SignRequest; - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static SignRequest create() => SignRequest._(); - SignRequest createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); - @$core.pragma('dart2js:noInline') - static SignRequest getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); - static SignRequest? _defaultInstance; - - @$pb.TagNumber(1) - $core.String get message => $_getSZ(0); - @$pb.TagNumber(1) - set message($core.String v) { - $_setString(0, v); - } - - @$pb.TagNumber(1) - $core.bool hasMessage() => $_has(0); - @$pb.TagNumber(1) - void clearMessage() => clearField(1); - - @$pb.TagNumber(3) - $core.String get publicKey => $_getSZ(1); - @$pb.TagNumber(3) - set publicKey($core.String v) { - $_setString(1, v); - } - - @$pb.TagNumber(3) - $core.bool hasPublicKey() => $_has(1); - @$pb.TagNumber(3) - void clearPublicKey() => clearField(3); - - @$pb.TagNumber(5) - $core.String get privateKey => $_getSZ(2); - @$pb.TagNumber(5) - set privateKey($core.String v) { - $_setString(2, v); - } - - @$pb.TagNumber(5) - $core.bool hasPrivateKey() => $_has(2); - @$pb.TagNumber(5) - void clearPrivateKey() => clearField(5); - - @$pb.TagNumber(7) - $core.String get passphrase => $_getSZ(3); - @$pb.TagNumber(7) - set passphrase($core.String v) { - $_setString(3, v); - } - - @$pb.TagNumber(7) - $core.bool hasPassphrase() => $_has(3); - @$pb.TagNumber(7) - void clearPassphrase() => clearField(7); - - @$pb.TagNumber(9) - KeyOptions get options => $_getN(4); - @$pb.TagNumber(9) - set options(KeyOptions v) { - setField(9, v); - } - - @$pb.TagNumber(9) - $core.bool hasOptions() => $_has(4); - @$pb.TagNumber(9) - void clearOptions() => clearField(9); - @$pb.TagNumber(9) - KeyOptions ensureOptions() => $_ensure(4); -} - -class SignBytesRequest extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo('SignBytesRequest', - package: const $pb.PackageName('model'), createEmptyInstance: create) - ..a<$core.List<$core.int>>(1, 'message', $pb.PbFieldType.OY) - ..aOS(3, 'publicKey', protoName: 'publicKey') - ..aOS(5, 'privateKey', protoName: 'privateKey') - ..aOS(7, 'passphrase') - ..aOM(9, 'options', subBuilder: KeyOptions.create) - ..hasRequiredFields = false; - - SignBytesRequest._() : super(); - factory SignBytesRequest() => create(); - factory SignBytesRequest.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory SignBytesRequest.fromJson($core.String i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromJson(i, r); - SignBytesRequest clone() => SignBytesRequest()..mergeFromMessage(this); - SignBytesRequest copyWith(void Function(SignBytesRequest) updates) => - super.copyWith((message) => updates(message as SignBytesRequest)) - as SignBytesRequest; - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static SignBytesRequest create() => SignBytesRequest._(); - SignBytesRequest createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static SignBytesRequest getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); - static SignBytesRequest? _defaultInstance; - - @$pb.TagNumber(1) - $core.List<$core.int> get message => $_getN(0); - @$pb.TagNumber(1) - set message($core.List<$core.int> v) { - $_setBytes(0, v); - } - - @$pb.TagNumber(1) - $core.bool hasMessage() => $_has(0); - @$pb.TagNumber(1) - void clearMessage() => clearField(1); - - @$pb.TagNumber(3) - $core.String get publicKey => $_getSZ(1); - @$pb.TagNumber(3) - set publicKey($core.String v) { - $_setString(1, v); - } - - @$pb.TagNumber(3) - $core.bool hasPublicKey() => $_has(1); - @$pb.TagNumber(3) - void clearPublicKey() => clearField(3); - - @$pb.TagNumber(5) - $core.String get privateKey => $_getSZ(2); - @$pb.TagNumber(5) - set privateKey($core.String v) { - $_setString(2, v); - } - - @$pb.TagNumber(5) - $core.bool hasPrivateKey() => $_has(2); - @$pb.TagNumber(5) - void clearPrivateKey() => clearField(5); - - @$pb.TagNumber(7) - $core.String get passphrase => $_getSZ(3); - @$pb.TagNumber(7) - set passphrase($core.String v) { - $_setString(3, v); - } - - @$pb.TagNumber(7) - $core.bool hasPassphrase() => $_has(3); - @$pb.TagNumber(7) - void clearPassphrase() => clearField(7); - - @$pb.TagNumber(9) - KeyOptions get options => $_getN(4); - @$pb.TagNumber(9) - set options(KeyOptions v) { - setField(9, v); - } - - @$pb.TagNumber(9) - $core.bool hasOptions() => $_has(4); - @$pb.TagNumber(9) - void clearOptions() => clearField(9); - @$pb.TagNumber(9) - KeyOptions ensureOptions() => $_ensure(4); -} - -class VerifyRequest extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo('VerifyRequest', - package: const $pb.PackageName('model'), createEmptyInstance: create) - ..aOS(1, 'signature') - ..aOS(3, 'message') - ..aOS(5, 'publicKey', protoName: 'publicKey') - ..hasRequiredFields = false; - - VerifyRequest._() : super(); - factory VerifyRequest() => create(); - factory VerifyRequest.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory VerifyRequest.fromJson($core.String i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromJson(i, r); - VerifyRequest clone() => VerifyRequest()..mergeFromMessage(this); - VerifyRequest copyWith(void Function(VerifyRequest) updates) => - super.copyWith((message) => updates(message as VerifyRequest)) - as VerifyRequest; - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static VerifyRequest create() => VerifyRequest._(); - VerifyRequest createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static VerifyRequest getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); - static VerifyRequest? _defaultInstance; - - @$pb.TagNumber(1) - $core.String get signature => $_getSZ(0); - @$pb.TagNumber(1) - set signature($core.String v) { - $_setString(0, v); - } - - @$pb.TagNumber(1) - $core.bool hasSignature() => $_has(0); - @$pb.TagNumber(1) - void clearSignature() => clearField(1); - - @$pb.TagNumber(3) - $core.String get message => $_getSZ(1); - @$pb.TagNumber(3) - set message($core.String v) { - $_setString(1, v); - } - - @$pb.TagNumber(3) - $core.bool hasMessage() => $_has(1); - @$pb.TagNumber(3) - void clearMessage() => clearField(3); - - @$pb.TagNumber(5) - $core.String get publicKey => $_getSZ(2); - @$pb.TagNumber(5) - set publicKey($core.String v) { - $_setString(2, v); - } - - @$pb.TagNumber(5) - $core.bool hasPublicKey() => $_has(2); - @$pb.TagNumber(5) - void clearPublicKey() => clearField(5); -} - -class VerifyBytesRequest extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo('VerifyBytesRequest', - package: const $pb.PackageName('model'), createEmptyInstance: create) - ..aOS(1, 'signature') - ..a<$core.List<$core.int>>(3, 'message', $pb.PbFieldType.OY) - ..aOS(5, 'publicKey', protoName: 'publicKey') - ..hasRequiredFields = false; - - VerifyBytesRequest._() : super(); - factory VerifyBytesRequest() => create(); - factory VerifyBytesRequest.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory VerifyBytesRequest.fromJson($core.String i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromJson(i, r); - VerifyBytesRequest clone() => VerifyBytesRequest()..mergeFromMessage(this); - VerifyBytesRequest copyWith(void Function(VerifyBytesRequest) updates) => - super.copyWith((message) => updates(message as VerifyBytesRequest)) - as VerifyBytesRequest; - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static VerifyBytesRequest create() => VerifyBytesRequest._(); - VerifyBytesRequest createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static VerifyBytesRequest getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); - static VerifyBytesRequest? _defaultInstance; - - @$pb.TagNumber(1) - $core.String get signature => $_getSZ(0); - @$pb.TagNumber(1) - set signature($core.String v) { - $_setString(0, v); - } - - @$pb.TagNumber(1) - $core.bool hasSignature() => $_has(0); - @$pb.TagNumber(1) - void clearSignature() => clearField(1); - - @$pb.TagNumber(3) - $core.List<$core.int> get message => $_getN(1); - @$pb.TagNumber(3) - set message($core.List<$core.int> v) { - $_setBytes(1, v); - } - - @$pb.TagNumber(3) - $core.bool hasMessage() => $_has(1); - @$pb.TagNumber(3) - void clearMessage() => clearField(3); - - @$pb.TagNumber(5) - $core.String get publicKey => $_getSZ(2); - @$pb.TagNumber(5) - set publicKey($core.String v) { - $_setString(2, v); - } - - @$pb.TagNumber(5) - $core.bool hasPublicKey() => $_has(2); - @$pb.TagNumber(5) - void clearPublicKey() => clearField(5); -} - -class EncryptSymmetricRequest extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo('EncryptSymmetricRequest', - package: const $pb.PackageName('model'), createEmptyInstance: create) - ..aOS(1, 'message') - ..aOS(3, 'passphrase') - ..aOM(5, 'options', subBuilder: KeyOptions.create) - ..aOM(7, 'fileHints', - protoName: 'fileHints', subBuilder: FileHints.create) - ..hasRequiredFields = false; - - EncryptSymmetricRequest._() : super(); - factory EncryptSymmetricRequest() => create(); - factory EncryptSymmetricRequest.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory EncryptSymmetricRequest.fromJson($core.String i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromJson(i, r); - EncryptSymmetricRequest clone() => - EncryptSymmetricRequest()..mergeFromMessage(this); - EncryptSymmetricRequest copyWith( - void Function(EncryptSymmetricRequest) updates) => - super.copyWith((message) => updates(message as EncryptSymmetricRequest)) - as EncryptSymmetricRequest; - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static EncryptSymmetricRequest create() => EncryptSymmetricRequest._(); - EncryptSymmetricRequest createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static EncryptSymmetricRequest getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); - static EncryptSymmetricRequest? _defaultInstance; - - @$pb.TagNumber(1) - $core.String get message => $_getSZ(0); - @$pb.TagNumber(1) - set message($core.String v) { - $_setString(0, v); - } - - @$pb.TagNumber(1) - $core.bool hasMessage() => $_has(0); - @$pb.TagNumber(1) - void clearMessage() => clearField(1); - - @$pb.TagNumber(3) - $core.String get passphrase => $_getSZ(1); - @$pb.TagNumber(3) - set passphrase($core.String v) { - $_setString(1, v); - } - - @$pb.TagNumber(3) - $core.bool hasPassphrase() => $_has(1); - @$pb.TagNumber(3) - void clearPassphrase() => clearField(3); - - @$pb.TagNumber(5) - KeyOptions get options => $_getN(2); - @$pb.TagNumber(5) - set options(KeyOptions v) { - setField(5, v); - } - - @$pb.TagNumber(5) - $core.bool hasOptions() => $_has(2); - @$pb.TagNumber(5) - void clearOptions() => clearField(5); - @$pb.TagNumber(5) - KeyOptions ensureOptions() => $_ensure(2); - - @$pb.TagNumber(7) - FileHints get fileHints => $_getN(3); - @$pb.TagNumber(7) - set fileHints(FileHints v) { - setField(7, v); - } - - @$pb.TagNumber(7) - $core.bool hasFileHints() => $_has(3); - @$pb.TagNumber(7) - void clearFileHints() => clearField(7); - @$pb.TagNumber(7) - FileHints ensureFileHints() => $_ensure(3); -} - -class EncryptSymmetricBytesRequest extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - 'EncryptSymmetricBytesRequest', - package: const $pb.PackageName('model'), - createEmptyInstance: create) - ..a<$core.List<$core.int>>(1, 'message', $pb.PbFieldType.OY) - ..aOS(3, 'passphrase') - ..aOM(5, 'options', subBuilder: KeyOptions.create) - ..aOM(7, 'fileHints', - protoName: 'fileHints', subBuilder: FileHints.create) - ..hasRequiredFields = false; - - EncryptSymmetricBytesRequest._() : super(); - factory EncryptSymmetricBytesRequest() => create(); - factory EncryptSymmetricBytesRequest.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory EncryptSymmetricBytesRequest.fromJson($core.String i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromJson(i, r); - EncryptSymmetricBytesRequest clone() => - EncryptSymmetricBytesRequest()..mergeFromMessage(this); - EncryptSymmetricBytesRequest copyWith( - void Function(EncryptSymmetricBytesRequest) updates) => - super.copyWith( - (message) => updates(message as EncryptSymmetricBytesRequest)) - as EncryptSymmetricBytesRequest; - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static EncryptSymmetricBytesRequest create() => - EncryptSymmetricBytesRequest._(); - EncryptSymmetricBytesRequest createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static EncryptSymmetricBytesRequest getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); - static EncryptSymmetricBytesRequest? _defaultInstance; - - @$pb.TagNumber(1) - $core.List<$core.int> get message => $_getN(0); - @$pb.TagNumber(1) - set message($core.List<$core.int> v) { - $_setBytes(0, v); - } - - @$pb.TagNumber(1) - $core.bool hasMessage() => $_has(0); - @$pb.TagNumber(1) - void clearMessage() => clearField(1); - - @$pb.TagNumber(3) - $core.String get passphrase => $_getSZ(1); - @$pb.TagNumber(3) - set passphrase($core.String v) { - $_setString(1, v); - } - - @$pb.TagNumber(3) - $core.bool hasPassphrase() => $_has(1); - @$pb.TagNumber(3) - void clearPassphrase() => clearField(3); - - @$pb.TagNumber(5) - KeyOptions get options => $_getN(2); - @$pb.TagNumber(5) - set options(KeyOptions v) { - setField(5, v); - } - - @$pb.TagNumber(5) - $core.bool hasOptions() => $_has(2); - @$pb.TagNumber(5) - void clearOptions() => clearField(5); - @$pb.TagNumber(5) - KeyOptions ensureOptions() => $_ensure(2); - - @$pb.TagNumber(7) - FileHints get fileHints => $_getN(3); - @$pb.TagNumber(7) - set fileHints(FileHints v) { - setField(7, v); - } - - @$pb.TagNumber(7) - $core.bool hasFileHints() => $_has(3); - @$pb.TagNumber(7) - void clearFileHints() => clearField(7); - @$pb.TagNumber(7) - FileHints ensureFileHints() => $_ensure(3); -} - -class DecryptSymmetricRequest extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo('DecryptSymmetricRequest', - package: const $pb.PackageName('model'), createEmptyInstance: create) - ..aOS(1, 'message') - ..aOS(3, 'passphrase') - ..aOM(5, 'options', subBuilder: KeyOptions.create) - ..hasRequiredFields = false; - - DecryptSymmetricRequest._() : super(); - factory DecryptSymmetricRequest() => create(); - factory DecryptSymmetricRequest.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory DecryptSymmetricRequest.fromJson($core.String i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromJson(i, r); - DecryptSymmetricRequest clone() => - DecryptSymmetricRequest()..mergeFromMessage(this); - DecryptSymmetricRequest copyWith( - void Function(DecryptSymmetricRequest) updates) => - super.copyWith((message) => updates(message as DecryptSymmetricRequest)) - as DecryptSymmetricRequest; - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static DecryptSymmetricRequest create() => DecryptSymmetricRequest._(); - DecryptSymmetricRequest createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static DecryptSymmetricRequest getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); - static DecryptSymmetricRequest? _defaultInstance; - - @$pb.TagNumber(1) - $core.String get message => $_getSZ(0); - @$pb.TagNumber(1) - set message($core.String v) { - $_setString(0, v); - } - - @$pb.TagNumber(1) - $core.bool hasMessage() => $_has(0); - @$pb.TagNumber(1) - void clearMessage() => clearField(1); - - @$pb.TagNumber(3) - $core.String get passphrase => $_getSZ(1); - @$pb.TagNumber(3) - set passphrase($core.String v) { - $_setString(1, v); - } - - @$pb.TagNumber(3) - $core.bool hasPassphrase() => $_has(1); - @$pb.TagNumber(3) - void clearPassphrase() => clearField(3); - - @$pb.TagNumber(5) - KeyOptions get options => $_getN(2); - @$pb.TagNumber(5) - set options(KeyOptions v) { - setField(5, v); - } - - @$pb.TagNumber(5) - $core.bool hasOptions() => $_has(2); - @$pb.TagNumber(5) - void clearOptions() => clearField(5); - @$pb.TagNumber(5) - KeyOptions ensureOptions() => $_ensure(2); -} - -class DecryptSymmetricBytesRequest extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - 'DecryptSymmetricBytesRequest', - package: const $pb.PackageName('model'), - createEmptyInstance: create) - ..a<$core.List<$core.int>>(1, 'message', $pb.PbFieldType.OY) - ..aOS(3, 'passphrase') - ..aOM(5, 'options', subBuilder: KeyOptions.create) - ..hasRequiredFields = false; - - DecryptSymmetricBytesRequest._() : super(); - factory DecryptSymmetricBytesRequest() => create(); - factory DecryptSymmetricBytesRequest.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory DecryptSymmetricBytesRequest.fromJson($core.String i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromJson(i, r); - DecryptSymmetricBytesRequest clone() => - DecryptSymmetricBytesRequest()..mergeFromMessage(this); - DecryptSymmetricBytesRequest copyWith( - void Function(DecryptSymmetricBytesRequest) updates) => - super.copyWith( - (message) => updates(message as DecryptSymmetricBytesRequest)) - as DecryptSymmetricBytesRequest; - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static DecryptSymmetricBytesRequest create() => - DecryptSymmetricBytesRequest._(); - DecryptSymmetricBytesRequest createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static DecryptSymmetricBytesRequest getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); - static DecryptSymmetricBytesRequest? _defaultInstance; - - @$pb.TagNumber(1) - $core.List<$core.int> get message => $_getN(0); - @$pb.TagNumber(1) - set message($core.List<$core.int> v) { - $_setBytes(0, v); - } - - @$pb.TagNumber(1) - $core.bool hasMessage() => $_has(0); - @$pb.TagNumber(1) - void clearMessage() => clearField(1); - - @$pb.TagNumber(3) - $core.String get passphrase => $_getSZ(1); - @$pb.TagNumber(3) - set passphrase($core.String v) { - $_setString(1, v); - } - - @$pb.TagNumber(3) - $core.bool hasPassphrase() => $_has(1); - @$pb.TagNumber(3) - void clearPassphrase() => clearField(3); - - @$pb.TagNumber(5) - KeyOptions get options => $_getN(2); - @$pb.TagNumber(5) - set options(KeyOptions v) { - setField(5, v); - } - - @$pb.TagNumber(5) - $core.bool hasOptions() => $_has(2); - @$pb.TagNumber(5) - void clearOptions() => clearField(5); - @$pb.TagNumber(5) - KeyOptions ensureOptions() => $_ensure(2); -} - -class GenerateRequest extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo('GenerateRequest', - package: const $pb.PackageName('model'), createEmptyInstance: create) - ..aOM(5, 'options', subBuilder: Options.create) - ..hasRequiredFields = false; - - GenerateRequest._() : super(); - factory GenerateRequest() => create(); - factory GenerateRequest.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory GenerateRequest.fromJson($core.String i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromJson(i, r); - GenerateRequest clone() => GenerateRequest()..mergeFromMessage(this); - GenerateRequest copyWith(void Function(GenerateRequest) updates) => - super.copyWith((message) => updates(message as GenerateRequest)) - as GenerateRequest; - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static GenerateRequest create() => GenerateRequest._(); - GenerateRequest createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static GenerateRequest getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); - static GenerateRequest? _defaultInstance; - - @$pb.TagNumber(5) - Options get options => $_getN(0); - @$pb.TagNumber(5) - set options(Options v) { - setField(5, v); - } - - @$pb.TagNumber(5) - $core.bool hasOptions() => $_has(0); - @$pb.TagNumber(5) - void clearOptions() => clearField(5); - @$pb.TagNumber(5) - Options ensureOptions() => $_ensure(0); -} - -class KeyOptions extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo('KeyOptions', - package: const $pb.PackageName('model'), createEmptyInstance: create) - ..e(1, 'hash', $pb.PbFieldType.OE, - defaultOrMaker: Hash.HASH_UNSPECIFIED, - valueOf: Hash.valueOf, - enumValues: Hash.values) - ..e(3, 'cipher', $pb.PbFieldType.OE, - defaultOrMaker: Cipher.CIPHER_UNSPECIFIED, - valueOf: Cipher.valueOf, - enumValues: Cipher.values) - ..e(5, 'compression', $pb.PbFieldType.OE, - defaultOrMaker: Compression.COMPRESSION_UNSPECIFIED, - valueOf: Compression.valueOf, - enumValues: Compression.values) - ..a<$core.int>(7, 'compressionLevel', $pb.PbFieldType.O3, - protoName: 'compressionLevel') - ..a<$core.int>(9, 'rsaBits', $pb.PbFieldType.O3, protoName: 'rsaBits') - ..hasRequiredFields = false; - - KeyOptions._() : super(); - factory KeyOptions() => create(); - factory KeyOptions.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory KeyOptions.fromJson($core.String i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromJson(i, r); - KeyOptions clone() => KeyOptions()..mergeFromMessage(this); - KeyOptions copyWith(void Function(KeyOptions) updates) => - super.copyWith((message) => updates(message as KeyOptions)) as KeyOptions; - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static KeyOptions create() => KeyOptions._(); - KeyOptions createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); - @$core.pragma('dart2js:noInline') - static KeyOptions getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); - static KeyOptions? _defaultInstance; - - @$pb.TagNumber(1) - Hash get hash => $_getN(0); - @$pb.TagNumber(1) - set hash(Hash v) { - setField(1, v); - } - - @$pb.TagNumber(1) - $core.bool hasHash() => $_has(0); - @$pb.TagNumber(1) - void clearHash() => clearField(1); - - @$pb.TagNumber(3) - Cipher get cipher => $_getN(1); - @$pb.TagNumber(3) - set cipher(Cipher v) { - setField(3, v); - } - - @$pb.TagNumber(3) - $core.bool hasCipher() => $_has(1); - @$pb.TagNumber(3) - void clearCipher() => clearField(3); - - @$pb.TagNumber(5) - Compression get compression => $_getN(2); - @$pb.TagNumber(5) - set compression(Compression v) { - setField(5, v); - } - - @$pb.TagNumber(5) - $core.bool hasCompression() => $_has(2); - @$pb.TagNumber(5) - void clearCompression() => clearField(5); - - @$pb.TagNumber(7) - $core.int get compressionLevel => $_getIZ(3); - @$pb.TagNumber(7) - set compressionLevel($core.int v) { - $_setSignedInt32(3, v); - } - - @$pb.TagNumber(7) - $core.bool hasCompressionLevel() => $_has(3); - @$pb.TagNumber(7) - void clearCompressionLevel() => clearField(7); - - @$pb.TagNumber(9) - $core.int get rsaBits => $_getIZ(4); - @$pb.TagNumber(9) - set rsaBits($core.int v) { - $_setSignedInt32(4, v); - } - - @$pb.TagNumber(9) - $core.bool hasRsaBits() => $_has(4); - @$pb.TagNumber(9) - void clearRsaBits() => clearField(9); -} - -class Options extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo('Options', - package: const $pb.PackageName('model'), createEmptyInstance: create) - ..aOS(1, 'name') - ..aOS(3, 'comment') - ..aOS(5, 'email') - ..aOS(7, 'passphrase') - ..aOM(9, 'keyOptions', - protoName: 'keyOptions', subBuilder: KeyOptions.create) - ..hasRequiredFields = false; - - Options._() : super(); - factory Options() => create(); - factory Options.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory Options.fromJson($core.String i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromJson(i, r); - Options clone() => Options()..mergeFromMessage(this); - Options copyWith(void Function(Options) updates) => - super.copyWith((message) => updates(message as Options)) as Options; - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static Options create() => Options._(); - Options createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); - @$core.pragma('dart2js:noInline') - static Options getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); - static Options? _defaultInstance; - - @$pb.TagNumber(1) - $core.String get name => $_getSZ(0); - @$pb.TagNumber(1) - set name($core.String v) { - $_setString(0, v); - } - - @$pb.TagNumber(1) - $core.bool hasName() => $_has(0); - @$pb.TagNumber(1) - void clearName() => clearField(1); - - @$pb.TagNumber(3) - $core.String get comment => $_getSZ(1); - @$pb.TagNumber(3) - set comment($core.String v) { - $_setString(1, v); - } - - @$pb.TagNumber(3) - $core.bool hasComment() => $_has(1); - @$pb.TagNumber(3) - void clearComment() => clearField(3); - - @$pb.TagNumber(5) - $core.String get email => $_getSZ(2); - @$pb.TagNumber(5) - set email($core.String v) { - $_setString(2, v); - } - - @$pb.TagNumber(5) - $core.bool hasEmail() => $_has(2); - @$pb.TagNumber(5) - void clearEmail() => clearField(5); - - @$pb.TagNumber(7) - $core.String get passphrase => $_getSZ(3); - @$pb.TagNumber(7) - set passphrase($core.String v) { - $_setString(3, v); - } - - @$pb.TagNumber(7) - $core.bool hasPassphrase() => $_has(3); - @$pb.TagNumber(7) - void clearPassphrase() => clearField(7); - - @$pb.TagNumber(9) - KeyOptions get keyOptions => $_getN(4); - @$pb.TagNumber(9) - set keyOptions(KeyOptions v) { - setField(9, v); - } - - @$pb.TagNumber(9) - $core.bool hasKeyOptions() => $_has(4); - @$pb.TagNumber(9) - void clearKeyOptions() => clearField(9); - @$pb.TagNumber(9) - KeyOptions ensureKeyOptions() => $_ensure(4); -} - -class FileHints extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo('FileHints', - package: const $pb.PackageName('model'), createEmptyInstance: create) - ..aOB(1, 'isBinary', protoName: 'isBinary') - ..aOS(3, 'fileName', protoName: 'fileName') - ..aOS(5, 'modTime', protoName: 'modTime') - ..hasRequiredFields = false; - - FileHints._() : super(); - factory FileHints() => create(); - factory FileHints.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory FileHints.fromJson($core.String i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromJson(i, r); - FileHints clone() => FileHints()..mergeFromMessage(this); - FileHints copyWith(void Function(FileHints) updates) => - super.copyWith((message) => updates(message as FileHints)) as FileHints; - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static FileHints create() => FileHints._(); - FileHints createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); - @$core.pragma('dart2js:noInline') - static FileHints getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); - static FileHints? _defaultInstance; - - @$pb.TagNumber(1) - $core.bool get isBinary => $_getBF(0); - @$pb.TagNumber(1) - set isBinary($core.bool v) { - $_setBool(0, v); - } - - @$pb.TagNumber(1) - $core.bool hasIsBinary() => $_has(0); - @$pb.TagNumber(1) - void clearIsBinary() => clearField(1); - - @$pb.TagNumber(3) - $core.String get fileName => $_getSZ(1); - @$pb.TagNumber(3) - set fileName($core.String v) { - $_setString(1, v); - } - - @$pb.TagNumber(3) - $core.bool hasFileName() => $_has(1); - @$pb.TagNumber(3) - void clearFileName() => clearField(3); - - @$pb.TagNumber(5) - $core.String get modTime => $_getSZ(2); - @$pb.TagNumber(5) - set modTime($core.String v) { - $_setString(2, v); - } - - @$pb.TagNumber(5) - $core.bool hasModTime() => $_has(2); - @$pb.TagNumber(5) - void clearModTime() => clearField(5); -} - -class Entity extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo('Entity', - package: const $pb.PackageName('model'), createEmptyInstance: create) - ..aOS(1, 'publicKey', protoName: 'publicKey') - ..aOS(3, 'privateKey', protoName: 'privateKey') - ..aOS(5, 'passphrase') - ..hasRequiredFields = false; - - Entity._() : super(); - factory Entity() => create(); - factory Entity.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory Entity.fromJson($core.String i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromJson(i, r); - Entity clone() => Entity()..mergeFromMessage(this); - Entity copyWith(void Function(Entity) updates) => - super.copyWith((message) => updates(message as Entity)) as Entity; - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static Entity create() => Entity._(); - Entity createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); - @$core.pragma('dart2js:noInline') - static Entity getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); - static Entity? _defaultInstance; - - @$pb.TagNumber(1) - $core.String get publicKey => $_getSZ(0); - @$pb.TagNumber(1) - set publicKey($core.String v) { - $_setString(0, v); - } - - @$pb.TagNumber(1) - $core.bool hasPublicKey() => $_has(0); - @$pb.TagNumber(1) - void clearPublicKey() => clearField(1); - - @$pb.TagNumber(3) - $core.String get privateKey => $_getSZ(1); - @$pb.TagNumber(3) - set privateKey($core.String v) { - $_setString(1, v); - } - - @$pb.TagNumber(3) - $core.bool hasPrivateKey() => $_has(1); - @$pb.TagNumber(3) - void clearPrivateKey() => clearField(3); - - @$pb.TagNumber(5) - $core.String get passphrase => $_getSZ(2); - @$pb.TagNumber(5) - set passphrase($core.String v) { - $_setString(2, v); - } - - @$pb.TagNumber(5) - $core.bool hasPassphrase() => $_has(2); - @$pb.TagNumber(5) - void clearPassphrase() => clearField(5); -} - -class StringResponse extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo('StringResponse', - package: const $pb.PackageName('model'), createEmptyInstance: create) - ..aOS(1, 'output') - ..aOS(3, 'error') - ..hasRequiredFields = false; - - StringResponse._() : super(); - factory StringResponse() => create(); - factory StringResponse.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory StringResponse.fromJson($core.String i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromJson(i, r); - StringResponse clone() => StringResponse()..mergeFromMessage(this); - StringResponse copyWith(void Function(StringResponse) updates) => - super.copyWith((message) => updates(message as StringResponse)) - as StringResponse; - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static StringResponse create() => StringResponse._(); - StringResponse createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static StringResponse getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); - static StringResponse? _defaultInstance; - - @$pb.TagNumber(1) - $core.String get output => $_getSZ(0); - @$pb.TagNumber(1) - set output($core.String v) { - $_setString(0, v); - } - - @$pb.TagNumber(1) - $core.bool hasOutput() => $_has(0); - @$pb.TagNumber(1) - void clearOutput() => clearField(1); - - @$pb.TagNumber(3) - $core.String get error => $_getSZ(1); - @$pb.TagNumber(3) - set error($core.String v) { - $_setString(1, v); - } - - @$pb.TagNumber(3) - $core.bool hasError() => $_has(1); - @$pb.TagNumber(3) - void clearError() => clearField(3); -} - -class BytesResponse extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo('BytesResponse', - package: const $pb.PackageName('model'), createEmptyInstance: create) - ..a<$core.List<$core.int>>(1, 'output', $pb.PbFieldType.OY) - ..aOS(3, 'error') - ..hasRequiredFields = false; - - BytesResponse._() : super(); - factory BytesResponse() => create(); - factory BytesResponse.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory BytesResponse.fromJson($core.String i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromJson(i, r); - BytesResponse clone() => BytesResponse()..mergeFromMessage(this); - BytesResponse copyWith(void Function(BytesResponse) updates) => - super.copyWith((message) => updates(message as BytesResponse)) - as BytesResponse; - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static BytesResponse create() => BytesResponse._(); - BytesResponse createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static BytesResponse getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); - static BytesResponse? _defaultInstance; - - @$pb.TagNumber(1) - $core.List<$core.int> get output => $_getN(0); - @$pb.TagNumber(1) - set output($core.List<$core.int> v) { - $_setBytes(0, v); - } - - @$pb.TagNumber(1) - $core.bool hasOutput() => $_has(0); - @$pb.TagNumber(1) - void clearOutput() => clearField(1); - - @$pb.TagNumber(3) - $core.String get error => $_getSZ(1); - @$pb.TagNumber(3) - set error($core.String v) { - $_setString(1, v); - } - - @$pb.TagNumber(3) - $core.bool hasError() => $_has(1); - @$pb.TagNumber(3) - void clearError() => clearField(3); -} - -class BoolResponse extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo('BoolResponse', - package: const $pb.PackageName('model'), createEmptyInstance: create) - ..aOB(1, 'output') - ..aOS(3, 'error') - ..hasRequiredFields = false; - - BoolResponse._() : super(); - factory BoolResponse() => create(); - factory BoolResponse.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory BoolResponse.fromJson($core.String i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromJson(i, r); - BoolResponse clone() => BoolResponse()..mergeFromMessage(this); - BoolResponse copyWith(void Function(BoolResponse) updates) => - super.copyWith((message) => updates(message as BoolResponse)) - as BoolResponse; - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static BoolResponse create() => BoolResponse._(); - BoolResponse createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static BoolResponse getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); - static BoolResponse? _defaultInstance; - - @$pb.TagNumber(1) - $core.bool get output => $_getBF(0); - @$pb.TagNumber(1) - set output($core.bool v) { - $_setBool(0, v); - } - - @$pb.TagNumber(1) - $core.bool hasOutput() => $_has(0); - @$pb.TagNumber(1) - void clearOutput() => clearField(1); - - @$pb.TagNumber(3) - $core.String get error => $_getSZ(1); - @$pb.TagNumber(3) - set error($core.String v) { - $_setString(1, v); - } - - @$pb.TagNumber(3) - $core.bool hasError() => $_has(1); - @$pb.TagNumber(3) - void clearError() => clearField(3); -} - -class KeyPairResponse extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo('KeyPairResponse', - package: const $pb.PackageName('model'), createEmptyInstance: create) - ..aOM(1, 'output', subBuilder: KeyPair.create) - ..aOS(3, 'error') - ..hasRequiredFields = false; - - KeyPairResponse._() : super(); - factory KeyPairResponse() => create(); - factory KeyPairResponse.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory KeyPairResponse.fromJson($core.String i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromJson(i, r); - KeyPairResponse clone() => KeyPairResponse()..mergeFromMessage(this); - KeyPairResponse copyWith(void Function(KeyPairResponse) updates) => - super.copyWith((message) => updates(message as KeyPairResponse)) - as KeyPairResponse; - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static KeyPairResponse create() => KeyPairResponse._(); - KeyPairResponse createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static KeyPairResponse getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); - static KeyPairResponse? _defaultInstance; - - @$pb.TagNumber(1) - KeyPair get output => $_getN(0); - @$pb.TagNumber(1) - set output(KeyPair v) { - setField(1, v); - } - - @$pb.TagNumber(1) - $core.bool hasOutput() => $_has(0); - @$pb.TagNumber(1) - void clearOutput() => clearField(1); - @$pb.TagNumber(1) - KeyPair ensureOutput() => $_ensure(0); - - @$pb.TagNumber(3) - $core.String get error => $_getSZ(1); - @$pb.TagNumber(3) - set error($core.String v) { - $_setString(1, v); - } - - @$pb.TagNumber(3) - $core.bool hasError() => $_has(1); - @$pb.TagNumber(3) - void clearError() => clearField(3); -} - -class KeyPair extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo('KeyPair', - package: const $pb.PackageName('model'), createEmptyInstance: create) - ..aOS(1, 'publicKey', protoName: 'publicKey') - ..aOS(3, 'privateKey', protoName: 'privateKey') - ..hasRequiredFields = false; - - KeyPair._() : super(); - factory KeyPair() => create(); - factory KeyPair.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory KeyPair.fromJson($core.String i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromJson(i, r); - KeyPair clone() => KeyPair()..mergeFromMessage(this); - KeyPair copyWith(void Function(KeyPair) updates) => - super.copyWith((message) => updates(message as KeyPair)) as KeyPair; - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static KeyPair create() => KeyPair._(); - KeyPair createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); - @$core.pragma('dart2js:noInline') - static KeyPair getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); - static KeyPair? _defaultInstance; - - @$pb.TagNumber(1) - $core.String get publicKey => $_getSZ(0); - @$pb.TagNumber(1) - set publicKey($core.String v) { - $_setString(0, v); - } - - @$pb.TagNumber(1) - $core.bool hasPublicKey() => $_has(0); - @$pb.TagNumber(1) - void clearPublicKey() => clearField(1); - - @$pb.TagNumber(3) - $core.String get privateKey => $_getSZ(1); - @$pb.TagNumber(3) - set privateKey($core.String v) { - $_setString(1, v); - } - - @$pb.TagNumber(3) - $core.bool hasPrivateKey() => $_has(1); - @$pb.TagNumber(3) - void clearPrivateKey() => clearField(3); -} - -class PublicKeyMetadata extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo('PublicKeyMetadata', - package: const $pb.PackageName('model'), createEmptyInstance: create) - ..aOS(1, 'keyID', protoName: 'keyID') - ..aOS(3, 'keyIDShort', protoName: 'keyIDShort') - ..aOS(5, 'creationTime', protoName: 'creationTime') - ..aOS(7, 'fingerprint') - ..aOS(9, 'keyIDNumeric', protoName: 'keyIDNumeric') - ..aOB(11, 'isSubKey', protoName: 'isSubKey') - ..hasRequiredFields = false; - - PublicKeyMetadata._() : super(); - factory PublicKeyMetadata() => create(); - factory PublicKeyMetadata.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory PublicKeyMetadata.fromJson($core.String i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromJson(i, r); - PublicKeyMetadata clone() => PublicKeyMetadata()..mergeFromMessage(this); - PublicKeyMetadata copyWith(void Function(PublicKeyMetadata) updates) => - super.copyWith((message) => updates(message as PublicKeyMetadata)) - as PublicKeyMetadata; - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static PublicKeyMetadata create() => PublicKeyMetadata._(); - PublicKeyMetadata createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static PublicKeyMetadata getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); - static PublicKeyMetadata? _defaultInstance; - - @$pb.TagNumber(1) - $core.String get keyID => $_getSZ(0); - @$pb.TagNumber(1) - set keyID($core.String v) { - $_setString(0, v); - } - - @$pb.TagNumber(1) - $core.bool hasKeyID() => $_has(0); - @$pb.TagNumber(1) - void clearKeyID() => clearField(1); - - @$pb.TagNumber(3) - $core.String get keyIDShort => $_getSZ(1); - @$pb.TagNumber(3) - set keyIDShort($core.String v) { - $_setString(1, v); - } - - @$pb.TagNumber(3) - $core.bool hasKeyIDShort() => $_has(1); - @$pb.TagNumber(3) - void clearKeyIDShort() => clearField(3); - - @$pb.TagNumber(5) - $core.String get creationTime => $_getSZ(2); - @$pb.TagNumber(5) - set creationTime($core.String v) { - $_setString(2, v); - } - - @$pb.TagNumber(5) - $core.bool hasCreationTime() => $_has(2); - @$pb.TagNumber(5) - void clearCreationTime() => clearField(5); - - @$pb.TagNumber(7) - $core.String get fingerprint => $_getSZ(3); - @$pb.TagNumber(7) - set fingerprint($core.String v) { - $_setString(3, v); - } - - @$pb.TagNumber(7) - $core.bool hasFingerprint() => $_has(3); - @$pb.TagNumber(7) - void clearFingerprint() => clearField(7); - - @$pb.TagNumber(9) - $core.String get keyIDNumeric => $_getSZ(4); - @$pb.TagNumber(9) - set keyIDNumeric($core.String v) { - $_setString(4, v); - } - - @$pb.TagNumber(9) - $core.bool hasKeyIDNumeric() => $_has(4); - @$pb.TagNumber(9) - void clearKeyIDNumeric() => clearField(9); - - @$pb.TagNumber(11) - $core.bool get isSubKey => $_getBF(5); - @$pb.TagNumber(11) - set isSubKey($core.bool v) { - $_setBool(5, v); - } - - @$pb.TagNumber(11) - $core.bool hasIsSubKey() => $_has(5); - @$pb.TagNumber(11) - void clearIsSubKey() => clearField(11); -} - -class PrivateKeyMetadata extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo('PrivateKeyMetadata', - package: const $pb.PackageName('model'), createEmptyInstance: create) - ..aOS(1, 'keyID', protoName: 'keyID') - ..aOS(3, 'keyIDShort', protoName: 'keyIDShort') - ..aOS(5, 'creationTime', protoName: 'creationTime') - ..aOS(7, 'fingerprint') - ..aOS(9, 'keyIDNumeric', protoName: 'keyIDNumeric') - ..aOB(11, 'isSubKey', protoName: 'isSubKey') - ..aOB(13, 'encrypted') - ..hasRequiredFields = false; - - PrivateKeyMetadata._() : super(); - factory PrivateKeyMetadata() => create(); - factory PrivateKeyMetadata.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory PrivateKeyMetadata.fromJson($core.String i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromJson(i, r); - PrivateKeyMetadata clone() => PrivateKeyMetadata()..mergeFromMessage(this); - PrivateKeyMetadata copyWith(void Function(PrivateKeyMetadata) updates) => - super.copyWith((message) => updates(message as PrivateKeyMetadata)) - as PrivateKeyMetadata; - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static PrivateKeyMetadata create() => PrivateKeyMetadata._(); - PrivateKeyMetadata createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static PrivateKeyMetadata getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); - static PrivateKeyMetadata? _defaultInstance; - - @$pb.TagNumber(1) - $core.String get keyID => $_getSZ(0); - @$pb.TagNumber(1) - set keyID($core.String v) { - $_setString(0, v); - } - - @$pb.TagNumber(1) - $core.bool hasKeyID() => $_has(0); - @$pb.TagNumber(1) - void clearKeyID() => clearField(1); - - @$pb.TagNumber(3) - $core.String get keyIDShort => $_getSZ(1); - @$pb.TagNumber(3) - set keyIDShort($core.String v) { - $_setString(1, v); - } - - @$pb.TagNumber(3) - $core.bool hasKeyIDShort() => $_has(1); - @$pb.TagNumber(3) - void clearKeyIDShort() => clearField(3); - - @$pb.TagNumber(5) - $core.String get creationTime => $_getSZ(2); - @$pb.TagNumber(5) - set creationTime($core.String v) { - $_setString(2, v); - } - - @$pb.TagNumber(5) - $core.bool hasCreationTime() => $_has(2); - @$pb.TagNumber(5) - void clearCreationTime() => clearField(5); - - @$pb.TagNumber(7) - $core.String get fingerprint => $_getSZ(3); - @$pb.TagNumber(7) - set fingerprint($core.String v) { - $_setString(3, v); - } - - @$pb.TagNumber(7) - $core.bool hasFingerprint() => $_has(3); - @$pb.TagNumber(7) - void clearFingerprint() => clearField(7); - - @$pb.TagNumber(9) - $core.String get keyIDNumeric => $_getSZ(4); - @$pb.TagNumber(9) - set keyIDNumeric($core.String v) { - $_setString(4, v); - } - - @$pb.TagNumber(9) - $core.bool hasKeyIDNumeric() => $_has(4); - @$pb.TagNumber(9) - void clearKeyIDNumeric() => clearField(9); - - @$pb.TagNumber(11) - $core.bool get isSubKey => $_getBF(5); - @$pb.TagNumber(11) - set isSubKey($core.bool v) { - $_setBool(5, v); - } - - @$pb.TagNumber(11) - $core.bool hasIsSubKey() => $_has(5); - @$pb.TagNumber(11) - void clearIsSubKey() => clearField(11); - - @$pb.TagNumber(13) - $core.bool get encrypted => $_getBF(6); - @$pb.TagNumber(13) - set encrypted($core.bool v) { - $_setBool(6, v); - } - - @$pb.TagNumber(13) - $core.bool hasEncrypted() => $_has(6); - @$pb.TagNumber(13) - void clearEncrypted() => clearField(13); -} diff --git a/lib/model/bridge.pbenum.dart b/lib/model/bridge.pbenum.dart deleted file mode 100644 index 88546cb..0000000 --- a/lib/model/bridge.pbenum.dart +++ /dev/null @@ -1,76 +0,0 @@ -/// -// Generated code. Do not modify. -// source: bridge.proto -// - -// ignore_for_file: camel_case_types,non_constant_identifier_names,library_prefixes,unused_import,unused_shown_name,return_of_invalid_type - -// ignore_for_file: UNDEFINED_SHOWN_NAME,UNUSED_SHOWN_NAME -import 'dart:core' as $core; -import 'package:protobuf/protobuf.dart' as $pb; - -class Hash extends $pb.ProtobufEnum { - static const Hash HASH_UNSPECIFIED = Hash._(0, 'HASH_UNSPECIFIED'); - static const Hash HASH_SHA256 = Hash._(1, 'HASH_SHA256'); - static const Hash HASH_SHA224 = Hash._(2, 'HASH_SHA224'); - static const Hash HASH_SHA384 = Hash._(3, 'HASH_SHA384'); - static const Hash HASH_SHA512 = Hash._(4, 'HASH_SHA512'); - - static const $core.List values = [ - HASH_UNSPECIFIED, - HASH_SHA256, - HASH_SHA224, - HASH_SHA384, - HASH_SHA512, - ]; - - static final $core.Map<$core.int, Hash> _byValue = - $pb.ProtobufEnum.initByValue(values); - static Hash? valueOf($core.int value) => _byValue[value]; - - const Hash._($core.int v, $core.String n) : super(v, n); -} - -class Compression extends $pb.ProtobufEnum { - static const Compression COMPRESSION_UNSPECIFIED = - Compression._(0, 'COMPRESSION_UNSPECIFIED'); - static const Compression COMPRESSION_NONE = - Compression._(1, 'COMPRESSION_NONE'); - static const Compression COMPRESSION_ZLIB = - Compression._(2, 'COMPRESSION_ZLIB'); - static const Compression COMPRESSION_ZIP = - Compression._(3, 'COMPRESSION_ZIP'); - - static const $core.List values = [ - COMPRESSION_UNSPECIFIED, - COMPRESSION_NONE, - COMPRESSION_ZLIB, - COMPRESSION_ZIP, - ]; - - static final $core.Map<$core.int, Compression> _byValue = - $pb.ProtobufEnum.initByValue(values); - static Compression? valueOf($core.int value) => _byValue[value]; - - const Compression._($core.int v, $core.String n) : super(v, n); -} - -class Cipher extends $pb.ProtobufEnum { - static const Cipher CIPHER_UNSPECIFIED = Cipher._(0, 'CIPHER_UNSPECIFIED'); - static const Cipher CIPHER_AES128 = Cipher._(1, 'CIPHER_AES128'); - static const Cipher CIPHER_AES192 = Cipher._(2, 'CIPHER_AES192'); - static const Cipher CIPHER_AES256 = Cipher._(3, 'CIPHER_AES256'); - - static const $core.List values = [ - CIPHER_UNSPECIFIED, - CIPHER_AES128, - CIPHER_AES192, - CIPHER_AES256, - ]; - - static final $core.Map<$core.int, Cipher> _byValue = - $pb.ProtobufEnum.initByValue(values); - static Cipher? valueOf($core.int value) => _byValue[value]; - - const Cipher._($core.int v, $core.String n) : super(v, n); -} diff --git a/lib/model/bridge.pbjson.dart b/lib/model/bridge.pbjson.dart deleted file mode 100644 index 5acb609..0000000 --- a/lib/model/bridge.pbjson.dart +++ /dev/null @@ -1,429 +0,0 @@ -/// -// Generated code. Do not modify. -// source: bridge.proto -// - -// ignore_for_file: camel_case_types,non_constant_identifier_names,library_prefixes,unused_import,unused_shown_name,return_of_invalid_type - -const Hash$json = const { - '1': 'Hash', - '2': const [ - const {'1': 'HASH_UNSPECIFIED', '2': 0}, - const {'1': 'HASH_SHA256', '2': 1}, - const {'1': 'HASH_SHA224', '2': 2}, - const {'1': 'HASH_SHA384', '2': 3}, - const {'1': 'HASH_SHA512', '2': 4}, - ], -}; - -const Compression$json = const { - '1': 'Compression', - '2': const [ - const {'1': 'COMPRESSION_UNSPECIFIED', '2': 0}, - const {'1': 'COMPRESSION_NONE', '2': 1}, - const {'1': 'COMPRESSION_ZLIB', '2': 2}, - const {'1': 'COMPRESSION_ZIP', '2': 3}, - ], -}; - -const Cipher$json = const { - '1': 'Cipher', - '2': const [ - const {'1': 'CIPHER_UNSPECIFIED', '2': 0}, - const {'1': 'CIPHER_AES128', '2': 1}, - const {'1': 'CIPHER_AES192', '2': 2}, - const {'1': 'CIPHER_AES256', '2': 3}, - ], -}; - -const EncryptRequest$json = const { - '1': 'EncryptRequest', - '2': const [ - const {'1': 'message', '3': 1, '4': 1, '5': 9, '10': 'message'}, - const {'1': 'publicKey', '3': 3, '4': 1, '5': 9, '10': 'publicKey'}, - const { - '1': 'options', - '3': 5, - '4': 1, - '5': 11, - '6': '.model.KeyOptions', - '10': 'options' - }, - const { - '1': 'signed', - '3': 7, - '4': 1, - '5': 11, - '6': '.model.Entity', - '10': 'signed' - }, - const { - '1': 'fileHints', - '3': 9, - '4': 1, - '5': 11, - '6': '.model.FileHints', - '10': 'fileHints' - }, - ], -}; - -const EncryptBytesRequest$json = const { - '1': 'EncryptBytesRequest', - '2': const [ - const {'1': 'message', '3': 1, '4': 1, '5': 12, '10': 'message'}, - const {'1': 'publicKey', '3': 3, '4': 1, '5': 9, '10': 'publicKey'}, - const { - '1': 'options', - '3': 5, - '4': 1, - '5': 11, - '6': '.model.KeyOptions', - '10': 'options' - }, - const { - '1': 'signed', - '3': 7, - '4': 1, - '5': 11, - '6': '.model.Entity', - '10': 'signed' - }, - const { - '1': 'fileHints', - '3': 9, - '4': 1, - '5': 11, - '6': '.model.FileHints', - '10': 'fileHints' - }, - ], -}; - -const DecryptRequest$json = const { - '1': 'DecryptRequest', - '2': const [ - const {'1': 'message', '3': 1, '4': 1, '5': 9, '10': 'message'}, - const {'1': 'privateKey', '3': 3, '4': 1, '5': 9, '10': 'privateKey'}, - const {'1': 'passphrase', '3': 5, '4': 1, '5': 9, '10': 'passphrase'}, - const { - '1': 'options', - '3': 7, - '4': 1, - '5': 11, - '6': '.model.KeyOptions', - '10': 'options' - }, - ], -}; - -const DecryptBytesRequest$json = const { - '1': 'DecryptBytesRequest', - '2': const [ - const {'1': 'message', '3': 1, '4': 1, '5': 12, '10': 'message'}, - const {'1': 'privateKey', '3': 3, '4': 1, '5': 9, '10': 'privateKey'}, - const {'1': 'passphrase', '3': 5, '4': 1, '5': 9, '10': 'passphrase'}, - const { - '1': 'options', - '3': 7, - '4': 1, - '5': 11, - '6': '.model.KeyOptions', - '10': 'options' - }, - ], -}; - -const SignRequest$json = const { - '1': 'SignRequest', - '2': const [ - const {'1': 'message', '3': 1, '4': 1, '5': 9, '10': 'message'}, - const {'1': 'publicKey', '3': 3, '4': 1, '5': 9, '10': 'publicKey'}, - const {'1': 'privateKey', '3': 5, '4': 1, '5': 9, '10': 'privateKey'}, - const {'1': 'passphrase', '3': 7, '4': 1, '5': 9, '10': 'passphrase'}, - const { - '1': 'options', - '3': 9, - '4': 1, - '5': 11, - '6': '.model.KeyOptions', - '10': 'options' - }, - ], -}; - -const SignBytesRequest$json = const { - '1': 'SignBytesRequest', - '2': const [ - const {'1': 'message', '3': 1, '4': 1, '5': 12, '10': 'message'}, - const {'1': 'publicKey', '3': 3, '4': 1, '5': 9, '10': 'publicKey'}, - const {'1': 'privateKey', '3': 5, '4': 1, '5': 9, '10': 'privateKey'}, - const {'1': 'passphrase', '3': 7, '4': 1, '5': 9, '10': 'passphrase'}, - const { - '1': 'options', - '3': 9, - '4': 1, - '5': 11, - '6': '.model.KeyOptions', - '10': 'options' - }, - ], -}; - -const VerifyRequest$json = const { - '1': 'VerifyRequest', - '2': const [ - const {'1': 'signature', '3': 1, '4': 1, '5': 9, '10': 'signature'}, - const {'1': 'message', '3': 3, '4': 1, '5': 9, '10': 'message'}, - const {'1': 'publicKey', '3': 5, '4': 1, '5': 9, '10': 'publicKey'}, - ], -}; - -const VerifyBytesRequest$json = const { - '1': 'VerifyBytesRequest', - '2': const [ - const {'1': 'signature', '3': 1, '4': 1, '5': 9, '10': 'signature'}, - const {'1': 'message', '3': 3, '4': 1, '5': 12, '10': 'message'}, - const {'1': 'publicKey', '3': 5, '4': 1, '5': 9, '10': 'publicKey'}, - ], -}; - -const EncryptSymmetricRequest$json = const { - '1': 'EncryptSymmetricRequest', - '2': const [ - const {'1': 'message', '3': 1, '4': 1, '5': 9, '10': 'message'}, - const {'1': 'passphrase', '3': 3, '4': 1, '5': 9, '10': 'passphrase'}, - const { - '1': 'options', - '3': 5, - '4': 1, - '5': 11, - '6': '.model.KeyOptions', - '10': 'options' - }, - const { - '1': 'fileHints', - '3': 7, - '4': 1, - '5': 11, - '6': '.model.FileHints', - '10': 'fileHints' - }, - ], -}; - -const EncryptSymmetricBytesRequest$json = const { - '1': 'EncryptSymmetricBytesRequest', - '2': const [ - const {'1': 'message', '3': 1, '4': 1, '5': 12, '10': 'message'}, - const {'1': 'passphrase', '3': 3, '4': 1, '5': 9, '10': 'passphrase'}, - const { - '1': 'options', - '3': 5, - '4': 1, - '5': 11, - '6': '.model.KeyOptions', - '10': 'options' - }, - const { - '1': 'fileHints', - '3': 7, - '4': 1, - '5': 11, - '6': '.model.FileHints', - '10': 'fileHints' - }, - ], -}; - -const DecryptSymmetricRequest$json = const { - '1': 'DecryptSymmetricRequest', - '2': const [ - const {'1': 'message', '3': 1, '4': 1, '5': 9, '10': 'message'}, - const {'1': 'passphrase', '3': 3, '4': 1, '5': 9, '10': 'passphrase'}, - const { - '1': 'options', - '3': 5, - '4': 1, - '5': 11, - '6': '.model.KeyOptions', - '10': 'options' - }, - ], -}; - -const DecryptSymmetricBytesRequest$json = const { - '1': 'DecryptSymmetricBytesRequest', - '2': const [ - const {'1': 'message', '3': 1, '4': 1, '5': 12, '10': 'message'}, - const {'1': 'passphrase', '3': 3, '4': 1, '5': 9, '10': 'passphrase'}, - const { - '1': 'options', - '3': 5, - '4': 1, - '5': 11, - '6': '.model.KeyOptions', - '10': 'options' - }, - ], -}; - -const GenerateRequest$json = const { - '1': 'GenerateRequest', - '2': const [ - const { - '1': 'options', - '3': 5, - '4': 1, - '5': 11, - '6': '.model.Options', - '10': 'options' - }, - ], -}; - -const KeyOptions$json = const { - '1': 'KeyOptions', - '2': const [ - const { - '1': 'hash', - '3': 1, - '4': 1, - '5': 14, - '6': '.model.Hash', - '10': 'hash' - }, - const { - '1': 'cipher', - '3': 3, - '4': 1, - '5': 14, - '6': '.model.Cipher', - '10': 'cipher' - }, - const { - '1': 'compression', - '3': 5, - '4': 1, - '5': 14, - '6': '.model.Compression', - '10': 'compression' - }, - const { - '1': 'compressionLevel', - '3': 7, - '4': 1, - '5': 5, - '10': 'compressionLevel' - }, - const {'1': 'rsaBits', '3': 9, '4': 1, '5': 5, '10': 'rsaBits'}, - ], -}; - -const Options$json = const { - '1': 'Options', - '2': const [ - const {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, - const {'1': 'comment', '3': 3, '4': 1, '5': 9, '10': 'comment'}, - const {'1': 'email', '3': 5, '4': 1, '5': 9, '10': 'email'}, - const {'1': 'passphrase', '3': 7, '4': 1, '5': 9, '10': 'passphrase'}, - const { - '1': 'keyOptions', - '3': 9, - '4': 1, - '5': 11, - '6': '.model.KeyOptions', - '10': 'keyOptions' - }, - ], -}; - -const FileHints$json = const { - '1': 'FileHints', - '2': const [ - const {'1': 'isBinary', '3': 1, '4': 1, '5': 8, '10': 'isBinary'}, - const {'1': 'fileName', '3': 3, '4': 1, '5': 9, '10': 'fileName'}, - const {'1': 'modTime', '3': 5, '4': 1, '5': 9, '10': 'modTime'}, - ], -}; - -const Entity$json = const { - '1': 'Entity', - '2': const [ - const {'1': 'publicKey', '3': 1, '4': 1, '5': 9, '10': 'publicKey'}, - const {'1': 'privateKey', '3': 3, '4': 1, '5': 9, '10': 'privateKey'}, - const {'1': 'passphrase', '3': 5, '4': 1, '5': 9, '10': 'passphrase'}, - ], -}; - -const StringResponse$json = const { - '1': 'StringResponse', - '2': const [ - const {'1': 'output', '3': 1, '4': 1, '5': 9, '10': 'output'}, - const {'1': 'error', '3': 3, '4': 1, '5': 9, '10': 'error'}, - ], -}; - -const BytesResponse$json = const { - '1': 'BytesResponse', - '2': const [ - const {'1': 'output', '3': 1, '4': 1, '5': 12, '10': 'output'}, - const {'1': 'error', '3': 3, '4': 1, '5': 9, '10': 'error'}, - ], -}; - -const BoolResponse$json = const { - '1': 'BoolResponse', - '2': const [ - const {'1': 'output', '3': 1, '4': 1, '5': 8, '10': 'output'}, - const {'1': 'error', '3': 3, '4': 1, '5': 9, '10': 'error'}, - ], -}; - -const KeyPairResponse$json = const { - '1': 'KeyPairResponse', - '2': const [ - const { - '1': 'output', - '3': 1, - '4': 1, - '5': 11, - '6': '.model.KeyPair', - '10': 'output' - }, - const {'1': 'error', '3': 3, '4': 1, '5': 9, '10': 'error'}, - ], -}; - -const KeyPair$json = const { - '1': 'KeyPair', - '2': const [ - const {'1': 'publicKey', '3': 1, '4': 1, '5': 9, '10': 'publicKey'}, - const {'1': 'privateKey', '3': 3, '4': 1, '5': 9, '10': 'privateKey'}, - ], -}; - -const PublicKeyMetadata$json = const { - '1': 'PublicKeyMetadata', - '2': const [ - const {'1': 'keyID', '3': 1, '4': 1, '5': 9, '10': 'keyID'}, - const {'1': 'keyIDShort', '3': 3, '4': 1, '5': 9, '10': 'keyIDShort'}, - const {'1': 'creationTime', '3': 5, '4': 1, '5': 9, '10': 'creationTime'}, - const {'1': 'fingerprint', '3': 7, '4': 1, '5': 9, '10': 'fingerprint'}, - const {'1': 'keyIDNumeric', '3': 9, '4': 1, '5': 9, '10': 'keyIDNumeric'}, - const {'1': 'isSubKey', '3': 11, '4': 1, '5': 8, '10': 'isSubKey'}, - ], -}; - -const PrivateKeyMetadata$json = const { - '1': 'PrivateKeyMetadata', - '2': const [ - const {'1': 'keyID', '3': 1, '4': 1, '5': 9, '10': 'keyID'}, - const {'1': 'keyIDShort', '3': 3, '4': 1, '5': 9, '10': 'keyIDShort'}, - const {'1': 'creationTime', '3': 5, '4': 1, '5': 9, '10': 'creationTime'}, - const {'1': 'fingerprint', '3': 7, '4': 1, '5': 9, '10': 'fingerprint'}, - const {'1': 'keyIDNumeric', '3': 9, '4': 1, '5': 9, '10': 'keyIDNumeric'}, - const {'1': 'isSubKey', '3': 11, '4': 1, '5': 8, '10': 'isSubKey'}, - const {'1': 'encrypted', '3': 13, '4': 1, '5': 8, '10': 'encrypted'}, - ], -}; diff --git a/lib/model/bridge_model_generated.dart b/lib/model/bridge_model_generated.dart new file mode 100644 index 0000000..b948521 --- /dev/null +++ b/lib/model/bridge_model_generated.dart @@ -0,0 +1,2709 @@ +// automatically generated by the FlatBuffers compiler, do not modify +// ignore_for_file: unused_import, unused_field, unused_element, unused_local_variable + +library model; + +import 'dart:typed_data' show Uint8List; +import 'package:openpgp/flatbuffers/flat_buffers.dart' as fb; + +class Hash { + final int value; + const Hash._(this.value); + + factory Hash.fromValue(int value) { + final result = values[value]; + if (result == null) { + throw new StateError('Invalid value $value for bit flag enum Hash'); + } + return result; + } + + static Hash? _createOrNull(int? value) => + value == null ? null : Hash.fromValue(value); + + static const int minValue = 0; + static const int maxValue = 3; + static bool containsValue(int value) => values.containsKey(value); + + static const Hash SHA256 = const Hash._(0); + static const Hash SHA224 = const Hash._(1); + static const Hash SHA384 = const Hash._(2); + static const Hash SHA512 = const Hash._(3); + static const Map values = { + 0: SHA256, + 1: SHA224, + 2: SHA384, + 3: SHA512 + }; + + static const fb.Reader reader = const _HashReader(); + + @override + String toString() { + return 'Hash{value: $value}'; + } +} + +class _HashReader extends fb.Reader { + const _HashReader(); + + @override + int get size => 1; + + @override + Hash read(fb.BufferContext bc, int offset) => + new Hash.fromValue(const fb.Int32Reader().read(bc, offset)); +} + +class Compression { + final int value; + const Compression._(this.value); + + factory Compression.fromValue(int value) { + final result = values[value]; + if (result == null) { + throw new StateError( + 'Invalid value $value for bit flag enum Compression'); + } + return result; + } + + static Compression? _createOrNull(int? value) => + value == null ? null : Compression.fromValue(value); + + static const int minValue = 0; + static const int maxValue = 2; + static bool containsValue(int value) => values.containsKey(value); + + static const Compression NONE = const Compression._(0); + static const Compression ZLIB = const Compression._(1); + static const Compression ZIP = const Compression._(2); + static const Map values = {0: NONE, 1: ZLIB, 2: ZIP}; + + static const fb.Reader reader = const _CompressionReader(); + + @override + String toString() { + return 'Compression{value: $value}'; + } +} + +class _CompressionReader extends fb.Reader { + const _CompressionReader(); + + @override + int get size => 1; + + @override + Compression read(fb.BufferContext bc, int offset) => + new Compression.fromValue(const fb.Int32Reader().read(bc, offset)); +} + +class Cipher { + final int value; + const Cipher._(this.value); + + factory Cipher.fromValue(int value) { + final result = values[value]; + if (result == null) { + throw new StateError('Invalid value $value for bit flag enum Cipher'); + } + return result; + } + + static Cipher? _createOrNull(int? value) => + value == null ? null : Cipher.fromValue(value); + + static const int minValue = 0; + static const int maxValue = 2; + static bool containsValue(int value) => values.containsKey(value); + + static const Cipher AES128 = const Cipher._(0); + static const Cipher AES192 = const Cipher._(1); + static const Cipher AES256 = const Cipher._(2); + static const Map values = {0: AES128, 1: AES192, 2: AES256}; + + static const fb.Reader reader = const _CipherReader(); + + @override + String toString() { + return 'Cipher{value: $value}'; + } +} + +class _CipherReader extends fb.Reader { + const _CipherReader(); + + @override + int get size => 1; + + @override + Cipher read(fb.BufferContext bc, int offset) => + new Cipher.fromValue(const fb.Int32Reader().read(bc, offset)); +} + +class EncryptRequest { + EncryptRequest._(this._bc, this._bcOffset); + factory EncryptRequest(List bytes) { + fb.BufferContext rootRef = new fb.BufferContext.fromBytes(bytes); + return reader.read(rootRef, 0); + } + + static const fb.Reader reader = const _EncryptRequestReader(); + + final fb.BufferContext _bc; + final int _bcOffset; + + String? get message => + const fb.StringReader().vTableGetNullable(_bc, _bcOffset, 4); + String? get publicKey => + const fb.StringReader().vTableGetNullable(_bc, _bcOffset, 6); + KeyOptions? get options => + KeyOptions.reader.vTableGetNullable(_bc, _bcOffset, 8); + Entity? get signed => Entity.reader.vTableGetNullable(_bc, _bcOffset, 10); + FileHints? get fileHints => + FileHints.reader.vTableGetNullable(_bc, _bcOffset, 12); + + @override + String toString() { + return 'EncryptRequest{message: $message, publicKey: $publicKey, options: $options, signed: $signed, fileHints: $fileHints}'; + } +} + +class _EncryptRequestReader extends fb.TableReader { + const _EncryptRequestReader(); + + @override + EncryptRequest createObject(fb.BufferContext bc, int offset) => + new EncryptRequest._(bc, offset); +} + +class EncryptRequestBuilder { + EncryptRequestBuilder(this.fbBuilder) {} + + final fb.Builder fbBuilder; + + void begin() { + fbBuilder.startTable(); + } + + int addMessageOffset(int? offset) { + fbBuilder.addOffset(0, offset); + return fbBuilder.offset; + } + + int addPublicKeyOffset(int? offset) { + fbBuilder.addOffset(1, offset); + return fbBuilder.offset; + } + + int addOptionsOffset(int? offset) { + fbBuilder.addOffset(2, offset); + return fbBuilder.offset; + } + + int addSignedOffset(int? offset) { + fbBuilder.addOffset(3, offset); + return fbBuilder.offset; + } + + int addFileHintsOffset(int? offset) { + fbBuilder.addOffset(4, offset); + return fbBuilder.offset; + } + + int finish() { + return fbBuilder.endTable(); + } +} + +class EncryptRequestObjectBuilder extends fb.ObjectBuilder { + final String? _message; + final String? _publicKey; + final KeyOptionsObjectBuilder? _options; + final EntityObjectBuilder? _signed; + final FileHintsObjectBuilder? _fileHints; + + EncryptRequestObjectBuilder({ + String? message, + String? publicKey, + KeyOptionsObjectBuilder? options, + EntityObjectBuilder? signed, + FileHintsObjectBuilder? fileHints, + }) : _message = message, + _publicKey = publicKey, + _options = options, + _signed = signed, + _fileHints = fileHints; + + /// Finish building, and store into the [fbBuilder]. + @override + int finish(fb.Builder fbBuilder) { + final int? messageOffset = fbBuilder.writeString(_message); + final int? publicKeyOffset = fbBuilder.writeString(_publicKey); + final int? optionsOffset = _options?.getOrCreateOffset(fbBuilder); + final int? signedOffset = _signed?.getOrCreateOffset(fbBuilder); + final int? fileHintsOffset = _fileHints?.getOrCreateOffset(fbBuilder); + fbBuilder.startTable(); + fbBuilder.addOffset(0, messageOffset); + fbBuilder.addOffset(1, publicKeyOffset); + fbBuilder.addOffset(2, optionsOffset); + fbBuilder.addOffset(3, signedOffset); + fbBuilder.addOffset(4, fileHintsOffset); + return fbBuilder.endTable(); + } + + /// Convenience method to serialize to byte list. + @override + Uint8List toBytes([String? fileIdentifier]) { + fb.Builder fbBuilder = new fb.Builder(); + int offset = finish(fbBuilder); + return fbBuilder.finish(offset, fileIdentifier); + } +} + +class EncryptBytesRequest { + EncryptBytesRequest._(this._bc, this._bcOffset); + factory EncryptBytesRequest(List bytes) { + fb.BufferContext rootRef = new fb.BufferContext.fromBytes(bytes); + return reader.read(rootRef, 0); + } + + static const fb.Reader reader = + const _EncryptBytesRequestReader(); + + final fb.BufferContext _bc; + final int _bcOffset; + + List? get message => const fb.ListReader(const fb.Uint8Reader()) + .vTableGetNullable(_bc, _bcOffset, 4); + String? get publicKey => + const fb.StringReader().vTableGetNullable(_bc, _bcOffset, 6); + KeyOptions? get options => + KeyOptions.reader.vTableGetNullable(_bc, _bcOffset, 8); + Entity? get signed => Entity.reader.vTableGetNullable(_bc, _bcOffset, 10); + FileHints? get fileHints => + FileHints.reader.vTableGetNullable(_bc, _bcOffset, 12); + + @override + String toString() { + return 'EncryptBytesRequest{message: $message, publicKey: $publicKey, options: $options, signed: $signed, fileHints: $fileHints}'; + } +} + +class _EncryptBytesRequestReader extends fb.TableReader { + const _EncryptBytesRequestReader(); + + @override + EncryptBytesRequest createObject(fb.BufferContext bc, int offset) => + new EncryptBytesRequest._(bc, offset); +} + +class EncryptBytesRequestBuilder { + EncryptBytesRequestBuilder(this.fbBuilder) {} + + final fb.Builder fbBuilder; + + void begin() { + fbBuilder.startTable(); + } + + int addMessageOffset(int? offset) { + fbBuilder.addOffset(0, offset); + return fbBuilder.offset; + } + + int addPublicKeyOffset(int? offset) { + fbBuilder.addOffset(1, offset); + return fbBuilder.offset; + } + + int addOptionsOffset(int? offset) { + fbBuilder.addOffset(2, offset); + return fbBuilder.offset; + } + + int addSignedOffset(int? offset) { + fbBuilder.addOffset(3, offset); + return fbBuilder.offset; + } + + int addFileHintsOffset(int? offset) { + fbBuilder.addOffset(4, offset); + return fbBuilder.offset; + } + + int finish() { + return fbBuilder.endTable(); + } +} + +class EncryptBytesRequestObjectBuilder extends fb.ObjectBuilder { + final List? _message; + final String? _publicKey; + final KeyOptionsObjectBuilder? _options; + final EntityObjectBuilder? _signed; + final FileHintsObjectBuilder? _fileHints; + + EncryptBytesRequestObjectBuilder({ + List? message, + String? publicKey, + KeyOptionsObjectBuilder? options, + EntityObjectBuilder? signed, + FileHintsObjectBuilder? fileHints, + }) : _message = message, + _publicKey = publicKey, + _options = options, + _signed = signed, + _fileHints = fileHints; + + /// Finish building, and store into the [fbBuilder]. + @override + int finish(fb.Builder fbBuilder) { + final int? messageOffset = _message?.isNotEmpty == true + ? fbBuilder.writeListUint8(_message!) + : null; + final int? publicKeyOffset = fbBuilder.writeString(_publicKey); + final int? optionsOffset = _options?.getOrCreateOffset(fbBuilder); + final int? signedOffset = _signed?.getOrCreateOffset(fbBuilder); + final int? fileHintsOffset = _fileHints?.getOrCreateOffset(fbBuilder); + fbBuilder.startTable(); + fbBuilder.addOffset(0, messageOffset); + fbBuilder.addOffset(1, publicKeyOffset); + fbBuilder.addOffset(2, optionsOffset); + fbBuilder.addOffset(3, signedOffset); + fbBuilder.addOffset(4, fileHintsOffset); + return fbBuilder.endTable(); + } + + /// Convenience method to serialize to byte list. + @override + Uint8List toBytes([String? fileIdentifier]) { + fb.Builder fbBuilder = new fb.Builder(); + int offset = finish(fbBuilder); + return fbBuilder.finish(offset, fileIdentifier); + } +} + +class DecryptRequest { + DecryptRequest._(this._bc, this._bcOffset); + factory DecryptRequest(List bytes) { + fb.BufferContext rootRef = new fb.BufferContext.fromBytes(bytes); + return reader.read(rootRef, 0); + } + + static const fb.Reader reader = const _DecryptRequestReader(); + + final fb.BufferContext _bc; + final int _bcOffset; + + String? get message => + const fb.StringReader().vTableGetNullable(_bc, _bcOffset, 4); + String? get privateKey => + const fb.StringReader().vTableGetNullable(_bc, _bcOffset, 6); + String? get passphrase => + const fb.StringReader().vTableGetNullable(_bc, _bcOffset, 8); + KeyOptions? get options => + KeyOptions.reader.vTableGetNullable(_bc, _bcOffset, 10); + + @override + String toString() { + return 'DecryptRequest{message: $message, privateKey: $privateKey, passphrase: $passphrase, options: $options}'; + } +} + +class _DecryptRequestReader extends fb.TableReader { + const _DecryptRequestReader(); + + @override + DecryptRequest createObject(fb.BufferContext bc, int offset) => + new DecryptRequest._(bc, offset); +} + +class DecryptRequestBuilder { + DecryptRequestBuilder(this.fbBuilder) {} + + final fb.Builder fbBuilder; + + void begin() { + fbBuilder.startTable(); + } + + int addMessageOffset(int? offset) { + fbBuilder.addOffset(0, offset); + return fbBuilder.offset; + } + + int addPrivateKeyOffset(int? offset) { + fbBuilder.addOffset(1, offset); + return fbBuilder.offset; + } + + int addPassphraseOffset(int? offset) { + fbBuilder.addOffset(2, offset); + return fbBuilder.offset; + } + + int addOptionsOffset(int? offset) { + fbBuilder.addOffset(3, offset); + return fbBuilder.offset; + } + + int finish() { + return fbBuilder.endTable(); + } +} + +class DecryptRequestObjectBuilder extends fb.ObjectBuilder { + final String? _message; + final String? _privateKey; + final String? _passphrase; + final KeyOptionsObjectBuilder? _options; + + DecryptRequestObjectBuilder({ + String? message, + String? privateKey, + String? passphrase, + KeyOptionsObjectBuilder? options, + }) : _message = message, + _privateKey = privateKey, + _passphrase = passphrase, + _options = options; + + /// Finish building, and store into the [fbBuilder]. + @override + int finish(fb.Builder fbBuilder) { + final int? messageOffset = fbBuilder.writeString(_message); + final int? privateKeyOffset = fbBuilder.writeString(_privateKey); + final int? passphraseOffset = fbBuilder.writeString(_passphrase); + final int? optionsOffset = _options?.getOrCreateOffset(fbBuilder); + fbBuilder.startTable(); + fbBuilder.addOffset(0, messageOffset); + fbBuilder.addOffset(1, privateKeyOffset); + fbBuilder.addOffset(2, passphraseOffset); + fbBuilder.addOffset(3, optionsOffset); + return fbBuilder.endTable(); + } + + /// Convenience method to serialize to byte list. + @override + Uint8List toBytes([String? fileIdentifier]) { + fb.Builder fbBuilder = new fb.Builder(); + int offset = finish(fbBuilder); + return fbBuilder.finish(offset, fileIdentifier); + } +} + +class DecryptBytesRequest { + DecryptBytesRequest._(this._bc, this._bcOffset); + factory DecryptBytesRequest(List bytes) { + fb.BufferContext rootRef = new fb.BufferContext.fromBytes(bytes); + return reader.read(rootRef, 0); + } + + static const fb.Reader reader = + const _DecryptBytesRequestReader(); + + final fb.BufferContext _bc; + final int _bcOffset; + + List? get message => const fb.ListReader(const fb.Uint8Reader()) + .vTableGetNullable(_bc, _bcOffset, 4); + String? get privateKey => + const fb.StringReader().vTableGetNullable(_bc, _bcOffset, 6); + String? get passphrase => + const fb.StringReader().vTableGetNullable(_bc, _bcOffset, 8); + KeyOptions? get options => + KeyOptions.reader.vTableGetNullable(_bc, _bcOffset, 10); + + @override + String toString() { + return 'DecryptBytesRequest{message: $message, privateKey: $privateKey, passphrase: $passphrase, options: $options}'; + } +} + +class _DecryptBytesRequestReader extends fb.TableReader { + const _DecryptBytesRequestReader(); + + @override + DecryptBytesRequest createObject(fb.BufferContext bc, int offset) => + new DecryptBytesRequest._(bc, offset); +} + +class DecryptBytesRequestBuilder { + DecryptBytesRequestBuilder(this.fbBuilder) {} + + final fb.Builder fbBuilder; + + void begin() { + fbBuilder.startTable(); + } + + int addMessageOffset(int? offset) { + fbBuilder.addOffset(0, offset); + return fbBuilder.offset; + } + + int addPrivateKeyOffset(int? offset) { + fbBuilder.addOffset(1, offset); + return fbBuilder.offset; + } + + int addPassphraseOffset(int? offset) { + fbBuilder.addOffset(2, offset); + return fbBuilder.offset; + } + + int addOptionsOffset(int? offset) { + fbBuilder.addOffset(3, offset); + return fbBuilder.offset; + } + + int finish() { + return fbBuilder.endTable(); + } +} + +class DecryptBytesRequestObjectBuilder extends fb.ObjectBuilder { + final List? _message; + final String? _privateKey; + final String? _passphrase; + final KeyOptionsObjectBuilder? _options; + + DecryptBytesRequestObjectBuilder({ + List? message, + String? privateKey, + String? passphrase, + KeyOptionsObjectBuilder? options, + }) : _message = message, + _privateKey = privateKey, + _passphrase = passphrase, + _options = options; + + /// Finish building, and store into the [fbBuilder]. + @override + int finish(fb.Builder fbBuilder) { + final int? messageOffset = _message?.isNotEmpty == true + ? fbBuilder.writeListUint8(_message!) + : null; + final int? privateKeyOffset = fbBuilder.writeString(_privateKey); + final int? passphraseOffset = fbBuilder.writeString(_passphrase); + final int? optionsOffset = _options?.getOrCreateOffset(fbBuilder); + fbBuilder.startTable(); + fbBuilder.addOffset(0, messageOffset); + fbBuilder.addOffset(1, privateKeyOffset); + fbBuilder.addOffset(2, passphraseOffset); + fbBuilder.addOffset(3, optionsOffset); + return fbBuilder.endTable(); + } + + /// Convenience method to serialize to byte list. + @override + Uint8List toBytes([String? fileIdentifier]) { + fb.Builder fbBuilder = new fb.Builder(); + int offset = finish(fbBuilder); + return fbBuilder.finish(offset, fileIdentifier); + } +} + +class SignRequest { + SignRequest._(this._bc, this._bcOffset); + factory SignRequest(List bytes) { + fb.BufferContext rootRef = new fb.BufferContext.fromBytes(bytes); + return reader.read(rootRef, 0); + } + + static const fb.Reader reader = const _SignRequestReader(); + + final fb.BufferContext _bc; + final int _bcOffset; + + String? get message => + const fb.StringReader().vTableGetNullable(_bc, _bcOffset, 4); + String? get publicKey => + const fb.StringReader().vTableGetNullable(_bc, _bcOffset, 6); + String? get privateKey => + const fb.StringReader().vTableGetNullable(_bc, _bcOffset, 8); + String? get passphrase => + const fb.StringReader().vTableGetNullable(_bc, _bcOffset, 10); + KeyOptions? get options => + KeyOptions.reader.vTableGetNullable(_bc, _bcOffset, 12); + + @override + String toString() { + return 'SignRequest{message: $message, publicKey: $publicKey, privateKey: $privateKey, passphrase: $passphrase, options: $options}'; + } +} + +class _SignRequestReader extends fb.TableReader { + const _SignRequestReader(); + + @override + SignRequest createObject(fb.BufferContext bc, int offset) => + new SignRequest._(bc, offset); +} + +class SignRequestBuilder { + SignRequestBuilder(this.fbBuilder) {} + + final fb.Builder fbBuilder; + + void begin() { + fbBuilder.startTable(); + } + + int addMessageOffset(int? offset) { + fbBuilder.addOffset(0, offset); + return fbBuilder.offset; + } + + int addPublicKeyOffset(int? offset) { + fbBuilder.addOffset(1, offset); + return fbBuilder.offset; + } + + int addPrivateKeyOffset(int? offset) { + fbBuilder.addOffset(2, offset); + return fbBuilder.offset; + } + + int addPassphraseOffset(int? offset) { + fbBuilder.addOffset(3, offset); + return fbBuilder.offset; + } + + int addOptionsOffset(int? offset) { + fbBuilder.addOffset(4, offset); + return fbBuilder.offset; + } + + int finish() { + return fbBuilder.endTable(); + } +} + +class SignRequestObjectBuilder extends fb.ObjectBuilder { + final String? _message; + final String? _publicKey; + final String? _privateKey; + final String? _passphrase; + final KeyOptionsObjectBuilder? _options; + + SignRequestObjectBuilder({ + String? message, + String? publicKey, + String? privateKey, + String? passphrase, + KeyOptionsObjectBuilder? options, + }) : _message = message, + _publicKey = publicKey, + _privateKey = privateKey, + _passphrase = passphrase, + _options = options; + + /// Finish building, and store into the [fbBuilder]. + @override + int finish(fb.Builder fbBuilder) { + final int? messageOffset = fbBuilder.writeString(_message); + final int? publicKeyOffset = fbBuilder.writeString(_publicKey); + final int? privateKeyOffset = fbBuilder.writeString(_privateKey); + final int? passphraseOffset = fbBuilder.writeString(_passphrase); + final int? optionsOffset = _options?.getOrCreateOffset(fbBuilder); + fbBuilder.startTable(); + fbBuilder.addOffset(0, messageOffset); + fbBuilder.addOffset(1, publicKeyOffset); + fbBuilder.addOffset(2, privateKeyOffset); + fbBuilder.addOffset(3, passphraseOffset); + fbBuilder.addOffset(4, optionsOffset); + return fbBuilder.endTable(); + } + + /// Convenience method to serialize to byte list. + @override + Uint8List toBytes([String? fileIdentifier]) { + fb.Builder fbBuilder = new fb.Builder(); + int offset = finish(fbBuilder); + return fbBuilder.finish(offset, fileIdentifier); + } +} + +class SignBytesRequest { + SignBytesRequest._(this._bc, this._bcOffset); + factory SignBytesRequest(List bytes) { + fb.BufferContext rootRef = new fb.BufferContext.fromBytes(bytes); + return reader.read(rootRef, 0); + } + + static const fb.Reader reader = + const _SignBytesRequestReader(); + + final fb.BufferContext _bc; + final int _bcOffset; + + List? get message => const fb.ListReader(const fb.Uint8Reader()) + .vTableGetNullable(_bc, _bcOffset, 4); + String? get publicKey => + const fb.StringReader().vTableGetNullable(_bc, _bcOffset, 6); + String? get privateKey => + const fb.StringReader().vTableGetNullable(_bc, _bcOffset, 8); + String? get passphrase => + const fb.StringReader().vTableGetNullable(_bc, _bcOffset, 10); + KeyOptions? get options => + KeyOptions.reader.vTableGetNullable(_bc, _bcOffset, 12); + + @override + String toString() { + return 'SignBytesRequest{message: $message, publicKey: $publicKey, privateKey: $privateKey, passphrase: $passphrase, options: $options}'; + } +} + +class _SignBytesRequestReader extends fb.TableReader { + const _SignBytesRequestReader(); + + @override + SignBytesRequest createObject(fb.BufferContext bc, int offset) => + new SignBytesRequest._(bc, offset); +} + +class SignBytesRequestBuilder { + SignBytesRequestBuilder(this.fbBuilder) {} + + final fb.Builder fbBuilder; + + void begin() { + fbBuilder.startTable(); + } + + int addMessageOffset(int? offset) { + fbBuilder.addOffset(0, offset); + return fbBuilder.offset; + } + + int addPublicKeyOffset(int? offset) { + fbBuilder.addOffset(1, offset); + return fbBuilder.offset; + } + + int addPrivateKeyOffset(int? offset) { + fbBuilder.addOffset(2, offset); + return fbBuilder.offset; + } + + int addPassphraseOffset(int? offset) { + fbBuilder.addOffset(3, offset); + return fbBuilder.offset; + } + + int addOptionsOffset(int? offset) { + fbBuilder.addOffset(4, offset); + return fbBuilder.offset; + } + + int finish() { + return fbBuilder.endTable(); + } +} + +class SignBytesRequestObjectBuilder extends fb.ObjectBuilder { + final List? _message; + final String? _publicKey; + final String? _privateKey; + final String? _passphrase; + final KeyOptionsObjectBuilder? _options; + + SignBytesRequestObjectBuilder({ + List? message, + String? publicKey, + String? privateKey, + String? passphrase, + KeyOptionsObjectBuilder? options, + }) : _message = message, + _publicKey = publicKey, + _privateKey = privateKey, + _passphrase = passphrase, + _options = options; + + /// Finish building, and store into the [fbBuilder]. + @override + int finish(fb.Builder fbBuilder) { + final int? messageOffset = _message?.isNotEmpty == true + ? fbBuilder.writeListUint8(_message!) + : null; + final int? publicKeyOffset = fbBuilder.writeString(_publicKey); + final int? privateKeyOffset = fbBuilder.writeString(_privateKey); + final int? passphraseOffset = fbBuilder.writeString(_passphrase); + final int? optionsOffset = _options?.getOrCreateOffset(fbBuilder); + fbBuilder.startTable(); + fbBuilder.addOffset(0, messageOffset); + fbBuilder.addOffset(1, publicKeyOffset); + fbBuilder.addOffset(2, privateKeyOffset); + fbBuilder.addOffset(3, passphraseOffset); + fbBuilder.addOffset(4, optionsOffset); + return fbBuilder.endTable(); + } + + /// Convenience method to serialize to byte list. + @override + Uint8List toBytes([String? fileIdentifier]) { + fb.Builder fbBuilder = new fb.Builder(); + int offset = finish(fbBuilder); + return fbBuilder.finish(offset, fileIdentifier); + } +} + +class VerifyRequest { + VerifyRequest._(this._bc, this._bcOffset); + factory VerifyRequest(List bytes) { + fb.BufferContext rootRef = new fb.BufferContext.fromBytes(bytes); + return reader.read(rootRef, 0); + } + + static const fb.Reader reader = const _VerifyRequestReader(); + + final fb.BufferContext _bc; + final int _bcOffset; + + String? get signature => + const fb.StringReader().vTableGetNullable(_bc, _bcOffset, 4); + String? get message => + const fb.StringReader().vTableGetNullable(_bc, _bcOffset, 6); + String? get publicKey => + const fb.StringReader().vTableGetNullable(_bc, _bcOffset, 8); + + @override + String toString() { + return 'VerifyRequest{signature: $signature, message: $message, publicKey: $publicKey}'; + } +} + +class _VerifyRequestReader extends fb.TableReader { + const _VerifyRequestReader(); + + @override + VerifyRequest createObject(fb.BufferContext bc, int offset) => + new VerifyRequest._(bc, offset); +} + +class VerifyRequestBuilder { + VerifyRequestBuilder(this.fbBuilder) {} + + final fb.Builder fbBuilder; + + void begin() { + fbBuilder.startTable(); + } + + int addSignatureOffset(int? offset) { + fbBuilder.addOffset(0, offset); + return fbBuilder.offset; + } + + int addMessageOffset(int? offset) { + fbBuilder.addOffset(1, offset); + return fbBuilder.offset; + } + + int addPublicKeyOffset(int? offset) { + fbBuilder.addOffset(2, offset); + return fbBuilder.offset; + } + + int finish() { + return fbBuilder.endTable(); + } +} + +class VerifyRequestObjectBuilder extends fb.ObjectBuilder { + final String? _signature; + final String? _message; + final String? _publicKey; + + VerifyRequestObjectBuilder({ + String? signature, + String? message, + String? publicKey, + }) : _signature = signature, + _message = message, + _publicKey = publicKey; + + /// Finish building, and store into the [fbBuilder]. + @override + int finish(fb.Builder fbBuilder) { + final int? signatureOffset = fbBuilder.writeString(_signature); + final int? messageOffset = fbBuilder.writeString(_message); + final int? publicKeyOffset = fbBuilder.writeString(_publicKey); + fbBuilder.startTable(); + fbBuilder.addOffset(0, signatureOffset); + fbBuilder.addOffset(1, messageOffset); + fbBuilder.addOffset(2, publicKeyOffset); + return fbBuilder.endTable(); + } + + /// Convenience method to serialize to byte list. + @override + Uint8List toBytes([String? fileIdentifier]) { + fb.Builder fbBuilder = new fb.Builder(); + int offset = finish(fbBuilder); + return fbBuilder.finish(offset, fileIdentifier); + } +} + +class VerifyBytesRequest { + VerifyBytesRequest._(this._bc, this._bcOffset); + factory VerifyBytesRequest(List bytes) { + fb.BufferContext rootRef = new fb.BufferContext.fromBytes(bytes); + return reader.read(rootRef, 0); + } + + static const fb.Reader reader = + const _VerifyBytesRequestReader(); + + final fb.BufferContext _bc; + final int _bcOffset; + + String? get signature => + const fb.StringReader().vTableGetNullable(_bc, _bcOffset, 4); + List? get message => const fb.ListReader(const fb.Uint8Reader()) + .vTableGetNullable(_bc, _bcOffset, 6); + String? get publicKey => + const fb.StringReader().vTableGetNullable(_bc, _bcOffset, 8); + + @override + String toString() { + return 'VerifyBytesRequest{signature: $signature, message: $message, publicKey: $publicKey}'; + } +} + +class _VerifyBytesRequestReader extends fb.TableReader { + const _VerifyBytesRequestReader(); + + @override + VerifyBytesRequest createObject(fb.BufferContext bc, int offset) => + new VerifyBytesRequest._(bc, offset); +} + +class VerifyBytesRequestBuilder { + VerifyBytesRequestBuilder(this.fbBuilder) {} + + final fb.Builder fbBuilder; + + void begin() { + fbBuilder.startTable(); + } + + int addSignatureOffset(int? offset) { + fbBuilder.addOffset(0, offset); + return fbBuilder.offset; + } + + int addMessageOffset(int? offset) { + fbBuilder.addOffset(1, offset); + return fbBuilder.offset; + } + + int addPublicKeyOffset(int? offset) { + fbBuilder.addOffset(2, offset); + return fbBuilder.offset; + } + + int finish() { + return fbBuilder.endTable(); + } +} + +class VerifyBytesRequestObjectBuilder extends fb.ObjectBuilder { + final String? _signature; + final List? _message; + final String? _publicKey; + + VerifyBytesRequestObjectBuilder({ + String? signature, + List? message, + String? publicKey, + }) : _signature = signature, + _message = message, + _publicKey = publicKey; + + /// Finish building, and store into the [fbBuilder]. + @override + int finish(fb.Builder fbBuilder) { + final int? signatureOffset = fbBuilder.writeString(_signature); + final int? messageOffset = _message?.isNotEmpty == true + ? fbBuilder.writeListUint8(_message!) + : null; + final int? publicKeyOffset = fbBuilder.writeString(_publicKey); + fbBuilder.startTable(); + fbBuilder.addOffset(0, signatureOffset); + fbBuilder.addOffset(1, messageOffset); + fbBuilder.addOffset(2, publicKeyOffset); + return fbBuilder.endTable(); + } + + /// Convenience method to serialize to byte list. + @override + Uint8List toBytes([String? fileIdentifier]) { + fb.Builder fbBuilder = new fb.Builder(); + int offset = finish(fbBuilder); + return fbBuilder.finish(offset, fileIdentifier); + } +} + +class EncryptSymmetricRequest { + EncryptSymmetricRequest._(this._bc, this._bcOffset); + factory EncryptSymmetricRequest(List bytes) { + fb.BufferContext rootRef = new fb.BufferContext.fromBytes(bytes); + return reader.read(rootRef, 0); + } + + static const fb.Reader reader = + const _EncryptSymmetricRequestReader(); + + final fb.BufferContext _bc; + final int _bcOffset; + + String? get message => + const fb.StringReader().vTableGetNullable(_bc, _bcOffset, 4); + String? get passphrase => + const fb.StringReader().vTableGetNullable(_bc, _bcOffset, 6); + KeyOptions? get options => + KeyOptions.reader.vTableGetNullable(_bc, _bcOffset, 8); + FileHints? get fileHints => + FileHints.reader.vTableGetNullable(_bc, _bcOffset, 10); + + @override + String toString() { + return 'EncryptSymmetricRequest{message: $message, passphrase: $passphrase, options: $options, fileHints: $fileHints}'; + } +} + +class _EncryptSymmetricRequestReader + extends fb.TableReader { + const _EncryptSymmetricRequestReader(); + + @override + EncryptSymmetricRequest createObject(fb.BufferContext bc, int offset) => + new EncryptSymmetricRequest._(bc, offset); +} + +class EncryptSymmetricRequestBuilder { + EncryptSymmetricRequestBuilder(this.fbBuilder) {} + + final fb.Builder fbBuilder; + + void begin() { + fbBuilder.startTable(); + } + + int addMessageOffset(int? offset) { + fbBuilder.addOffset(0, offset); + return fbBuilder.offset; + } + + int addPassphraseOffset(int? offset) { + fbBuilder.addOffset(1, offset); + return fbBuilder.offset; + } + + int addOptionsOffset(int? offset) { + fbBuilder.addOffset(2, offset); + return fbBuilder.offset; + } + + int addFileHintsOffset(int? offset) { + fbBuilder.addOffset(3, offset); + return fbBuilder.offset; + } + + int finish() { + return fbBuilder.endTable(); + } +} + +class EncryptSymmetricRequestObjectBuilder extends fb.ObjectBuilder { + final String? _message; + final String? _passphrase; + final KeyOptionsObjectBuilder? _options; + final FileHintsObjectBuilder? _fileHints; + + EncryptSymmetricRequestObjectBuilder({ + String? message, + String? passphrase, + KeyOptionsObjectBuilder? options, + FileHintsObjectBuilder? fileHints, + }) : _message = message, + _passphrase = passphrase, + _options = options, + _fileHints = fileHints; + + /// Finish building, and store into the [fbBuilder]. + @override + int finish(fb.Builder fbBuilder) { + final int? messageOffset = fbBuilder.writeString(_message); + final int? passphraseOffset = fbBuilder.writeString(_passphrase); + final int? optionsOffset = _options?.getOrCreateOffset(fbBuilder); + final int? fileHintsOffset = _fileHints?.getOrCreateOffset(fbBuilder); + fbBuilder.startTable(); + fbBuilder.addOffset(0, messageOffset); + fbBuilder.addOffset(1, passphraseOffset); + fbBuilder.addOffset(2, optionsOffset); + fbBuilder.addOffset(3, fileHintsOffset); + return fbBuilder.endTable(); + } + + /// Convenience method to serialize to byte list. + @override + Uint8List toBytes([String? fileIdentifier]) { + fb.Builder fbBuilder = new fb.Builder(); + int offset = finish(fbBuilder); + return fbBuilder.finish(offset, fileIdentifier); + } +} + +class EncryptSymmetricBytesRequest { + EncryptSymmetricBytesRequest._(this._bc, this._bcOffset); + factory EncryptSymmetricBytesRequest(List bytes) { + fb.BufferContext rootRef = new fb.BufferContext.fromBytes(bytes); + return reader.read(rootRef, 0); + } + + static const fb.Reader reader = + const _EncryptSymmetricBytesRequestReader(); + + final fb.BufferContext _bc; + final int _bcOffset; + + List? get message => const fb.ListReader(const fb.Uint8Reader()) + .vTableGetNullable(_bc, _bcOffset, 4); + String? get passphrase => + const fb.StringReader().vTableGetNullable(_bc, _bcOffset, 6); + KeyOptions? get options => + KeyOptions.reader.vTableGetNullable(_bc, _bcOffset, 8); + FileHints? get fileHints => + FileHints.reader.vTableGetNullable(_bc, _bcOffset, 10); + + @override + String toString() { + return 'EncryptSymmetricBytesRequest{message: $message, passphrase: $passphrase, options: $options, fileHints: $fileHints}'; + } +} + +class _EncryptSymmetricBytesRequestReader + extends fb.TableReader { + const _EncryptSymmetricBytesRequestReader(); + + @override + EncryptSymmetricBytesRequest createObject(fb.BufferContext bc, int offset) => + new EncryptSymmetricBytesRequest._(bc, offset); +} + +class EncryptSymmetricBytesRequestBuilder { + EncryptSymmetricBytesRequestBuilder(this.fbBuilder) {} + + final fb.Builder fbBuilder; + + void begin() { + fbBuilder.startTable(); + } + + int addMessageOffset(int? offset) { + fbBuilder.addOffset(0, offset); + return fbBuilder.offset; + } + + int addPassphraseOffset(int? offset) { + fbBuilder.addOffset(1, offset); + return fbBuilder.offset; + } + + int addOptionsOffset(int? offset) { + fbBuilder.addOffset(2, offset); + return fbBuilder.offset; + } + + int addFileHintsOffset(int? offset) { + fbBuilder.addOffset(3, offset); + return fbBuilder.offset; + } + + int finish() { + return fbBuilder.endTable(); + } +} + +class EncryptSymmetricBytesRequestObjectBuilder extends fb.ObjectBuilder { + final List? _message; + final String? _passphrase; + final KeyOptionsObjectBuilder? _options; + final FileHintsObjectBuilder? _fileHints; + + EncryptSymmetricBytesRequestObjectBuilder({ + List? message, + String? passphrase, + KeyOptionsObjectBuilder? options, + FileHintsObjectBuilder? fileHints, + }) : _message = message, + _passphrase = passphrase, + _options = options, + _fileHints = fileHints; + + /// Finish building, and store into the [fbBuilder]. + @override + int finish(fb.Builder fbBuilder) { + final int? messageOffset = _message?.isNotEmpty == true + ? fbBuilder.writeListUint8(_message!) + : null; + final int? passphraseOffset = fbBuilder.writeString(_passphrase); + final int? optionsOffset = _options?.getOrCreateOffset(fbBuilder); + final int? fileHintsOffset = _fileHints?.getOrCreateOffset(fbBuilder); + fbBuilder.startTable(); + fbBuilder.addOffset(0, messageOffset); + fbBuilder.addOffset(1, passphraseOffset); + fbBuilder.addOffset(2, optionsOffset); + fbBuilder.addOffset(3, fileHintsOffset); + return fbBuilder.endTable(); + } + + /// Convenience method to serialize to byte list. + @override + Uint8List toBytes([String? fileIdentifier]) { + fb.Builder fbBuilder = new fb.Builder(); + int offset = finish(fbBuilder); + return fbBuilder.finish(offset, fileIdentifier); + } +} + +class DecryptSymmetricRequest { + DecryptSymmetricRequest._(this._bc, this._bcOffset); + factory DecryptSymmetricRequest(List bytes) { + fb.BufferContext rootRef = new fb.BufferContext.fromBytes(bytes); + return reader.read(rootRef, 0); + } + + static const fb.Reader reader = + const _DecryptSymmetricRequestReader(); + + final fb.BufferContext _bc; + final int _bcOffset; + + String? get message => + const fb.StringReader().vTableGetNullable(_bc, _bcOffset, 4); + String? get passphrase => + const fb.StringReader().vTableGetNullable(_bc, _bcOffset, 6); + KeyOptions? get options => + KeyOptions.reader.vTableGetNullable(_bc, _bcOffset, 8); + + @override + String toString() { + return 'DecryptSymmetricRequest{message: $message, passphrase: $passphrase, options: $options}'; + } +} + +class _DecryptSymmetricRequestReader + extends fb.TableReader { + const _DecryptSymmetricRequestReader(); + + @override + DecryptSymmetricRequest createObject(fb.BufferContext bc, int offset) => + new DecryptSymmetricRequest._(bc, offset); +} + +class DecryptSymmetricRequestBuilder { + DecryptSymmetricRequestBuilder(this.fbBuilder) {} + + final fb.Builder fbBuilder; + + void begin() { + fbBuilder.startTable(); + } + + int addMessageOffset(int? offset) { + fbBuilder.addOffset(0, offset); + return fbBuilder.offset; + } + + int addPassphraseOffset(int? offset) { + fbBuilder.addOffset(1, offset); + return fbBuilder.offset; + } + + int addOptionsOffset(int? offset) { + fbBuilder.addOffset(2, offset); + return fbBuilder.offset; + } + + int finish() { + return fbBuilder.endTable(); + } +} + +class DecryptSymmetricRequestObjectBuilder extends fb.ObjectBuilder { + final String? _message; + final String? _passphrase; + final KeyOptionsObjectBuilder? _options; + + DecryptSymmetricRequestObjectBuilder({ + String? message, + String? passphrase, + KeyOptionsObjectBuilder? options, + }) : _message = message, + _passphrase = passphrase, + _options = options; + + /// Finish building, and store into the [fbBuilder]. + @override + int finish(fb.Builder fbBuilder) { + final int? messageOffset = fbBuilder.writeString(_message); + final int? passphraseOffset = fbBuilder.writeString(_passphrase); + final int? optionsOffset = _options?.getOrCreateOffset(fbBuilder); + fbBuilder.startTable(); + fbBuilder.addOffset(0, messageOffset); + fbBuilder.addOffset(1, passphraseOffset); + fbBuilder.addOffset(2, optionsOffset); + return fbBuilder.endTable(); + } + + /// Convenience method to serialize to byte list. + @override + Uint8List toBytes([String? fileIdentifier]) { + fb.Builder fbBuilder = new fb.Builder(); + int offset = finish(fbBuilder); + return fbBuilder.finish(offset, fileIdentifier); + } +} + +class DecryptSymmetricBytesRequest { + DecryptSymmetricBytesRequest._(this._bc, this._bcOffset); + factory DecryptSymmetricBytesRequest(List bytes) { + fb.BufferContext rootRef = new fb.BufferContext.fromBytes(bytes); + return reader.read(rootRef, 0); + } + + static const fb.Reader reader = + const _DecryptSymmetricBytesRequestReader(); + + final fb.BufferContext _bc; + final int _bcOffset; + + List? get message => const fb.ListReader(const fb.Uint8Reader()) + .vTableGetNullable(_bc, _bcOffset, 4); + String? get passphrase => + const fb.StringReader().vTableGetNullable(_bc, _bcOffset, 6); + KeyOptions? get options => + KeyOptions.reader.vTableGetNullable(_bc, _bcOffset, 8); + + @override + String toString() { + return 'DecryptSymmetricBytesRequest{message: $message, passphrase: $passphrase, options: $options}'; + } +} + +class _DecryptSymmetricBytesRequestReader + extends fb.TableReader { + const _DecryptSymmetricBytesRequestReader(); + + @override + DecryptSymmetricBytesRequest createObject(fb.BufferContext bc, int offset) => + new DecryptSymmetricBytesRequest._(bc, offset); +} + +class DecryptSymmetricBytesRequestBuilder { + DecryptSymmetricBytesRequestBuilder(this.fbBuilder) {} + + final fb.Builder fbBuilder; + + void begin() { + fbBuilder.startTable(); + } + + int addMessageOffset(int? offset) { + fbBuilder.addOffset(0, offset); + return fbBuilder.offset; + } + + int addPassphraseOffset(int? offset) { + fbBuilder.addOffset(1, offset); + return fbBuilder.offset; + } + + int addOptionsOffset(int? offset) { + fbBuilder.addOffset(2, offset); + return fbBuilder.offset; + } + + int finish() { + return fbBuilder.endTable(); + } +} + +class DecryptSymmetricBytesRequestObjectBuilder extends fb.ObjectBuilder { + final List? _message; + final String? _passphrase; + final KeyOptionsObjectBuilder? _options; + + DecryptSymmetricBytesRequestObjectBuilder({ + List? message, + String? passphrase, + KeyOptionsObjectBuilder? options, + }) : _message = message, + _passphrase = passphrase, + _options = options; + + /// Finish building, and store into the [fbBuilder]. + @override + int finish(fb.Builder fbBuilder) { + final int? messageOffset = _message?.isNotEmpty == true + ? fbBuilder.writeListUint8(_message!) + : null; + final int? passphraseOffset = fbBuilder.writeString(_passphrase); + final int? optionsOffset = _options?.getOrCreateOffset(fbBuilder); + fbBuilder.startTable(); + fbBuilder.addOffset(0, messageOffset); + fbBuilder.addOffset(1, passphraseOffset); + fbBuilder.addOffset(2, optionsOffset); + return fbBuilder.endTable(); + } + + /// Convenience method to serialize to byte list. + @override + Uint8List toBytes([String? fileIdentifier]) { + fb.Builder fbBuilder = new fb.Builder(); + int offset = finish(fbBuilder); + return fbBuilder.finish(offset, fileIdentifier); + } +} + +class GenerateRequest { + GenerateRequest._(this._bc, this._bcOffset); + factory GenerateRequest(List bytes) { + fb.BufferContext rootRef = new fb.BufferContext.fromBytes(bytes); + return reader.read(rootRef, 0); + } + + static const fb.Reader reader = + const _GenerateRequestReader(); + + final fb.BufferContext _bc; + final int _bcOffset; + + Options? get options => Options.reader.vTableGetNullable(_bc, _bcOffset, 4); + + @override + String toString() { + return 'GenerateRequest{options: $options}'; + } +} + +class _GenerateRequestReader extends fb.TableReader { + const _GenerateRequestReader(); + + @override + GenerateRequest createObject(fb.BufferContext bc, int offset) => + new GenerateRequest._(bc, offset); +} + +class GenerateRequestBuilder { + GenerateRequestBuilder(this.fbBuilder) {} + + final fb.Builder fbBuilder; + + void begin() { + fbBuilder.startTable(); + } + + int addOptionsOffset(int? offset) { + fbBuilder.addOffset(0, offset); + return fbBuilder.offset; + } + + int finish() { + return fbBuilder.endTable(); + } +} + +class GenerateRequestObjectBuilder extends fb.ObjectBuilder { + final OptionsObjectBuilder? _options; + + GenerateRequestObjectBuilder({ + OptionsObjectBuilder? options, + }) : _options = options; + + /// Finish building, and store into the [fbBuilder]. + @override + int finish(fb.Builder fbBuilder) { + final int? optionsOffset = _options?.getOrCreateOffset(fbBuilder); + fbBuilder.startTable(); + fbBuilder.addOffset(0, optionsOffset); + return fbBuilder.endTable(); + } + + /// Convenience method to serialize to byte list. + @override + Uint8List toBytes([String? fileIdentifier]) { + fb.Builder fbBuilder = new fb.Builder(); + int offset = finish(fbBuilder); + return fbBuilder.finish(offset, fileIdentifier); + } +} + +/// KeyOptions collects a number of parameters along with sensible defaults. +class KeyOptions { + KeyOptions._(this._bc, this._bcOffset); + factory KeyOptions(List bytes) { + fb.BufferContext rootRef = new fb.BufferContext.fromBytes(bytes); + return reader.read(rootRef, 0); + } + + static const fb.Reader reader = const _KeyOptionsReader(); + + final fb.BufferContext _bc; + final int _bcOffset; + + /// Hash is the default hash function to be used. + /// If zero, SHA-256 is used. + Hash get hash => + Hash.fromValue(const fb.Int32Reader().vTableGet(_bc, _bcOffset, 4, 0)); + + /// Cipher is the cipher to be used. + /// If zero, AES-128 is used. + Cipher get cipher => + Cipher.fromValue(const fb.Int32Reader().vTableGet(_bc, _bcOffset, 6, 0)); + + /// Compression is the compression algorithm to be + /// applied to the plaintext before encryption. If zero, no + /// compression is done. + Compression get compression => Compression.fromValue( + const fb.Int32Reader().vTableGet(_bc, _bcOffset, 8, 0)); + + /// CompressionLevel is the compression level to use. It must be set to + /// between -1 and 9, with -1 causing the compressor to use the + /// default compression level, 0 causing the compressor to use + /// no compression and 1 to 9 representing increasing (better, + /// slower) compression levels. If Level is less than -1 or + /// more then 9, a non-nil error will be returned during + /// encryption. See the constants above for convenient common + /// settings for Level. + int get compressionLevel => + const fb.Int32Reader().vTableGet(_bc, _bcOffset, 10, 0); + + /// RSABits is the number of bits in new RSA keys made with NewEntity. + /// If zero, then 2048 bit keys are created. + int get rsaBits => const fb.Int32Reader().vTableGet(_bc, _bcOffset, 12, 0); + + @override + String toString() { + return 'KeyOptions{hash: $hash, cipher: $cipher, compression: $compression, compressionLevel: $compressionLevel, rsaBits: $rsaBits}'; + } +} + +class _KeyOptionsReader extends fb.TableReader { + const _KeyOptionsReader(); + + @override + KeyOptions createObject(fb.BufferContext bc, int offset) => + new KeyOptions._(bc, offset); +} + +class KeyOptionsBuilder { + KeyOptionsBuilder(this.fbBuilder) {} + + final fb.Builder fbBuilder; + + void begin() { + fbBuilder.startTable(); + } + + int addHash(Hash? hash) { + fbBuilder.addInt32(0, hash?.value); + return fbBuilder.offset; + } + + int addCipher(Cipher? cipher) { + fbBuilder.addInt32(1, cipher?.value); + return fbBuilder.offset; + } + + int addCompression(Compression? compression) { + fbBuilder.addInt32(2, compression?.value); + return fbBuilder.offset; + } + + int addCompressionLevel(int? compressionLevel) { + fbBuilder.addInt32(3, compressionLevel); + return fbBuilder.offset; + } + + int addRsaBits(int? rsaBits) { + fbBuilder.addInt32(4, rsaBits); + return fbBuilder.offset; + } + + int finish() { + return fbBuilder.endTable(); + } +} + +class KeyOptionsObjectBuilder extends fb.ObjectBuilder { + final Hash? _hash; + final Cipher? _cipher; + final Compression? _compression; + final int? _compressionLevel; + final int? _rsaBits; + + KeyOptionsObjectBuilder({ + Hash? hash, + Cipher? cipher, + Compression? compression, + int? compressionLevel, + int? rsaBits, + }) : _hash = hash, + _cipher = cipher, + _compression = compression, + _compressionLevel = compressionLevel, + _rsaBits = rsaBits; + + /// Finish building, and store into the [fbBuilder]. + @override + int finish(fb.Builder fbBuilder) { + fbBuilder.startTable(); + fbBuilder.addInt32(0, _hash?.value); + fbBuilder.addInt32(1, _cipher?.value); + fbBuilder.addInt32(2, _compression?.value); + fbBuilder.addInt32(3, _compressionLevel); + fbBuilder.addInt32(4, _rsaBits); + return fbBuilder.endTable(); + } + + /// Convenience method to serialize to byte list. + @override + Uint8List toBytes([String? fileIdentifier]) { + fb.Builder fbBuilder = new fb.Builder(); + int offset = finish(fbBuilder); + return fbBuilder.finish(offset, fileIdentifier); + } +} + +class Options { + Options._(this._bc, this._bcOffset); + factory Options(List bytes) { + fb.BufferContext rootRef = new fb.BufferContext.fromBytes(bytes); + return reader.read(rootRef, 0); + } + + static const fb.Reader reader = const _OptionsReader(); + + final fb.BufferContext _bc; + final int _bcOffset; + + String? get name => + const fb.StringReader().vTableGetNullable(_bc, _bcOffset, 4); + String? get comment => + const fb.StringReader().vTableGetNullable(_bc, _bcOffset, 6); + String? get email => + const fb.StringReader().vTableGetNullable(_bc, _bcOffset, 8); + String? get passphrase => + const fb.StringReader().vTableGetNullable(_bc, _bcOffset, 10); + KeyOptions? get keyOptions => + KeyOptions.reader.vTableGetNullable(_bc, _bcOffset, 12); + + @override + String toString() { + return 'Options{name: $name, comment: $comment, email: $email, passphrase: $passphrase, keyOptions: $keyOptions}'; + } +} + +class _OptionsReader extends fb.TableReader { + const _OptionsReader(); + + @override + Options createObject(fb.BufferContext bc, int offset) => + new Options._(bc, offset); +} + +class OptionsBuilder { + OptionsBuilder(this.fbBuilder) {} + + final fb.Builder fbBuilder; + + void begin() { + fbBuilder.startTable(); + } + + int addNameOffset(int? offset) { + fbBuilder.addOffset(0, offset); + return fbBuilder.offset; + } + + int addCommentOffset(int? offset) { + fbBuilder.addOffset(1, offset); + return fbBuilder.offset; + } + + int addEmailOffset(int? offset) { + fbBuilder.addOffset(2, offset); + return fbBuilder.offset; + } + + int addPassphraseOffset(int? offset) { + fbBuilder.addOffset(3, offset); + return fbBuilder.offset; + } + + int addKeyOptionsOffset(int? offset) { + fbBuilder.addOffset(4, offset); + return fbBuilder.offset; + } + + int finish() { + return fbBuilder.endTable(); + } +} + +class OptionsObjectBuilder extends fb.ObjectBuilder { + final String? _name; + final String? _comment; + final String? _email; + final String? _passphrase; + final KeyOptionsObjectBuilder? _keyOptions; + + OptionsObjectBuilder({ + String? name, + String? comment, + String? email, + String? passphrase, + KeyOptionsObjectBuilder? keyOptions, + }) : _name = name, + _comment = comment, + _email = email, + _passphrase = passphrase, + _keyOptions = keyOptions; + + /// Finish building, and store into the [fbBuilder]. + @override + int finish(fb.Builder fbBuilder) { + final int? nameOffset = fbBuilder.writeString(_name); + final int? commentOffset = fbBuilder.writeString(_comment); + final int? emailOffset = fbBuilder.writeString(_email); + final int? passphraseOffset = fbBuilder.writeString(_passphrase); + final int? keyOptionsOffset = _keyOptions?.getOrCreateOffset(fbBuilder); + fbBuilder.startTable(); + fbBuilder.addOffset(0, nameOffset); + fbBuilder.addOffset(1, commentOffset); + fbBuilder.addOffset(2, emailOffset); + fbBuilder.addOffset(3, passphraseOffset); + fbBuilder.addOffset(4, keyOptionsOffset); + return fbBuilder.endTable(); + } + + /// Convenience method to serialize to byte list. + @override + Uint8List toBytes([String? fileIdentifier]) { + fb.Builder fbBuilder = new fb.Builder(); + int offset = finish(fbBuilder); + return fbBuilder.finish(offset, fileIdentifier); + } +} + +class FileHints { + FileHints._(this._bc, this._bcOffset); + factory FileHints(List bytes) { + fb.BufferContext rootRef = new fb.BufferContext.fromBytes(bytes); + return reader.read(rootRef, 0); + } + + static const fb.Reader reader = const _FileHintsReader(); + + final fb.BufferContext _bc; + final int _bcOffset; + + /// IsBinary can be set to hint that the contents are binary data. + bool get isBinary => + const fb.BoolReader().vTableGet(_bc, _bcOffset, 4, false); + + /// FileName hints at the name of the file that should be written. It's + /// truncated to 255 bytes if longer. It may be empty to suggest that the + /// file should not be written to disk. It may be equal to "_CONSOLE" to + /// suggest the data should not be written to disk. + String? get fileName => + const fb.StringReader().vTableGetNullable(_bc, _bcOffset, 6); + + /// ModTime format allowed: RFC3339, contains the modification time of the file, or the zero time if not applicable. + String? get modTime => + const fb.StringReader().vTableGetNullable(_bc, _bcOffset, 8); + + @override + String toString() { + return 'FileHints{isBinary: $isBinary, fileName: $fileName, modTime: $modTime}'; + } +} + +class _FileHintsReader extends fb.TableReader { + const _FileHintsReader(); + + @override + FileHints createObject(fb.BufferContext bc, int offset) => + new FileHints._(bc, offset); +} + +class FileHintsBuilder { + FileHintsBuilder(this.fbBuilder) {} + + final fb.Builder fbBuilder; + + void begin() { + fbBuilder.startTable(); + } + + int addIsBinary(bool? isBinary) { + fbBuilder.addBool(0, isBinary); + return fbBuilder.offset; + } + + int addFileNameOffset(int? offset) { + fbBuilder.addOffset(1, offset); + return fbBuilder.offset; + } + + int addModTimeOffset(int? offset) { + fbBuilder.addOffset(2, offset); + return fbBuilder.offset; + } + + int finish() { + return fbBuilder.endTable(); + } +} + +class FileHintsObjectBuilder extends fb.ObjectBuilder { + final bool? _isBinary; + final String? _fileName; + final String? _modTime; + + FileHintsObjectBuilder({ + bool? isBinary, + String? fileName, + String? modTime, + }) : _isBinary = isBinary, + _fileName = fileName, + _modTime = modTime; + + /// Finish building, and store into the [fbBuilder]. + @override + int finish(fb.Builder fbBuilder) { + final int? fileNameOffset = fbBuilder.writeString(_fileName); + final int? modTimeOffset = fbBuilder.writeString(_modTime); + fbBuilder.startTable(); + fbBuilder.addBool(0, _isBinary); + fbBuilder.addOffset(1, fileNameOffset); + fbBuilder.addOffset(2, modTimeOffset); + return fbBuilder.endTable(); + } + + /// Convenience method to serialize to byte list. + @override + Uint8List toBytes([String? fileIdentifier]) { + fb.Builder fbBuilder = new fb.Builder(); + int offset = finish(fbBuilder); + return fbBuilder.finish(offset, fileIdentifier); + } +} + +/// An Entity represents the components of an OpenPGP key: a primary public key +/// (which must be a signing key), one or more identities claimed by that key, +/// and zero or more subkeys, which may be encryption keys. +class Entity { + Entity._(this._bc, this._bcOffset); + factory Entity(List bytes) { + fb.BufferContext rootRef = new fb.BufferContext.fromBytes(bytes); + return reader.read(rootRef, 0); + } + + static const fb.Reader reader = const _EntityReader(); + + final fb.BufferContext _bc; + final int _bcOffset; + + String? get publicKey => + const fb.StringReader().vTableGetNullable(_bc, _bcOffset, 4); + String? get privateKey => + const fb.StringReader().vTableGetNullable(_bc, _bcOffset, 6); + String? get passphrase => + const fb.StringReader().vTableGetNullable(_bc, _bcOffset, 8); + + @override + String toString() { + return 'Entity{publicKey: $publicKey, privateKey: $privateKey, passphrase: $passphrase}'; + } +} + +class _EntityReader extends fb.TableReader { + const _EntityReader(); + + @override + Entity createObject(fb.BufferContext bc, int offset) => + new Entity._(bc, offset); +} + +class EntityBuilder { + EntityBuilder(this.fbBuilder) {} + + final fb.Builder fbBuilder; + + void begin() { + fbBuilder.startTable(); + } + + int addPublicKeyOffset(int? offset) { + fbBuilder.addOffset(0, offset); + return fbBuilder.offset; + } + + int addPrivateKeyOffset(int? offset) { + fbBuilder.addOffset(1, offset); + return fbBuilder.offset; + } + + int addPassphraseOffset(int? offset) { + fbBuilder.addOffset(2, offset); + return fbBuilder.offset; + } + + int finish() { + return fbBuilder.endTable(); + } +} + +class EntityObjectBuilder extends fb.ObjectBuilder { + final String? _publicKey; + final String? _privateKey; + final String? _passphrase; + + EntityObjectBuilder({ + String? publicKey, + String? privateKey, + String? passphrase, + }) : _publicKey = publicKey, + _privateKey = privateKey, + _passphrase = passphrase; + + /// Finish building, and store into the [fbBuilder]. + @override + int finish(fb.Builder fbBuilder) { + final int? publicKeyOffset = fbBuilder.writeString(_publicKey); + final int? privateKeyOffset = fbBuilder.writeString(_privateKey); + final int? passphraseOffset = fbBuilder.writeString(_passphrase); + fbBuilder.startTable(); + fbBuilder.addOffset(0, publicKeyOffset); + fbBuilder.addOffset(1, privateKeyOffset); + fbBuilder.addOffset(2, passphraseOffset); + return fbBuilder.endTable(); + } + + /// Convenience method to serialize to byte list. + @override + Uint8List toBytes([String? fileIdentifier]) { + fb.Builder fbBuilder = new fb.Builder(); + int offset = finish(fbBuilder); + return fbBuilder.finish(offset, fileIdentifier); + } +} + +class StringResponse { + StringResponse._(this._bc, this._bcOffset); + factory StringResponse(List bytes) { + fb.BufferContext rootRef = new fb.BufferContext.fromBytes(bytes); + return reader.read(rootRef, 0); + } + + static const fb.Reader reader = const _StringResponseReader(); + + final fb.BufferContext _bc; + final int _bcOffset; + + String? get output => + const fb.StringReader().vTableGetNullable(_bc, _bcOffset, 4); + String? get error => + const fb.StringReader().vTableGetNullable(_bc, _bcOffset, 6); + + @override + String toString() { + return 'StringResponse{output: $output, error: $error}'; + } +} + +class _StringResponseReader extends fb.TableReader { + const _StringResponseReader(); + + @override + StringResponse createObject(fb.BufferContext bc, int offset) => + new StringResponse._(bc, offset); +} + +class StringResponseBuilder { + StringResponseBuilder(this.fbBuilder) {} + + final fb.Builder fbBuilder; + + void begin() { + fbBuilder.startTable(); + } + + int addOutputOffset(int? offset) { + fbBuilder.addOffset(0, offset); + return fbBuilder.offset; + } + + int addErrorOffset(int? offset) { + fbBuilder.addOffset(1, offset); + return fbBuilder.offset; + } + + int finish() { + return fbBuilder.endTable(); + } +} + +class StringResponseObjectBuilder extends fb.ObjectBuilder { + final String? _output; + final String? _error; + + StringResponseObjectBuilder({ + String? output, + String? error, + }) : _output = output, + _error = error; + + /// Finish building, and store into the [fbBuilder]. + @override + int finish(fb.Builder fbBuilder) { + final int? outputOffset = fbBuilder.writeString(_output); + final int? errorOffset = fbBuilder.writeString(_error); + fbBuilder.startTable(); + fbBuilder.addOffset(0, outputOffset); + fbBuilder.addOffset(1, errorOffset); + return fbBuilder.endTable(); + } + + /// Convenience method to serialize to byte list. + @override + Uint8List toBytes([String? fileIdentifier]) { + fb.Builder fbBuilder = new fb.Builder(); + int offset = finish(fbBuilder); + return fbBuilder.finish(offset, fileIdentifier); + } +} + +class BytesResponse { + BytesResponse._(this._bc, this._bcOffset); + factory BytesResponse(List bytes) { + fb.BufferContext rootRef = new fb.BufferContext.fromBytes(bytes); + return reader.read(rootRef, 0); + } + + static const fb.Reader reader = const _BytesResponseReader(); + + final fb.BufferContext _bc; + final int _bcOffset; + + List? get output => const fb.ListReader(const fb.Uint8Reader()) + .vTableGetNullable(_bc, _bcOffset, 4); + String? get error => + const fb.StringReader().vTableGetNullable(_bc, _bcOffset, 6); + + @override + String toString() { + return 'BytesResponse{output: $output, error: $error}'; + } +} + +class _BytesResponseReader extends fb.TableReader { + const _BytesResponseReader(); + + @override + BytesResponse createObject(fb.BufferContext bc, int offset) => + new BytesResponse._(bc, offset); +} + +class BytesResponseBuilder { + BytesResponseBuilder(this.fbBuilder) {} + + final fb.Builder fbBuilder; + + void begin() { + fbBuilder.startTable(); + } + + int addOutputOffset(int? offset) { + fbBuilder.addOffset(0, offset); + return fbBuilder.offset; + } + + int addErrorOffset(int? offset) { + fbBuilder.addOffset(1, offset); + return fbBuilder.offset; + } + + int finish() { + return fbBuilder.endTable(); + } +} + +class BytesResponseObjectBuilder extends fb.ObjectBuilder { + final List? _output; + final String? _error; + + BytesResponseObjectBuilder({ + List? output, + String? error, + }) : _output = output, + _error = error; + + /// Finish building, and store into the [fbBuilder]. + @override + int finish(fb.Builder fbBuilder) { + final int? outputOffset = + _output?.isNotEmpty == true ? fbBuilder.writeListUint8(_output!) : null; + final int? errorOffset = fbBuilder.writeString(_error); + fbBuilder.startTable(); + fbBuilder.addOffset(0, outputOffset); + fbBuilder.addOffset(1, errorOffset); + return fbBuilder.endTable(); + } + + /// Convenience method to serialize to byte list. + @override + Uint8List toBytes([String? fileIdentifier]) { + fb.Builder fbBuilder = new fb.Builder(); + int offset = finish(fbBuilder); + return fbBuilder.finish(offset, fileIdentifier); + } +} + +class BoolResponse { + BoolResponse._(this._bc, this._bcOffset); + factory BoolResponse(List bytes) { + fb.BufferContext rootRef = new fb.BufferContext.fromBytes(bytes); + return reader.read(rootRef, 0); + } + + static const fb.Reader reader = const _BoolResponseReader(); + + final fb.BufferContext _bc; + final int _bcOffset; + + bool get output => const fb.BoolReader().vTableGet(_bc, _bcOffset, 4, false); + String? get error => + const fb.StringReader().vTableGetNullable(_bc, _bcOffset, 6); + + @override + String toString() { + return 'BoolResponse{output: $output, error: $error}'; + } +} + +class _BoolResponseReader extends fb.TableReader { + const _BoolResponseReader(); + + @override + BoolResponse createObject(fb.BufferContext bc, int offset) => + new BoolResponse._(bc, offset); +} + +class BoolResponseBuilder { + BoolResponseBuilder(this.fbBuilder) {} + + final fb.Builder fbBuilder; + + void begin() { + fbBuilder.startTable(); + } + + int addOutput(bool? output) { + fbBuilder.addBool(0, output); + return fbBuilder.offset; + } + + int addErrorOffset(int? offset) { + fbBuilder.addOffset(1, offset); + return fbBuilder.offset; + } + + int finish() { + return fbBuilder.endTable(); + } +} + +class BoolResponseObjectBuilder extends fb.ObjectBuilder { + final bool? _output; + final String? _error; + + BoolResponseObjectBuilder({ + bool? output, + String? error, + }) : _output = output, + _error = error; + + /// Finish building, and store into the [fbBuilder]. + @override + int finish(fb.Builder fbBuilder) { + final int? errorOffset = fbBuilder.writeString(_error); + fbBuilder.startTable(); + fbBuilder.addBool(0, _output); + fbBuilder.addOffset(1, errorOffset); + return fbBuilder.endTable(); + } + + /// Convenience method to serialize to byte list. + @override + Uint8List toBytes([String? fileIdentifier]) { + fb.Builder fbBuilder = new fb.Builder(); + int offset = finish(fbBuilder); + return fbBuilder.finish(offset, fileIdentifier); + } +} + +class KeyPairResponse { + KeyPairResponse._(this._bc, this._bcOffset); + factory KeyPairResponse(List bytes) { + fb.BufferContext rootRef = new fb.BufferContext.fromBytes(bytes); + return reader.read(rootRef, 0); + } + + static const fb.Reader reader = + const _KeyPairResponseReader(); + + final fb.BufferContext _bc; + final int _bcOffset; + + KeyPair? get output => KeyPair.reader.vTableGetNullable(_bc, _bcOffset, 4); + String? get error => + const fb.StringReader().vTableGetNullable(_bc, _bcOffset, 6); + + @override + String toString() { + return 'KeyPairResponse{output: $output, error: $error}'; + } +} + +class _KeyPairResponseReader extends fb.TableReader { + const _KeyPairResponseReader(); + + @override + KeyPairResponse createObject(fb.BufferContext bc, int offset) => + new KeyPairResponse._(bc, offset); +} + +class KeyPairResponseBuilder { + KeyPairResponseBuilder(this.fbBuilder) {} + + final fb.Builder fbBuilder; + + void begin() { + fbBuilder.startTable(); + } + + int addOutputOffset(int? offset) { + fbBuilder.addOffset(0, offset); + return fbBuilder.offset; + } + + int addErrorOffset(int? offset) { + fbBuilder.addOffset(1, offset); + return fbBuilder.offset; + } + + int finish() { + return fbBuilder.endTable(); + } +} + +class KeyPairResponseObjectBuilder extends fb.ObjectBuilder { + final KeyPairObjectBuilder? _output; + final String? _error; + + KeyPairResponseObjectBuilder({ + KeyPairObjectBuilder? output, + String? error, + }) : _output = output, + _error = error; + + /// Finish building, and store into the [fbBuilder]. + @override + int finish(fb.Builder fbBuilder) { + final int? outputOffset = _output?.getOrCreateOffset(fbBuilder); + final int? errorOffset = fbBuilder.writeString(_error); + fbBuilder.startTable(); + fbBuilder.addOffset(0, outputOffset); + fbBuilder.addOffset(1, errorOffset); + return fbBuilder.endTable(); + } + + /// Convenience method to serialize to byte list. + @override + Uint8List toBytes([String? fileIdentifier]) { + fb.Builder fbBuilder = new fb.Builder(); + int offset = finish(fbBuilder); + return fbBuilder.finish(offset, fileIdentifier); + } +} + +class KeyPair { + KeyPair._(this._bc, this._bcOffset); + factory KeyPair(List bytes) { + fb.BufferContext rootRef = new fb.BufferContext.fromBytes(bytes); + return reader.read(rootRef, 0); + } + + static const fb.Reader reader = const _KeyPairReader(); + + final fb.BufferContext _bc; + final int _bcOffset; + + String? get publicKey => + const fb.StringReader().vTableGetNullable(_bc, _bcOffset, 4); + String? get privateKey => + const fb.StringReader().vTableGetNullable(_bc, _bcOffset, 6); + + @override + String toString() { + return 'KeyPair{publicKey: $publicKey, privateKey: $privateKey}'; + } +} + +class _KeyPairReader extends fb.TableReader { + const _KeyPairReader(); + + @override + KeyPair createObject(fb.BufferContext bc, int offset) => + new KeyPair._(bc, offset); +} + +class KeyPairBuilder { + KeyPairBuilder(this.fbBuilder) {} + + final fb.Builder fbBuilder; + + void begin() { + fbBuilder.startTable(); + } + + int addPublicKeyOffset(int? offset) { + fbBuilder.addOffset(0, offset); + return fbBuilder.offset; + } + + int addPrivateKeyOffset(int? offset) { + fbBuilder.addOffset(1, offset); + return fbBuilder.offset; + } + + int finish() { + return fbBuilder.endTable(); + } +} + +class KeyPairObjectBuilder extends fb.ObjectBuilder { + final String? _publicKey; + final String? _privateKey; + + KeyPairObjectBuilder({ + String? publicKey, + String? privateKey, + }) : _publicKey = publicKey, + _privateKey = privateKey; + + /// Finish building, and store into the [fbBuilder]. + @override + int finish(fb.Builder fbBuilder) { + final int? publicKeyOffset = fbBuilder.writeString(_publicKey); + final int? privateKeyOffset = fbBuilder.writeString(_privateKey); + fbBuilder.startTable(); + fbBuilder.addOffset(0, publicKeyOffset); + fbBuilder.addOffset(1, privateKeyOffset); + return fbBuilder.endTable(); + } + + /// Convenience method to serialize to byte list. + @override + Uint8List toBytes([String? fileIdentifier]) { + fb.Builder fbBuilder = new fb.Builder(); + int offset = finish(fbBuilder); + return fbBuilder.finish(offset, fileIdentifier); + } +} + +class PublicKeyMetadata { + PublicKeyMetadata._(this._bc, this._bcOffset); + factory PublicKeyMetadata(List bytes) { + fb.BufferContext rootRef = new fb.BufferContext.fromBytes(bytes); + return reader.read(rootRef, 0); + } + + static const fb.Reader reader = + const _PublicKeyMetadataReader(); + + final fb.BufferContext _bc; + final int _bcOffset; + + String? get keyID => + const fb.StringReader().vTableGetNullable(_bc, _bcOffset, 4); + String? get keyIDShort => + const fb.StringReader().vTableGetNullable(_bc, _bcOffset, 6); + String? get creationTime => + const fb.StringReader().vTableGetNullable(_bc, _bcOffset, 8); + String? get fingerprint => + const fb.StringReader().vTableGetNullable(_bc, _bcOffset, 10); + String? get keyIDNumeric => + const fb.StringReader().vTableGetNullable(_bc, _bcOffset, 12); + bool get isSubKey => + const fb.BoolReader().vTableGet(_bc, _bcOffset, 14, false); + + @override + String toString() { + return 'PublicKeyMetadata{keyID: $keyID, keyIDShort: $keyIDShort, creationTime: $creationTime, fingerprint: $fingerprint, keyIDNumeric: $keyIDNumeric, isSubKey: $isSubKey}'; + } +} + +class _PublicKeyMetadataReader extends fb.TableReader { + const _PublicKeyMetadataReader(); + + @override + PublicKeyMetadata createObject(fb.BufferContext bc, int offset) => + new PublicKeyMetadata._(bc, offset); +} + +class PublicKeyMetadataBuilder { + PublicKeyMetadataBuilder(this.fbBuilder) {} + + final fb.Builder fbBuilder; + + void begin() { + fbBuilder.startTable(); + } + + int addKeyIDOffset(int? offset) { + fbBuilder.addOffset(0, offset); + return fbBuilder.offset; + } + + int addKeyIDShortOffset(int? offset) { + fbBuilder.addOffset(1, offset); + return fbBuilder.offset; + } + + int addCreationTimeOffset(int? offset) { + fbBuilder.addOffset(2, offset); + return fbBuilder.offset; + } + + int addFingerprintOffset(int? offset) { + fbBuilder.addOffset(3, offset); + return fbBuilder.offset; + } + + int addKeyIDNumericOffset(int? offset) { + fbBuilder.addOffset(4, offset); + return fbBuilder.offset; + } + + int addIsSubKey(bool? isSubKey) { + fbBuilder.addBool(5, isSubKey); + return fbBuilder.offset; + } + + int finish() { + return fbBuilder.endTable(); + } +} + +class PublicKeyMetadataObjectBuilder extends fb.ObjectBuilder { + final String? _keyID; + final String? _keyIDShort; + final String? _creationTime; + final String? _fingerprint; + final String? _keyIDNumeric; + final bool? _isSubKey; + + PublicKeyMetadataObjectBuilder({ + String? keyID, + String? keyIDShort, + String? creationTime, + String? fingerprint, + String? keyIDNumeric, + bool? isSubKey, + }) : _keyID = keyID, + _keyIDShort = keyIDShort, + _creationTime = creationTime, + _fingerprint = fingerprint, + _keyIDNumeric = keyIDNumeric, + _isSubKey = isSubKey; + + /// Finish building, and store into the [fbBuilder]. + @override + int finish(fb.Builder fbBuilder) { + final int? keyIDOffset = fbBuilder.writeString(_keyID); + final int? keyIDShortOffset = fbBuilder.writeString(_keyIDShort); + final int? creationTimeOffset = fbBuilder.writeString(_creationTime); + final int? fingerprintOffset = fbBuilder.writeString(_fingerprint); + final int? keyIDNumericOffset = fbBuilder.writeString(_keyIDNumeric); + fbBuilder.startTable(); + fbBuilder.addOffset(0, keyIDOffset); + fbBuilder.addOffset(1, keyIDShortOffset); + fbBuilder.addOffset(2, creationTimeOffset); + fbBuilder.addOffset(3, fingerprintOffset); + fbBuilder.addOffset(4, keyIDNumericOffset); + fbBuilder.addBool(5, _isSubKey); + return fbBuilder.endTable(); + } + + /// Convenience method to serialize to byte list. + @override + Uint8List toBytes([String? fileIdentifier]) { + fb.Builder fbBuilder = new fb.Builder(); + int offset = finish(fbBuilder); + return fbBuilder.finish(offset, fileIdentifier); + } +} + +class PrivateKeyMetadata { + PrivateKeyMetadata._(this._bc, this._bcOffset); + factory PrivateKeyMetadata(List bytes) { + fb.BufferContext rootRef = new fb.BufferContext.fromBytes(bytes); + return reader.read(rootRef, 0); + } + + static const fb.Reader reader = + const _PrivateKeyMetadataReader(); + + final fb.BufferContext _bc; + final int _bcOffset; + + String? get keyID => + const fb.StringReader().vTableGetNullable(_bc, _bcOffset, 4); + String? get keyIDShort => + const fb.StringReader().vTableGetNullable(_bc, _bcOffset, 6); + String? get creationTime => + const fb.StringReader().vTableGetNullable(_bc, _bcOffset, 8); + String? get fingerprint => + const fb.StringReader().vTableGetNullable(_bc, _bcOffset, 10); + String? get keyIDNumeric => + const fb.StringReader().vTableGetNullable(_bc, _bcOffset, 12); + bool get isSubKey => + const fb.BoolReader().vTableGet(_bc, _bcOffset, 14, false); + bool get encrypted => + const fb.BoolReader().vTableGet(_bc, _bcOffset, 16, false); + + @override + String toString() { + return 'PrivateKeyMetadata{keyID: $keyID, keyIDShort: $keyIDShort, creationTime: $creationTime, fingerprint: $fingerprint, keyIDNumeric: $keyIDNumeric, isSubKey: $isSubKey, encrypted: $encrypted}'; + } +} + +class _PrivateKeyMetadataReader extends fb.TableReader { + const _PrivateKeyMetadataReader(); + + @override + PrivateKeyMetadata createObject(fb.BufferContext bc, int offset) => + new PrivateKeyMetadata._(bc, offset); +} + +class PrivateKeyMetadataBuilder { + PrivateKeyMetadataBuilder(this.fbBuilder) {} + + final fb.Builder fbBuilder; + + void begin() { + fbBuilder.startTable(); + } + + int addKeyIDOffset(int? offset) { + fbBuilder.addOffset(0, offset); + return fbBuilder.offset; + } + + int addKeyIDShortOffset(int? offset) { + fbBuilder.addOffset(1, offset); + return fbBuilder.offset; + } + + int addCreationTimeOffset(int? offset) { + fbBuilder.addOffset(2, offset); + return fbBuilder.offset; + } + + int addFingerprintOffset(int? offset) { + fbBuilder.addOffset(3, offset); + return fbBuilder.offset; + } + + int addKeyIDNumericOffset(int? offset) { + fbBuilder.addOffset(4, offset); + return fbBuilder.offset; + } + + int addIsSubKey(bool? isSubKey) { + fbBuilder.addBool(5, isSubKey); + return fbBuilder.offset; + } + + int addEncrypted(bool? encrypted) { + fbBuilder.addBool(6, encrypted); + return fbBuilder.offset; + } + + int finish() { + return fbBuilder.endTable(); + } +} + +class PrivateKeyMetadataObjectBuilder extends fb.ObjectBuilder { + final String? _keyID; + final String? _keyIDShort; + final String? _creationTime; + final String? _fingerprint; + final String? _keyIDNumeric; + final bool? _isSubKey; + final bool? _encrypted; + + PrivateKeyMetadataObjectBuilder({ + String? keyID, + String? keyIDShort, + String? creationTime, + String? fingerprint, + String? keyIDNumeric, + bool? isSubKey, + bool? encrypted, + }) : _keyID = keyID, + _keyIDShort = keyIDShort, + _creationTime = creationTime, + _fingerprint = fingerprint, + _keyIDNumeric = keyIDNumeric, + _isSubKey = isSubKey, + _encrypted = encrypted; + + /// Finish building, and store into the [fbBuilder]. + @override + int finish(fb.Builder fbBuilder) { + final int? keyIDOffset = fbBuilder.writeString(_keyID); + final int? keyIDShortOffset = fbBuilder.writeString(_keyIDShort); + final int? creationTimeOffset = fbBuilder.writeString(_creationTime); + final int? fingerprintOffset = fbBuilder.writeString(_fingerprint); + final int? keyIDNumericOffset = fbBuilder.writeString(_keyIDNumeric); + fbBuilder.startTable(); + fbBuilder.addOffset(0, keyIDOffset); + fbBuilder.addOffset(1, keyIDShortOffset); + fbBuilder.addOffset(2, creationTimeOffset); + fbBuilder.addOffset(3, fingerprintOffset); + fbBuilder.addOffset(4, keyIDNumericOffset); + fbBuilder.addBool(5, _isSubKey); + fbBuilder.addBool(6, _encrypted); + return fbBuilder.endTable(); + } + + /// Convenience method to serialize to byte list. + @override + Uint8List toBytes([String? fileIdentifier]) { + fb.Builder fbBuilder = new fb.Builder(); + int offset = finish(fbBuilder); + return fbBuilder.finish(offset, fileIdentifier); + } +} diff --git a/lib/openpgp.dart b/lib/openpgp.dart index bcaab7d..1aaece9 100755 --- a/lib/openpgp.dart +++ b/lib/openpgp.dart @@ -5,13 +5,54 @@ import 'package:flutter/services.dart'; import 'package:openpgp/bridge/binding_stub.dart' if (dart.library.io) 'package:openpgp/bridge/binding.dart' if (dart.library.js) 'package:openpgp/bridge/binding_stub.dart'; -import 'package:openpgp/model/bridge.pb.dart'; +import 'package:openpgp/flatbuffers/flat_buffers.dart' as fb; +import 'package:openpgp/model/bridge_model_generated.dart' as model; class OpenPGPException implements Exception { String cause; + OpenPGPException(this.cause); } +enum Hash { SHA256, SHA224, SHA384, SHA512 } +enum Cipher { AES128, AES192, AES256 } +enum Compression { NONE, ZLIB, ZIP } + +class Options { + String? name; + String? comment; + String? email; + String? passphrase; + KeyOptions? keyOptions; +} + +class KeyOptions { + Hash? hash; + Cipher? cipher; + Compression? compression; + int? compressionLevel; + int? rsaBits; +} + +class KeyPair { + String publicKey; + String privateKey; + + KeyPair(this.publicKey, this.privateKey); +} + +class Entity { + String? publicKey; + String? privateKey; + String? passphrase; +} + +class FileHints { + bool? isBinary; + String? fileName; + String? modTime; +} + class OpenPGP { static const MethodChannel _channel = const MethodChannel('openpgp'); static bool bindingEnabled = Binding().isSupported(); @@ -26,27 +67,27 @@ class OpenPGP { static Future _bytesResponse( String name, Uint8List payload) async { var data = await _call(name, payload); - var response = BytesResponse()..mergeFromBuffer(data); - if (response.hasError()) { - throw new OpenPGPException(response.error); + var response = model.BytesResponse(data); + if (response.error != null && response.error != "") { + throw new OpenPGPException(response.error!); } - return Uint8List.fromList(response.output); + return Uint8List.fromList(response.output!); } static Future _stringResponse(String name, Uint8List payload) async { var data = await _call(name, payload); - var response = StringResponse()..mergeFromBuffer(data); - if (response.hasError()) { - throw new OpenPGPException(response.error); + var response = model.StringResponse(data); + if (response.error != null && response.error != "") { + throw new OpenPGPException(response.error!); } - return response.output; + return response.output!; } static Future _boolResponse(String name, Uint8List payload) async { var data = await _call(name, payload); - var response = BoolResponse()..mergeFromBuffer(data); - if (response.hasError()) { - throw new OpenPGPException(response.error); + var response = model.BoolResponse(data); + if (response.error != null && response.error != "") { + throw new OpenPGPException(response.error!); } return response.output; } @@ -54,195 +95,240 @@ class OpenPGP { static Future _keyPairResponse( String name, Uint8List payload) async { var data = await _call(name, payload); - var response = KeyPairResponse()..mergeFromBuffer(data); - if (response.hasError()) { - throw new OpenPGPException(response.error); + var response = model.KeyPairResponse(data); + if (response.error != null && response.error != "") { + throw new OpenPGPException(response.error!); } - return response.output; + var keyPair = response.output!; + return KeyPair(keyPair.publicKey!, keyPair.privateKey!); } static Future decrypt( String message, String privateKey, String passphrase, {KeyOptions? options}) async { - var request = DecryptRequest() - ..message = message - ..privateKey = privateKey - ..passphrase = passphrase; + var requestBuilder = model.DecryptRequestObjectBuilder( + message: message, + privateKey: privateKey, + passphrase: passphrase, + options: _keyOptionsBuilder(options), + ); - if (options != null) { - request.options = options; - } - return await _stringResponse("decrypt", request.writeToBuffer()); + return await _stringResponse("decrypt", requestBuilder.toBytes()); } static Future decryptBytes( Uint8List message, String privateKey, String passphrase, {KeyOptions? options}) async { - var request = DecryptBytesRequest() - ..message = message - ..privateKey = privateKey - ..passphrase = passphrase; + var requestBuilder = model.DecryptBytesRequestObjectBuilder( + message: message, + privateKey: privateKey, + passphrase: passphrase, + options: _keyOptionsBuilder(options), + ); - if (options != null) { - request.options = options; - } - return await _bytesResponse("decryptBytes", request.writeToBuffer()); + return await _bytesResponse("decryptBytes", requestBuilder.toBytes()); } static Future encrypt(String message, String publicKey, {KeyOptions? options, Entity? signed, FileHints? fileHints}) async { - var request = EncryptRequest() - ..message = message - ..publicKey = publicKey; + var requestBuilder = model.EncryptRequestObjectBuilder( + publicKey: publicKey, + message: message, + options: _keyOptionsBuilder(options), + signed: _entityBuilder(signed), + fileHints: _fileHintsBuilder(fileHints), + ); - if (options != null) { - request.options = options; - } - if (fileHints != null) { - request.fileHints = fileHints; - } - if (signed != null) { - request.signed = signed; - } - return await _stringResponse("encrypt", request.writeToBuffer()); + return await _stringResponse("encrypt", requestBuilder.toBytes()); } static Future encryptBytes(Uint8List message, String publicKey, {KeyOptions? options, Entity? signed, FileHints? fileHints}) async { - var request = EncryptBytesRequest() - ..message = message - ..publicKey = publicKey; - if (options != null) { - request.options = options; - } - if (fileHints != null) { - request.fileHints = fileHints; - } - if (signed != null) { - request.signed = signed; - } - return await _bytesResponse("encryptBytes", request.writeToBuffer()); + var requestBuilder = model.EncryptBytesRequestObjectBuilder( + publicKey: publicKey, + message: message, + options: _keyOptionsBuilder(options), + signed: _entityBuilder(signed), + fileHints: _fileHintsBuilder(fileHints), + ); + + return await _bytesResponse("encryptBytes", requestBuilder.toBytes()); } static Future sign( String message, String publicKey, String privateKey, String passphrase, {KeyOptions? options}) async { - var request = SignRequest() - ..message = message - ..publicKey = publicKey - ..privateKey = privateKey - ..passphrase = passphrase; - if (options != null) { - request.options = options; - } - return await _stringResponse("sign", request.writeToBuffer()); + var requestBuilder = model.SignRequestObjectBuilder( + publicKey: publicKey, + message: message, + passphrase: passphrase, + privateKey: privateKey, + options: _keyOptionsBuilder(options), + ); + + return await _stringResponse("sign", requestBuilder.toBytes()); } static Future signBytes( Uint8List message, String publicKey, String privateKey, String passphrase, {KeyOptions? options}) async { - var request = SignBytesRequest() - ..message = message - ..publicKey = publicKey - ..privateKey = privateKey - ..passphrase = passphrase; - if (options != null) { - request.options = options; - } - return await _bytesResponse("signBytes", request.writeToBuffer()); + var requestBuilder = model.SignBytesRequestObjectBuilder( + publicKey: publicKey, + message: message, + passphrase: passphrase, + privateKey: privateKey, + options: _keyOptionsBuilder(options), + ); + + return await _bytesResponse("signBytes", requestBuilder.toBytes()); } static Future signBytesToString( Uint8List message, String publicKey, String privateKey, String passphrase, {KeyOptions? options}) async { - var request = SignBytesRequest() - ..message = message - ..publicKey = publicKey - ..privateKey = privateKey - ..passphrase = passphrase; - if (options != null) { - request.options = options; - } - return await _stringResponse("signBytesToString", request.writeToBuffer()); + var requestBuilder = model.SignBytesRequestObjectBuilder( + publicKey: publicKey, + message: message, + passphrase: passphrase, + privateKey: privateKey, + options: _keyOptionsBuilder(options), + ); + + return await _stringResponse("signBytesToString", requestBuilder.toBytes()); } static Future verify( String signature, String message, String publicKey) async { - var request = VerifyRequest() - ..message = message - ..publicKey = publicKey - ..signature = signature; - return await _boolResponse("verify", request.writeToBuffer()); + var requestBuilder = model.VerifyRequestObjectBuilder( + publicKey: publicKey, + message: message, + signature: signature, + ); + + return await _boolResponse("verify", requestBuilder.toBytes()); } static Future verifyBytes( String signature, Uint8List message, String publicKey) async { - var request = VerifyBytesRequest() - ..message = message - ..publicKey = publicKey - ..signature = signature; - return await _boolResponse("verifyBytes", request.writeToBuffer()); + var requestBuilder = model.VerifyBytesRequestObjectBuilder( + publicKey: publicKey, + message: message, + signature: signature, + ); + + return await _boolResponse("verifyBytes", requestBuilder.toBytes()); } static Future decryptSymmetric(String message, String passphrase, {KeyOptions? options}) async { - var request = DecryptSymmetricRequest() - ..message = message - ..passphrase = passphrase; - if (options != null) { - request.options = options; - } - return await _stringResponse("decryptSymmetric", request.writeToBuffer()); + var requestBuilder = model.DecryptSymmetricRequestObjectBuilder( + message: message, + passphrase: passphrase, + options: _keyOptionsBuilder(options), + ); + + return await _stringResponse("decryptSymmetric", requestBuilder.toBytes()); } static Future decryptSymmetricBytes( Uint8List message, String passphrase, {KeyOptions? options}) async { - var request = DecryptSymmetricBytesRequest() - ..message = message - ..passphrase = passphrase; - if (options != null) { - request.options = options; - } + var requestBuilder = model.DecryptSymmetricBytesRequestObjectBuilder( + message: message, + passphrase: passphrase, + options: _keyOptionsBuilder(options), + ); + return await _bytesResponse( - "decryptSymmetricBytes", request.writeToBuffer()); + "decryptSymmetricBytes", requestBuilder.toBytes()); } static Future encryptSymmetric(String message, String passphrase, {KeyOptions? options, FileHints? fileHints}) async { - var request = EncryptSymmetricRequest() - ..message = message - ..passphrase = passphrase; - if (options != null) { - request.options = options; - } - if (fileHints != null) { - request.fileHints = fileHints; - } - return await _stringResponse("encryptSymmetric", request.writeToBuffer()); + var requestBuilder = model.EncryptSymmetricRequestObjectBuilder( + message: message, + passphrase: passphrase, + fileHints: _fileHintsBuilder(fileHints), + options: _keyOptionsBuilder(options), + ); + + return await _stringResponse("encryptSymmetric", requestBuilder.toBytes()); } static Future encryptSymmetricBytes( Uint8List message, String passphrase, {KeyOptions? options, FileHints? fileHints}) async { - var request = EncryptSymmetricBytesRequest() - ..message = message - ..passphrase = passphrase; - if (options != null) { - request.options = options; - } - if (fileHints != null) { - request.fileHints = fileHints; - } + var requestBuilder = model.EncryptSymmetricBytesRequestObjectBuilder( + message: message, + passphrase: passphrase, + fileHints: _fileHintsBuilder(fileHints), + options: _keyOptionsBuilder(options), + ); + return await _bytesResponse( - "encryptSymmetricBytes", request.writeToBuffer()); + "encryptSymmetricBytes", requestBuilder.toBytes()); } static Future generate({Options? options}) async { - var request = GenerateRequest(); - if (options != null) { - request.options = options; + var requestBuilder = model.GenerateRequestObjectBuilder( + options: _optionsBuilder(options), + ); + return await _keyPairResponse("generate", requestBuilder.toBytes()); + } + + static model.KeyOptionsObjectBuilder? _keyOptionsBuilder(KeyOptions? input) { + model.KeyOptionsObjectBuilder? builder; + if (input != null) { + builder = model.KeyOptionsObjectBuilder( + cipher: input.cipher != null + ? model.Cipher.values[input.cipher!.index] + : null, + compression: input.compression != null + ? model.Compression.values[input.compression!.index] + : null, + compressionLevel: input.compressionLevel ?? 0, + hash: input.hash != null ? model.Hash.values[input.hash!.index] : null, + rsaBits: input.rsaBits ?? 0, + ); + } + return builder; + } + + static model.OptionsObjectBuilder? _optionsBuilder(Options? input) { + model.OptionsObjectBuilder? builder; + if (input != null) { + builder = model.OptionsObjectBuilder( + passphrase: input.passphrase ?? "", + comment: input.comment ?? "", + email: input.email ?? "", + name: input.name ?? "", + keyOptions: _keyOptionsBuilder(input.keyOptions), + ); + } + return builder; + } + + static model.EntityObjectBuilder? _entityBuilder(Entity? input) { + model.EntityObjectBuilder? builder; + if (input != null) { + builder = model.EntityObjectBuilder( + passphrase: input.passphrase ?? "", + privateKey: input.privateKey ?? "", + publicKey: input.publicKey ?? "", + ); + } + return builder; + } + + static model.FileHintsObjectBuilder? _fileHintsBuilder(FileHints? input) { + model.FileHintsObjectBuilder? builder; + if (input != null) { + builder = model.FileHintsObjectBuilder( + fileName: input.fileName ?? "", + isBinary: input.isBinary ?? false, + modTime: input.modTime ?? "", + ); } - return await _keyPairResponse("generate", request.writeToBuffer()); + return builder; } } diff --git a/lib/web/assets/openpgp.wasm b/lib/web/assets/openpgp.wasm index 98620e2..3e9898d 100755 Binary files a/lib/web/assets/openpgp.wasm and b/lib/web/assets/openpgp.wasm differ diff --git a/linux/shared/libopenpgp_bridge.h b/linux/shared/libopenpgp_bridge.h index 56bc0b1..db683d7 100644 --- a/linux/shared/libopenpgp_bridge.h +++ b/linux/shared/libopenpgp_bridge.h @@ -74,8 +74,7 @@ typedef struct { void *data; GoInt len; GoInt cap; } GoSlice; extern "C" { #endif - -extern BytesReturn* OpenPGPBridgeCall(char* p0, void* p1, int p2); +extern BytesReturn* OpenPGPBridgeCall(char* name, void* payload, int payloadSize); #ifdef __cplusplus } diff --git a/linux/shared/libopenpgp_bridge.so b/linux/shared/libopenpgp_bridge.so index f8fb26b..614a1a5 100644 Binary files a/linux/shared/libopenpgp_bridge.so and b/linux/shared/libopenpgp_bridge.so differ diff --git a/macos/libopenpgp_bridge.dylib b/macos/libopenpgp_bridge.dylib index e1a1c7c..e29e21b 100644 Binary files a/macos/libopenpgp_bridge.dylib and b/macos/libopenpgp_bridge.dylib differ diff --git a/pubspec.lock b/pubspec.lock index 5ff8a57..a53a155 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -7,7 +7,7 @@ packages: name: async url: "https://pub.dartlang.org" source: hosted - version: "2.6.0" + version: "2.7.0" boolean_selector: dependency: transitive description: @@ -57,13 +57,6 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "1.0.0" - fixnum: - dependency: "direct main" - description: - name: fixnum - url: "https://pub.dartlang.org" - source: hosted - version: "1.0.0" flutter: dependency: "direct main" description: flutter @@ -99,7 +92,7 @@ packages: name: meta url: "https://pub.dartlang.org" source: hosted - version: "1.3.0" + version: "1.4.0" path: dependency: transitive description: @@ -107,13 +100,6 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "1.8.0" - protobuf: - dependency: "direct main" - description: - name: protobuf - url: "https://pub.dartlang.org" - source: hosted - version: "2.0.0" sky_engine: dependency: transitive description: flutter @@ -160,7 +146,7 @@ packages: name: test_api url: "https://pub.dartlang.org" source: hosted - version: "0.3.0" + version: "0.4.0" typed_data: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 72d78fd..8d3f7e1 100755 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,6 +1,6 @@ name: openpgp description: library for use OpenPGP with support for android and ios, macOS, linux, windows, web and hover -version: 2.0.1 +version: 3.0.0 homepage: https://github.com/jerson/flutter-openpgp environment: @@ -13,8 +13,6 @@ dependencies: flutter_web_plugins: sdk: flutter ffi: ^1.0.0 - protobuf: ^2.0.0 - fixnum: ^1.0.0 dev_dependencies: flutter_test: diff --git a/scripts/upgrade_bridge_protobuf.sh b/scripts/upgrade_bridge_flatbuffers.sh similarity index 88% rename from scripts/upgrade_bridge_protobuf.sh rename to scripts/upgrade_bridge_flatbuffers.sh index b2f91be..bc74ec1 100755 --- a/scripts/upgrade_bridge_protobuf.sh +++ b/scripts/upgrade_bridge_flatbuffers.sh @@ -1,14 +1,14 @@ #!/usr/bin/env bash ####################################################### # Usage: # -# ./upgrade_bridge_protobuf.sh # +# ./upgrade_bridge_flatbuffers.sh # # # # or custom version: # -# VERSION=v0.1.1 ./upgrade_bridge_protobuf.sh # +# VERSION=v0.1.1 ./upgrade_bridge_flatbuffers.sh # ####################################################### REPO="jerson/openpgp-mobile" -NAME="protobuf_libopenpgp_bridge_dart" +NAME="flatbuffers_libopenpgp_bridge_dart" OUTPUT_DIR="lib/model" ####################################################### diff --git a/windows/shared/libopenpgp_bridge.dll b/windows/shared/libopenpgp_bridge.dll index eca870b..5a2032c 100644 Binary files a/windows/shared/libopenpgp_bridge.dll and b/windows/shared/libopenpgp_bridge.dll differ diff --git a/windows/shared/libopenpgp_bridge.h b/windows/shared/libopenpgp_bridge.h index 56bc0b1..db683d7 100644 --- a/windows/shared/libopenpgp_bridge.h +++ b/windows/shared/libopenpgp_bridge.h @@ -74,8 +74,7 @@ typedef struct { void *data; GoInt len; GoInt cap; } GoSlice; extern "C" { #endif - -extern BytesReturn* OpenPGPBridgeCall(char* p0, void* p1, int p2); +extern BytesReturn* OpenPGPBridgeCall(char* name, void* payload, int payloadSize); #ifdef __cplusplus }