Experiment with serving shared preferences over grpc

The idea is that for GitJournal's web version, we can have it talking
with the mobile version which runs a grpc server. All of the git + fs
logic will still run in the mobile and the web version will only have
the UI.
This commit is contained in:
Vishesh Handa
2021-07-29 14:33:00 +02:00
parent a7869612b3
commit ad76dabcfb
8 changed files with 1348 additions and 0 deletions

View File

@ -0,0 +1,96 @@
import 'package:fixnum/fixnum.dart';
import 'package:grpc/grpc.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'package:gitjournal/generated/shared_preferences.pb.dart';
import 'package:gitjournal/generated/shared_preferences.pbgrpc.dart';
class SharedPreferencesService extends SharedPreferencesServiceBase {
final SharedPreferences pref;
SharedPreferencesService(this.pref);
@override
Future<BoolMessage> containsKey(ServiceCall _, StringMessage message) async {
return BoolMessage()..value = pref.containsKey(message.value);
}
@override
Future<StringListMessage> getKeys(ServiceCall _, EmptyMessage __) async {
return StringListMessage(value: pref.getKeys());
}
@override
Future<OptionalBool> getBool(ServiceCall _, StringMessage key) async {
return OptionalBool(value: pref.getBool(key.value));
}
@override
Future<OptionalInt> getInt(ServiceCall _, StringMessage key) async {
var ret = pref.getInt(key.value);
if (ret != null) {
return OptionalInt(value: Int64(ret));
}
return OptionalInt();
}
@override
Future<OptionalDouble> getDouble(ServiceCall _, StringMessage key) async {
return OptionalDouble(value: pref.getDouble(key.value));
}
@override
Future<OptionalString> getString(ServiceCall _, StringMessage key) async {
return OptionalString(value: pref.getString(key.value));
}
@override
Future<StringListMessage> getStringList(
ServiceCall _, StringMessage key) async {
return StringListMessage(value: pref.getStringList(key.value));
}
@override
Future<BoolMessage> setBool(ServiceCall _, SetBoolRequest req) async {
return BoolMessage(value: await pref.setBool(req.key, req.value));
}
@override
Future<BoolMessage> setInt(ServiceCall _, SetIntRequest req) async {
return BoolMessage(value: await pref.setInt(req.key, req.value.toInt()));
}
@override
Future<BoolMessage> setDouble(ServiceCall _, SetDoubleRequest req) async {
return BoolMessage(value: await pref.setDouble(req.key, req.value));
}
@override
Future<BoolMessage> setString(ServiceCall _, SetStringRequest req) async {
return BoolMessage(value: await pref.setString(req.key, req.value));
}
@override
Future<BoolMessage> setStringList(
ServiceCall _, SetStringListRequest req) async {
return BoolMessage(value: await pref.setStringList(req.key, req.value));
}
@override
Future<BoolMessage> remove(ServiceCall _, StringMessage key) async {
return BoolMessage(value: await pref.remove(key.value));
}
}
Future<void> main(List<String> args) async {
var pref = await SharedPreferences.getInstance();
final server = Server(
[SharedPreferencesService(pref)],
const <Interceptor>[],
CodecRegistry(codecs: const [GzipCodec(), IdentityCodec()]),
);
await server.serve(port: 50051);
print('Server listening on port ${server.port}...');
}
// todo: Create some kind of QR code for getting the URL

View File

@ -0,0 +1,663 @@
///
// Generated code. Do not modify.
// source: shared_preferences.proto
//
// @dart = 2.12
// ignore_for_file: annotate_overrides,camel_case_types,unnecessary_const,non_constant_identifier_names,library_prefixes,unused_import,unused_shown_name,return_of_invalid_type,unnecessary_this,prefer_final_fields
import 'dart:core' as $core;
import 'package:fixnum/fixnum.dart' as $fixnum;
import 'package:protobuf/protobuf.dart' as $pb;
class EmptyMessage extends $pb.GeneratedMessage {
static final $pb.BuilderInfo _i = $pb.BuilderInfo(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'EmptyMessage', package: const $pb.PackageName(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'gitjournal'), createEmptyInstance: create)
..hasRequiredFields = false
;
EmptyMessage._() : super();
factory EmptyMessage() => create();
factory EmptyMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
factory EmptyMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
@$core.Deprecated(
'Using this can add significant overhead to your binary. '
'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
'Will be removed in next major version')
EmptyMessage clone() => EmptyMessage()..mergeFromMessage(this);
@$core.Deprecated(
'Using this can add significant overhead to your binary. '
'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
'Will be removed in next major version')
EmptyMessage copyWith(void Function(EmptyMessage) updates) => super.copyWith((message) => updates(message as EmptyMessage)) as EmptyMessage; // ignore: deprecated_member_use
$pb.BuilderInfo get info_ => _i;
@$core.pragma('dart2js:noInline')
static EmptyMessage create() => EmptyMessage._();
EmptyMessage createEmptyInstance() => create();
static $pb.PbList<EmptyMessage> createRepeated() => $pb.PbList<EmptyMessage>();
@$core.pragma('dart2js:noInline')
static EmptyMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<EmptyMessage>(create);
static EmptyMessage? _defaultInstance;
}
class StringMessage extends $pb.GeneratedMessage {
static final $pb.BuilderInfo _i = $pb.BuilderInfo(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'StringMessage', package: const $pb.PackageName(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'gitjournal'), createEmptyInstance: create)
..aOS(1, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'value')
..hasRequiredFields = false
;
StringMessage._() : super();
factory StringMessage({
$core.String? value,
}) {
final _result = create();
if (value != null) {
_result.value = value;
}
return _result;
}
factory StringMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
factory StringMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
@$core.Deprecated(
'Using this can add significant overhead to your binary. '
'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
'Will be removed in next major version')
StringMessage clone() => StringMessage()..mergeFromMessage(this);
@$core.Deprecated(
'Using this can add significant overhead to your binary. '
'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
'Will be removed in next major version')
StringMessage copyWith(void Function(StringMessage) updates) => super.copyWith((message) => updates(message as StringMessage)) as StringMessage; // ignore: deprecated_member_use
$pb.BuilderInfo get info_ => _i;
@$core.pragma('dart2js:noInline')
static StringMessage create() => StringMessage._();
StringMessage createEmptyInstance() => create();
static $pb.PbList<StringMessage> createRepeated() => $pb.PbList<StringMessage>();
@$core.pragma('dart2js:noInline')
static StringMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<StringMessage>(create);
static StringMessage? _defaultInstance;
@$pb.TagNumber(1)
$core.String get value => $_getSZ(0);
@$pb.TagNumber(1)
set value($core.String v) { $_setString(0, v); }
@$pb.TagNumber(1)
$core.bool hasValue() => $_has(0);
@$pb.TagNumber(1)
void clearValue() => clearField(1);
}
class BoolMessage extends $pb.GeneratedMessage {
static final $pb.BuilderInfo _i = $pb.BuilderInfo(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'BoolMessage', package: const $pb.PackageName(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'gitjournal'), createEmptyInstance: create)
..aOB(1, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'value')
..hasRequiredFields = false
;
BoolMessage._() : super();
factory BoolMessage({
$core.bool? value,
}) {
final _result = create();
if (value != null) {
_result.value = value;
}
return _result;
}
factory BoolMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
factory BoolMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
@$core.Deprecated(
'Using this can add significant overhead to your binary. '
'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
'Will be removed in next major version')
BoolMessage clone() => BoolMessage()..mergeFromMessage(this);
@$core.Deprecated(
'Using this can add significant overhead to your binary. '
'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
'Will be removed in next major version')
BoolMessage copyWith(void Function(BoolMessage) updates) => super.copyWith((message) => updates(message as BoolMessage)) as BoolMessage; // ignore: deprecated_member_use
$pb.BuilderInfo get info_ => _i;
@$core.pragma('dart2js:noInline')
static BoolMessage create() => BoolMessage._();
BoolMessage createEmptyInstance() => create();
static $pb.PbList<BoolMessage> createRepeated() => $pb.PbList<BoolMessage>();
@$core.pragma('dart2js:noInline')
static BoolMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<BoolMessage>(create);
static BoolMessage? _defaultInstance;
@$pb.TagNumber(1)
$core.bool get value => $_getBF(0);
@$pb.TagNumber(1)
set value($core.bool v) { $_setBool(0, v); }
@$pb.TagNumber(1)
$core.bool hasValue() => $_has(0);
@$pb.TagNumber(1)
void clearValue() => clearField(1);
}
class OptionalBool extends $pb.GeneratedMessage {
static final $pb.BuilderInfo _i = $pb.BuilderInfo(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'OptionalBool', package: const $pb.PackageName(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'gitjournal'), createEmptyInstance: create)
..aOB(1, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'value')
..hasRequiredFields = false
;
OptionalBool._() : super();
factory OptionalBool({
$core.bool? value,
}) {
final _result = create();
if (value != null) {
_result.value = value;
}
return _result;
}
factory OptionalBool.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
factory OptionalBool.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
@$core.Deprecated(
'Using this can add significant overhead to your binary. '
'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
'Will be removed in next major version')
OptionalBool clone() => OptionalBool()..mergeFromMessage(this);
@$core.Deprecated(
'Using this can add significant overhead to your binary. '
'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
'Will be removed in next major version')
OptionalBool copyWith(void Function(OptionalBool) updates) => super.copyWith((message) => updates(message as OptionalBool)) as OptionalBool; // ignore: deprecated_member_use
$pb.BuilderInfo get info_ => _i;
@$core.pragma('dart2js:noInline')
static OptionalBool create() => OptionalBool._();
OptionalBool createEmptyInstance() => create();
static $pb.PbList<OptionalBool> createRepeated() => $pb.PbList<OptionalBool>();
@$core.pragma('dart2js:noInline')
static OptionalBool getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<OptionalBool>(create);
static OptionalBool? _defaultInstance;
@$pb.TagNumber(1)
$core.bool get value => $_getBF(0);
@$pb.TagNumber(1)
set value($core.bool v) { $_setBool(0, v); }
@$pb.TagNumber(1)
$core.bool hasValue() => $_has(0);
@$pb.TagNumber(1)
void clearValue() => clearField(1);
}
class OptionalInt extends $pb.GeneratedMessage {
static final $pb.BuilderInfo _i = $pb.BuilderInfo(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'OptionalInt', package: const $pb.PackageName(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'gitjournal'), createEmptyInstance: create)
..aInt64(1, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'value')
..hasRequiredFields = false
;
OptionalInt._() : super();
factory OptionalInt({
$fixnum.Int64? value,
}) {
final _result = create();
if (value != null) {
_result.value = value;
}
return _result;
}
factory OptionalInt.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
factory OptionalInt.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
@$core.Deprecated(
'Using this can add significant overhead to your binary. '
'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
'Will be removed in next major version')
OptionalInt clone() => OptionalInt()..mergeFromMessage(this);
@$core.Deprecated(
'Using this can add significant overhead to your binary. '
'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
'Will be removed in next major version')
OptionalInt copyWith(void Function(OptionalInt) updates) => super.copyWith((message) => updates(message as OptionalInt)) as OptionalInt; // ignore: deprecated_member_use
$pb.BuilderInfo get info_ => _i;
@$core.pragma('dart2js:noInline')
static OptionalInt create() => OptionalInt._();
OptionalInt createEmptyInstance() => create();
static $pb.PbList<OptionalInt> createRepeated() => $pb.PbList<OptionalInt>();
@$core.pragma('dart2js:noInline')
static OptionalInt getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<OptionalInt>(create);
static OptionalInt? _defaultInstance;
@$pb.TagNumber(1)
$fixnum.Int64 get value => $_getI64(0);
@$pb.TagNumber(1)
set value($fixnum.Int64 v) { $_setInt64(0, v); }
@$pb.TagNumber(1)
$core.bool hasValue() => $_has(0);
@$pb.TagNumber(1)
void clearValue() => clearField(1);
}
class OptionalDouble extends $pb.GeneratedMessage {
static final $pb.BuilderInfo _i = $pb.BuilderInfo(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'OptionalDouble', package: const $pb.PackageName(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'gitjournal'), createEmptyInstance: create)
..a<$core.double>(1, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'value', $pb.PbFieldType.OD)
..hasRequiredFields = false
;
OptionalDouble._() : super();
factory OptionalDouble({
$core.double? value,
}) {
final _result = create();
if (value != null) {
_result.value = value;
}
return _result;
}
factory OptionalDouble.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
factory OptionalDouble.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
@$core.Deprecated(
'Using this can add significant overhead to your binary. '
'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
'Will be removed in next major version')
OptionalDouble clone() => OptionalDouble()..mergeFromMessage(this);
@$core.Deprecated(
'Using this can add significant overhead to your binary. '
'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
'Will be removed in next major version')
OptionalDouble copyWith(void Function(OptionalDouble) updates) => super.copyWith((message) => updates(message as OptionalDouble)) as OptionalDouble; // ignore: deprecated_member_use
$pb.BuilderInfo get info_ => _i;
@$core.pragma('dart2js:noInline')
static OptionalDouble create() => OptionalDouble._();
OptionalDouble createEmptyInstance() => create();
static $pb.PbList<OptionalDouble> createRepeated() => $pb.PbList<OptionalDouble>();
@$core.pragma('dart2js:noInline')
static OptionalDouble getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<OptionalDouble>(create);
static OptionalDouble? _defaultInstance;
@$pb.TagNumber(1)
$core.double get value => $_getN(0);
@$pb.TagNumber(1)
set value($core.double v) { $_setDouble(0, v); }
@$pb.TagNumber(1)
$core.bool hasValue() => $_has(0);
@$pb.TagNumber(1)
void clearValue() => clearField(1);
}
class OptionalString extends $pb.GeneratedMessage {
static final $pb.BuilderInfo _i = $pb.BuilderInfo(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'OptionalString', package: const $pb.PackageName(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'gitjournal'), createEmptyInstance: create)
..aOS(1, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'value')
..hasRequiredFields = false
;
OptionalString._() : super();
factory OptionalString({
$core.String? value,
}) {
final _result = create();
if (value != null) {
_result.value = value;
}
return _result;
}
factory OptionalString.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
factory OptionalString.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
@$core.Deprecated(
'Using this can add significant overhead to your binary. '
'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
'Will be removed in next major version')
OptionalString clone() => OptionalString()..mergeFromMessage(this);
@$core.Deprecated(
'Using this can add significant overhead to your binary. '
'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
'Will be removed in next major version')
OptionalString copyWith(void Function(OptionalString) updates) => super.copyWith((message) => updates(message as OptionalString)) as OptionalString; // ignore: deprecated_member_use
$pb.BuilderInfo get info_ => _i;
@$core.pragma('dart2js:noInline')
static OptionalString create() => OptionalString._();
OptionalString createEmptyInstance() => create();
static $pb.PbList<OptionalString> createRepeated() => $pb.PbList<OptionalString>();
@$core.pragma('dart2js:noInline')
static OptionalString getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<OptionalString>(create);
static OptionalString? _defaultInstance;
@$pb.TagNumber(1)
$core.String get value => $_getSZ(0);
@$pb.TagNumber(1)
set value($core.String v) { $_setString(0, v); }
@$pb.TagNumber(1)
$core.bool hasValue() => $_has(0);
@$pb.TagNumber(1)
void clearValue() => clearField(1);
}
class StringListMessage extends $pb.GeneratedMessage {
static final $pb.BuilderInfo _i = $pb.BuilderInfo(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'StringListMessage', package: const $pb.PackageName(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'gitjournal'), createEmptyInstance: create)
..pPS(1, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'value')
..hasRequiredFields = false
;
StringListMessage._() : super();
factory StringListMessage({
$core.Iterable<$core.String>? value,
}) {
final _result = create();
if (value != null) {
_result.value.addAll(value);
}
return _result;
}
factory StringListMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
factory StringListMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
@$core.Deprecated(
'Using this can add significant overhead to your binary. '
'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
'Will be removed in next major version')
StringListMessage clone() => StringListMessage()..mergeFromMessage(this);
@$core.Deprecated(
'Using this can add significant overhead to your binary. '
'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
'Will be removed in next major version')
StringListMessage copyWith(void Function(StringListMessage) updates) => super.copyWith((message) => updates(message as StringListMessage)) as StringListMessage; // ignore: deprecated_member_use
$pb.BuilderInfo get info_ => _i;
@$core.pragma('dart2js:noInline')
static StringListMessage create() => StringListMessage._();
StringListMessage createEmptyInstance() => create();
static $pb.PbList<StringListMessage> createRepeated() => $pb.PbList<StringListMessage>();
@$core.pragma('dart2js:noInline')
static StringListMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<StringListMessage>(create);
static StringListMessage? _defaultInstance;
@$pb.TagNumber(1)
$core.List<$core.String> get value => $_getList(0);
}
class SetBoolRequest extends $pb.GeneratedMessage {
static final $pb.BuilderInfo _i = $pb.BuilderInfo(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'SetBoolRequest', package: const $pb.PackageName(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'gitjournal'), createEmptyInstance: create)
..aOS(1, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'key')
..aOB(2, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'value')
..hasRequiredFields = false
;
SetBoolRequest._() : super();
factory SetBoolRequest({
$core.String? key,
$core.bool? value,
}) {
final _result = create();
if (key != null) {
_result.key = key;
}
if (value != null) {
_result.value = value;
}
return _result;
}
factory SetBoolRequest.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
factory SetBoolRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
@$core.Deprecated(
'Using this can add significant overhead to your binary. '
'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
'Will be removed in next major version')
SetBoolRequest clone() => SetBoolRequest()..mergeFromMessage(this);
@$core.Deprecated(
'Using this can add significant overhead to your binary. '
'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
'Will be removed in next major version')
SetBoolRequest copyWith(void Function(SetBoolRequest) updates) => super.copyWith((message) => updates(message as SetBoolRequest)) as SetBoolRequest; // ignore: deprecated_member_use
$pb.BuilderInfo get info_ => _i;
@$core.pragma('dart2js:noInline')
static SetBoolRequest create() => SetBoolRequest._();
SetBoolRequest createEmptyInstance() => create();
static $pb.PbList<SetBoolRequest> createRepeated() => $pb.PbList<SetBoolRequest>();
@$core.pragma('dart2js:noInline')
static SetBoolRequest getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<SetBoolRequest>(create);
static SetBoolRequest? _defaultInstance;
@$pb.TagNumber(1)
$core.String get key => $_getSZ(0);
@$pb.TagNumber(1)
set key($core.String v) { $_setString(0, v); }
@$pb.TagNumber(1)
$core.bool hasKey() => $_has(0);
@$pb.TagNumber(1)
void clearKey() => clearField(1);
@$pb.TagNumber(2)
$core.bool get value => $_getBF(1);
@$pb.TagNumber(2)
set value($core.bool v) { $_setBool(1, v); }
@$pb.TagNumber(2)
$core.bool hasValue() => $_has(1);
@$pb.TagNumber(2)
void clearValue() => clearField(2);
}
class SetIntRequest extends $pb.GeneratedMessage {
static final $pb.BuilderInfo _i = $pb.BuilderInfo(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'SetIntRequest', package: const $pb.PackageName(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'gitjournal'), createEmptyInstance: create)
..aOS(1, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'key')
..aInt64(2, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'value')
..hasRequiredFields = false
;
SetIntRequest._() : super();
factory SetIntRequest({
$core.String? key,
$fixnum.Int64? value,
}) {
final _result = create();
if (key != null) {
_result.key = key;
}
if (value != null) {
_result.value = value;
}
return _result;
}
factory SetIntRequest.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
factory SetIntRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
@$core.Deprecated(
'Using this can add significant overhead to your binary. '
'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
'Will be removed in next major version')
SetIntRequest clone() => SetIntRequest()..mergeFromMessage(this);
@$core.Deprecated(
'Using this can add significant overhead to your binary. '
'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
'Will be removed in next major version')
SetIntRequest copyWith(void Function(SetIntRequest) updates) => super.copyWith((message) => updates(message as SetIntRequest)) as SetIntRequest; // ignore: deprecated_member_use
$pb.BuilderInfo get info_ => _i;
@$core.pragma('dart2js:noInline')
static SetIntRequest create() => SetIntRequest._();
SetIntRequest createEmptyInstance() => create();
static $pb.PbList<SetIntRequest> createRepeated() => $pb.PbList<SetIntRequest>();
@$core.pragma('dart2js:noInline')
static SetIntRequest getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<SetIntRequest>(create);
static SetIntRequest? _defaultInstance;
@$pb.TagNumber(1)
$core.String get key => $_getSZ(0);
@$pb.TagNumber(1)
set key($core.String v) { $_setString(0, v); }
@$pb.TagNumber(1)
$core.bool hasKey() => $_has(0);
@$pb.TagNumber(1)
void clearKey() => clearField(1);
@$pb.TagNumber(2)
$fixnum.Int64 get value => $_getI64(1);
@$pb.TagNumber(2)
set value($fixnum.Int64 v) { $_setInt64(1, v); }
@$pb.TagNumber(2)
$core.bool hasValue() => $_has(1);
@$pb.TagNumber(2)
void clearValue() => clearField(2);
}
class SetDoubleRequest extends $pb.GeneratedMessage {
static final $pb.BuilderInfo _i = $pb.BuilderInfo(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'SetDoubleRequest', package: const $pb.PackageName(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'gitjournal'), createEmptyInstance: create)
..aOS(1, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'key')
..a<$core.double>(2, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'value', $pb.PbFieldType.OD)
..hasRequiredFields = false
;
SetDoubleRequest._() : super();
factory SetDoubleRequest({
$core.String? key,
$core.double? value,
}) {
final _result = create();
if (key != null) {
_result.key = key;
}
if (value != null) {
_result.value = value;
}
return _result;
}
factory SetDoubleRequest.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
factory SetDoubleRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
@$core.Deprecated(
'Using this can add significant overhead to your binary. '
'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
'Will be removed in next major version')
SetDoubleRequest clone() => SetDoubleRequest()..mergeFromMessage(this);
@$core.Deprecated(
'Using this can add significant overhead to your binary. '
'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
'Will be removed in next major version')
SetDoubleRequest copyWith(void Function(SetDoubleRequest) updates) => super.copyWith((message) => updates(message as SetDoubleRequest)) as SetDoubleRequest; // ignore: deprecated_member_use
$pb.BuilderInfo get info_ => _i;
@$core.pragma('dart2js:noInline')
static SetDoubleRequest create() => SetDoubleRequest._();
SetDoubleRequest createEmptyInstance() => create();
static $pb.PbList<SetDoubleRequest> createRepeated() => $pb.PbList<SetDoubleRequest>();
@$core.pragma('dart2js:noInline')
static SetDoubleRequest getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<SetDoubleRequest>(create);
static SetDoubleRequest? _defaultInstance;
@$pb.TagNumber(1)
$core.String get key => $_getSZ(0);
@$pb.TagNumber(1)
set key($core.String v) { $_setString(0, v); }
@$pb.TagNumber(1)
$core.bool hasKey() => $_has(0);
@$pb.TagNumber(1)
void clearKey() => clearField(1);
@$pb.TagNumber(2)
$core.double get value => $_getN(1);
@$pb.TagNumber(2)
set value($core.double v) { $_setDouble(1, v); }
@$pb.TagNumber(2)
$core.bool hasValue() => $_has(1);
@$pb.TagNumber(2)
void clearValue() => clearField(2);
}
class SetStringRequest extends $pb.GeneratedMessage {
static final $pb.BuilderInfo _i = $pb.BuilderInfo(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'SetStringRequest', package: const $pb.PackageName(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'gitjournal'), createEmptyInstance: create)
..aOS(1, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'key')
..aOS(2, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'value')
..hasRequiredFields = false
;
SetStringRequest._() : super();
factory SetStringRequest({
$core.String? key,
$core.String? value,
}) {
final _result = create();
if (key != null) {
_result.key = key;
}
if (value != null) {
_result.value = value;
}
return _result;
}
factory SetStringRequest.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
factory SetStringRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
@$core.Deprecated(
'Using this can add significant overhead to your binary. '
'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
'Will be removed in next major version')
SetStringRequest clone() => SetStringRequest()..mergeFromMessage(this);
@$core.Deprecated(
'Using this can add significant overhead to your binary. '
'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
'Will be removed in next major version')
SetStringRequest copyWith(void Function(SetStringRequest) updates) => super.copyWith((message) => updates(message as SetStringRequest)) as SetStringRequest; // ignore: deprecated_member_use
$pb.BuilderInfo get info_ => _i;
@$core.pragma('dart2js:noInline')
static SetStringRequest create() => SetStringRequest._();
SetStringRequest createEmptyInstance() => create();
static $pb.PbList<SetStringRequest> createRepeated() => $pb.PbList<SetStringRequest>();
@$core.pragma('dart2js:noInline')
static SetStringRequest getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<SetStringRequest>(create);
static SetStringRequest? _defaultInstance;
@$pb.TagNumber(1)
$core.String get key => $_getSZ(0);
@$pb.TagNumber(1)
set key($core.String v) { $_setString(0, v); }
@$pb.TagNumber(1)
$core.bool hasKey() => $_has(0);
@$pb.TagNumber(1)
void clearKey() => clearField(1);
@$pb.TagNumber(2)
$core.String get value => $_getSZ(1);
@$pb.TagNumber(2)
set value($core.String v) { $_setString(1, v); }
@$pb.TagNumber(2)
$core.bool hasValue() => $_has(1);
@$pb.TagNumber(2)
void clearValue() => clearField(2);
}
class SetStringListRequest extends $pb.GeneratedMessage {
static final $pb.BuilderInfo _i = $pb.BuilderInfo(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'SetStringListRequest', package: const $pb.PackageName(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'gitjournal'), createEmptyInstance: create)
..aOS(1, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'key')
..pPS(2, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'value')
..hasRequiredFields = false
;
SetStringListRequest._() : super();
factory SetStringListRequest({
$core.String? key,
$core.Iterable<$core.String>? value,
}) {
final _result = create();
if (key != null) {
_result.key = key;
}
if (value != null) {
_result.value.addAll(value);
}
return _result;
}
factory SetStringListRequest.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
factory SetStringListRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
@$core.Deprecated(
'Using this can add significant overhead to your binary. '
'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
'Will be removed in next major version')
SetStringListRequest clone() => SetStringListRequest()..mergeFromMessage(this);
@$core.Deprecated(
'Using this can add significant overhead to your binary. '
'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
'Will be removed in next major version')
SetStringListRequest copyWith(void Function(SetStringListRequest) updates) => super.copyWith((message) => updates(message as SetStringListRequest)) as SetStringListRequest; // ignore: deprecated_member_use
$pb.BuilderInfo get info_ => _i;
@$core.pragma('dart2js:noInline')
static SetStringListRequest create() => SetStringListRequest._();
SetStringListRequest createEmptyInstance() => create();
static $pb.PbList<SetStringListRequest> createRepeated() => $pb.PbList<SetStringListRequest>();
@$core.pragma('dart2js:noInline')
static SetStringListRequest getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<SetStringListRequest>(create);
static SetStringListRequest? _defaultInstance;
@$pb.TagNumber(1)
$core.String get key => $_getSZ(0);
@$pb.TagNumber(1)
set key($core.String v) { $_setString(0, v); }
@$pb.TagNumber(1)
$core.bool hasKey() => $_has(0);
@$pb.TagNumber(1)
void clearKey() => clearField(1);
@$pb.TagNumber(2)
$core.List<$core.String> get value => $_getList(1);
}

View File

@ -0,0 +1,7 @@
///
// Generated code. Do not modify.
// source: shared_preferences.proto
//
// @dart = 2.12
// ignore_for_file: annotate_overrides,camel_case_types,unnecessary_const,non_constant_identifier_names,library_prefixes,unused_import,unused_shown_name,return_of_invalid_type,unnecessary_this,prefer_final_fields

View File

@ -0,0 +1,345 @@
///
// Generated code. Do not modify.
// source: shared_preferences.proto
//
// @dart = 2.12
// ignore_for_file: annotate_overrides,camel_case_types,unnecessary_const,non_constant_identifier_names,library_prefixes,unused_import,unused_shown_name,return_of_invalid_type,unnecessary_this,prefer_final_fields
import 'dart:async' as $async;
import 'dart:core' as $core;
import 'package:grpc/service_api.dart' as $grpc;
import 'shared_preferences.pb.dart' as $0;
export 'shared_preferences.pb.dart';
class SharedPreferencesClient extends $grpc.Client {
static final _$getKeys =
$grpc.ClientMethod<$0.EmptyMessage, $0.StringListMessage>(
'/gitjournal.SharedPreferences/GetKeys',
($0.EmptyMessage value) => value.writeToBuffer(),
($core.List<$core.int> value) =>
$0.StringListMessage.fromBuffer(value));
static final _$getBool =
$grpc.ClientMethod<$0.StringMessage, $0.OptionalBool>(
'/gitjournal.SharedPreferences/GetBool',
($0.StringMessage value) => value.writeToBuffer(),
($core.List<$core.int> value) => $0.OptionalBool.fromBuffer(value));
static final _$getInt = $grpc.ClientMethod<$0.StringMessage, $0.OptionalInt>(
'/gitjournal.SharedPreferences/GetInt',
($0.StringMessage value) => value.writeToBuffer(),
($core.List<$core.int> value) => $0.OptionalInt.fromBuffer(value));
static final _$getDouble =
$grpc.ClientMethod<$0.StringMessage, $0.OptionalDouble>(
'/gitjournal.SharedPreferences/GetDouble',
($0.StringMessage value) => value.writeToBuffer(),
($core.List<$core.int> value) => $0.OptionalDouble.fromBuffer(value));
static final _$getString =
$grpc.ClientMethod<$0.StringMessage, $0.OptionalString>(
'/gitjournal.SharedPreferences/GetString',
($0.StringMessage value) => value.writeToBuffer(),
($core.List<$core.int> value) => $0.OptionalString.fromBuffer(value));
static final _$getStringList =
$grpc.ClientMethod<$0.StringMessage, $0.StringListMessage>(
'/gitjournal.SharedPreferences/GetStringList',
($0.StringMessage value) => value.writeToBuffer(),
($core.List<$core.int> value) =>
$0.StringListMessage.fromBuffer(value));
static final _$containsKey =
$grpc.ClientMethod<$0.StringMessage, $0.BoolMessage>(
'/gitjournal.SharedPreferences/ContainsKey',
($0.StringMessage value) => value.writeToBuffer(),
($core.List<$core.int> value) => $0.BoolMessage.fromBuffer(value));
static final _$setBool =
$grpc.ClientMethod<$0.SetBoolRequest, $0.BoolMessage>(
'/gitjournal.SharedPreferences/SetBool',
($0.SetBoolRequest value) => value.writeToBuffer(),
($core.List<$core.int> value) => $0.BoolMessage.fromBuffer(value));
static final _$setInt = $grpc.ClientMethod<$0.SetIntRequest, $0.BoolMessage>(
'/gitjournal.SharedPreferences/SetInt',
($0.SetIntRequest value) => value.writeToBuffer(),
($core.List<$core.int> value) => $0.BoolMessage.fromBuffer(value));
static final _$setDouble =
$grpc.ClientMethod<$0.SetDoubleRequest, $0.BoolMessage>(
'/gitjournal.SharedPreferences/SetDouble',
($0.SetDoubleRequest value) => value.writeToBuffer(),
($core.List<$core.int> value) => $0.BoolMessage.fromBuffer(value));
static final _$setString =
$grpc.ClientMethod<$0.SetStringRequest, $0.BoolMessage>(
'/gitjournal.SharedPreferences/SetString',
($0.SetStringRequest value) => value.writeToBuffer(),
($core.List<$core.int> value) => $0.BoolMessage.fromBuffer(value));
static final _$setStringList =
$grpc.ClientMethod<$0.SetStringListRequest, $0.BoolMessage>(
'/gitjournal.SharedPreferences/SetStringList',
($0.SetStringListRequest value) => value.writeToBuffer(),
($core.List<$core.int> value) => $0.BoolMessage.fromBuffer(value));
static final _$remove = $grpc.ClientMethod<$0.StringMessage, $0.BoolMessage>(
'/gitjournal.SharedPreferences/Remove',
($0.StringMessage value) => value.writeToBuffer(),
($core.List<$core.int> value) => $0.BoolMessage.fromBuffer(value));
SharedPreferencesClient($grpc.ClientChannel channel,
{$grpc.CallOptions? options,
$core.Iterable<$grpc.ClientInterceptor>? interceptors})
: super(channel, options: options, interceptors: interceptors);
$grpc.ResponseFuture<$0.StringListMessage> getKeys($0.EmptyMessage request,
{$grpc.CallOptions? options}) {
return $createUnaryCall(_$getKeys, request, options: options);
}
$grpc.ResponseFuture<$0.OptionalBool> getBool($0.StringMessage request,
{$grpc.CallOptions? options}) {
return $createUnaryCall(_$getBool, request, options: options);
}
$grpc.ResponseFuture<$0.OptionalInt> getInt($0.StringMessage request,
{$grpc.CallOptions? options}) {
return $createUnaryCall(_$getInt, request, options: options);
}
$grpc.ResponseFuture<$0.OptionalDouble> getDouble($0.StringMessage request,
{$grpc.CallOptions? options}) {
return $createUnaryCall(_$getDouble, request, options: options);
}
$grpc.ResponseFuture<$0.OptionalString> getString($0.StringMessage request,
{$grpc.CallOptions? options}) {
return $createUnaryCall(_$getString, request, options: options);
}
$grpc.ResponseFuture<$0.StringListMessage> getStringList(
$0.StringMessage request,
{$grpc.CallOptions? options}) {
return $createUnaryCall(_$getStringList, request, options: options);
}
$grpc.ResponseFuture<$0.BoolMessage> containsKey($0.StringMessage request,
{$grpc.CallOptions? options}) {
return $createUnaryCall(_$containsKey, request, options: options);
}
$grpc.ResponseFuture<$0.BoolMessage> setBool($0.SetBoolRequest request,
{$grpc.CallOptions? options}) {
return $createUnaryCall(_$setBool, request, options: options);
}
$grpc.ResponseFuture<$0.BoolMessage> setInt($0.SetIntRequest request,
{$grpc.CallOptions? options}) {
return $createUnaryCall(_$setInt, request, options: options);
}
$grpc.ResponseFuture<$0.BoolMessage> setDouble($0.SetDoubleRequest request,
{$grpc.CallOptions? options}) {
return $createUnaryCall(_$setDouble, request, options: options);
}
$grpc.ResponseFuture<$0.BoolMessage> setString($0.SetStringRequest request,
{$grpc.CallOptions? options}) {
return $createUnaryCall(_$setString, request, options: options);
}
$grpc.ResponseFuture<$0.BoolMessage> setStringList(
$0.SetStringListRequest request,
{$grpc.CallOptions? options}) {
return $createUnaryCall(_$setStringList, request, options: options);
}
$grpc.ResponseFuture<$0.BoolMessage> remove($0.StringMessage request,
{$grpc.CallOptions? options}) {
return $createUnaryCall(_$remove, request, options: options);
}
}
abstract class SharedPreferencesServiceBase extends $grpc.Service {
$core.String get $name => 'gitjournal.SharedPreferences';
SharedPreferencesServiceBase() {
$addMethod($grpc.ServiceMethod<$0.EmptyMessage, $0.StringListMessage>(
'GetKeys',
getKeys_Pre,
false,
false,
($core.List<$core.int> value) => $0.EmptyMessage.fromBuffer(value),
($0.StringListMessage value) => value.writeToBuffer()));
$addMethod($grpc.ServiceMethod<$0.StringMessage, $0.OptionalBool>(
'GetBool',
getBool_Pre,
false,
false,
($core.List<$core.int> value) => $0.StringMessage.fromBuffer(value),
($0.OptionalBool value) => value.writeToBuffer()));
$addMethod($grpc.ServiceMethod<$0.StringMessage, $0.OptionalInt>(
'GetInt',
getInt_Pre,
false,
false,
($core.List<$core.int> value) => $0.StringMessage.fromBuffer(value),
($0.OptionalInt value) => value.writeToBuffer()));
$addMethod($grpc.ServiceMethod<$0.StringMessage, $0.OptionalDouble>(
'GetDouble',
getDouble_Pre,
false,
false,
($core.List<$core.int> value) => $0.StringMessage.fromBuffer(value),
($0.OptionalDouble value) => value.writeToBuffer()));
$addMethod($grpc.ServiceMethod<$0.StringMessage, $0.OptionalString>(
'GetString',
getString_Pre,
false,
false,
($core.List<$core.int> value) => $0.StringMessage.fromBuffer(value),
($0.OptionalString value) => value.writeToBuffer()));
$addMethod($grpc.ServiceMethod<$0.StringMessage, $0.StringListMessage>(
'GetStringList',
getStringList_Pre,
false,
false,
($core.List<$core.int> value) => $0.StringMessage.fromBuffer(value),
($0.StringListMessage value) => value.writeToBuffer()));
$addMethod($grpc.ServiceMethod<$0.StringMessage, $0.BoolMessage>(
'ContainsKey',
containsKey_Pre,
false,
false,
($core.List<$core.int> value) => $0.StringMessage.fromBuffer(value),
($0.BoolMessage value) => value.writeToBuffer()));
$addMethod($grpc.ServiceMethod<$0.SetBoolRequest, $0.BoolMessage>(
'SetBool',
setBool_Pre,
false,
false,
($core.List<$core.int> value) => $0.SetBoolRequest.fromBuffer(value),
($0.BoolMessage value) => value.writeToBuffer()));
$addMethod($grpc.ServiceMethod<$0.SetIntRequest, $0.BoolMessage>(
'SetInt',
setInt_Pre,
false,
false,
($core.List<$core.int> value) => $0.SetIntRequest.fromBuffer(value),
($0.BoolMessage value) => value.writeToBuffer()));
$addMethod($grpc.ServiceMethod<$0.SetDoubleRequest, $0.BoolMessage>(
'SetDouble',
setDouble_Pre,
false,
false,
($core.List<$core.int> value) => $0.SetDoubleRequest.fromBuffer(value),
($0.BoolMessage value) => value.writeToBuffer()));
$addMethod($grpc.ServiceMethod<$0.SetStringRequest, $0.BoolMessage>(
'SetString',
setString_Pre,
false,
false,
($core.List<$core.int> value) => $0.SetStringRequest.fromBuffer(value),
($0.BoolMessage value) => value.writeToBuffer()));
$addMethod($grpc.ServiceMethod<$0.SetStringListRequest, $0.BoolMessage>(
'SetStringList',
setStringList_Pre,
false,
false,
($core.List<$core.int> value) =>
$0.SetStringListRequest.fromBuffer(value),
($0.BoolMessage value) => value.writeToBuffer()));
$addMethod($grpc.ServiceMethod<$0.StringMessage, $0.BoolMessage>(
'Remove',
remove_Pre,
false,
false,
($core.List<$core.int> value) => $0.StringMessage.fromBuffer(value),
($0.BoolMessage value) => value.writeToBuffer()));
}
$async.Future<$0.StringListMessage> getKeys_Pre(
$grpc.ServiceCall call, $async.Future<$0.EmptyMessage> request) async {
return getKeys(call, await request);
}
$async.Future<$0.OptionalBool> getBool_Pre(
$grpc.ServiceCall call, $async.Future<$0.StringMessage> request) async {
return getBool(call, await request);
}
$async.Future<$0.OptionalInt> getInt_Pre(
$grpc.ServiceCall call, $async.Future<$0.StringMessage> request) async {
return getInt(call, await request);
}
$async.Future<$0.OptionalDouble> getDouble_Pre(
$grpc.ServiceCall call, $async.Future<$0.StringMessage> request) async {
return getDouble(call, await request);
}
$async.Future<$0.OptionalString> getString_Pre(
$grpc.ServiceCall call, $async.Future<$0.StringMessage> request) async {
return getString(call, await request);
}
$async.Future<$0.StringListMessage> getStringList_Pre(
$grpc.ServiceCall call, $async.Future<$0.StringMessage> request) async {
return getStringList(call, await request);
}
$async.Future<$0.BoolMessage> containsKey_Pre(
$grpc.ServiceCall call, $async.Future<$0.StringMessage> request) async {
return containsKey(call, await request);
}
$async.Future<$0.BoolMessage> setBool_Pre(
$grpc.ServiceCall call, $async.Future<$0.SetBoolRequest> request) async {
return setBool(call, await request);
}
$async.Future<$0.BoolMessage> setInt_Pre(
$grpc.ServiceCall call, $async.Future<$0.SetIntRequest> request) async {
return setInt(call, await request);
}
$async.Future<$0.BoolMessage> setDouble_Pre($grpc.ServiceCall call,
$async.Future<$0.SetDoubleRequest> request) async {
return setDouble(call, await request);
}
$async.Future<$0.BoolMessage> setString_Pre($grpc.ServiceCall call,
$async.Future<$0.SetStringRequest> request) async {
return setString(call, await request);
}
$async.Future<$0.BoolMessage> setStringList_Pre($grpc.ServiceCall call,
$async.Future<$0.SetStringListRequest> request) async {
return setStringList(call, await request);
}
$async.Future<$0.BoolMessage> remove_Pre(
$grpc.ServiceCall call, $async.Future<$0.StringMessage> request) async {
return remove(call, await request);
}
$async.Future<$0.StringListMessage> getKeys(
$grpc.ServiceCall call, $0.EmptyMessage request);
$async.Future<$0.OptionalBool> getBool(
$grpc.ServiceCall call, $0.StringMessage request);
$async.Future<$0.OptionalInt> getInt(
$grpc.ServiceCall call, $0.StringMessage request);
$async.Future<$0.OptionalDouble> getDouble(
$grpc.ServiceCall call, $0.StringMessage request);
$async.Future<$0.OptionalString> getString(
$grpc.ServiceCall call, $0.StringMessage request);
$async.Future<$0.StringListMessage> getStringList(
$grpc.ServiceCall call, $0.StringMessage request);
$async.Future<$0.BoolMessage> containsKey(
$grpc.ServiceCall call, $0.StringMessage request);
$async.Future<$0.BoolMessage> setBool(
$grpc.ServiceCall call, $0.SetBoolRequest request);
$async.Future<$0.BoolMessage> setInt(
$grpc.ServiceCall call, $0.SetIntRequest request);
$async.Future<$0.BoolMessage> setDouble(
$grpc.ServiceCall call, $0.SetDoubleRequest request);
$async.Future<$0.BoolMessage> setString(
$grpc.ServiceCall call, $0.SetStringRequest request);
$async.Future<$0.BoolMessage> setStringList(
$grpc.ServiceCall call, $0.SetStringListRequest request);
$async.Future<$0.BoolMessage> remove(
$grpc.ServiceCall call, $0.StringMessage request);
}

View File

@ -0,0 +1,155 @@
///
// Generated code. Do not modify.
// source: shared_preferences.proto
//
// @dart = 2.12
// ignore_for_file: annotate_overrides,camel_case_types,unnecessary_const,non_constant_identifier_names,library_prefixes,unused_import,unused_shown_name,return_of_invalid_type,unnecessary_this,prefer_final_fields,deprecated_member_use_from_same_package
import 'dart:convert' as $convert;
import 'dart:core' as $core;
import 'dart:typed_data' as $typed_data;
@$core.Deprecated('Use emptyMessageDescriptor instead')
const EmptyMessage$json = const {
'1': 'EmptyMessage',
};
/// Descriptor for `EmptyMessage`. Decode as a `google.protobuf.DescriptorProto`.
final $typed_data.Uint8List emptyMessageDescriptor = $convert.base64Decode('CgxFbXB0eU1lc3NhZ2U=');
@$core.Deprecated('Use stringMessageDescriptor instead')
const StringMessage$json = const {
'1': 'StringMessage',
'2': const [
const {'1': 'value', '3': 1, '4': 1, '5': 9, '10': 'value'},
],
};
/// Descriptor for `StringMessage`. Decode as a `google.protobuf.DescriptorProto`.
final $typed_data.Uint8List stringMessageDescriptor = $convert.base64Decode('Cg1TdHJpbmdNZXNzYWdlEhQKBXZhbHVlGAEgASgJUgV2YWx1ZQ==');
@$core.Deprecated('Use boolMessageDescriptor instead')
const BoolMessage$json = const {
'1': 'BoolMessage',
'2': const [
const {'1': 'value', '3': 1, '4': 1, '5': 8, '10': 'value'},
],
};
/// Descriptor for `BoolMessage`. Decode as a `google.protobuf.DescriptorProto`.
final $typed_data.Uint8List boolMessageDescriptor = $convert.base64Decode('CgtCb29sTWVzc2FnZRIUCgV2YWx1ZRgBIAEoCFIFdmFsdWU=');
@$core.Deprecated('Use optionalBoolDescriptor instead')
const OptionalBool$json = const {
'1': 'OptionalBool',
'2': const [
const {'1': 'value', '3': 1, '4': 1, '5': 8, '9': 0, '10': 'value', '17': true},
],
'8': const [
const {'1': '_value'},
],
};
/// Descriptor for `OptionalBool`. Decode as a `google.protobuf.DescriptorProto`.
final $typed_data.Uint8List optionalBoolDescriptor = $convert.base64Decode('CgxPcHRpb25hbEJvb2wSGQoFdmFsdWUYASABKAhIAFIFdmFsdWWIAQFCCAoGX3ZhbHVl');
@$core.Deprecated('Use optionalIntDescriptor instead')
const OptionalInt$json = const {
'1': 'OptionalInt',
'2': const [
const {'1': 'value', '3': 1, '4': 1, '5': 3, '9': 0, '10': 'value', '17': true},
],
'8': const [
const {'1': '_value'},
],
};
/// Descriptor for `OptionalInt`. Decode as a `google.protobuf.DescriptorProto`.
final $typed_data.Uint8List optionalIntDescriptor = $convert.base64Decode('CgtPcHRpb25hbEludBIZCgV2YWx1ZRgBIAEoA0gAUgV2YWx1ZYgBAUIICgZfdmFsdWU=');
@$core.Deprecated('Use optionalDoubleDescriptor instead')
const OptionalDouble$json = const {
'1': 'OptionalDouble',
'2': const [
const {'1': 'value', '3': 1, '4': 1, '5': 1, '9': 0, '10': 'value', '17': true},
],
'8': const [
const {'1': '_value'},
],
};
/// Descriptor for `OptionalDouble`. Decode as a `google.protobuf.DescriptorProto`.
final $typed_data.Uint8List optionalDoubleDescriptor = $convert.base64Decode('Cg5PcHRpb25hbERvdWJsZRIZCgV2YWx1ZRgBIAEoAUgAUgV2YWx1ZYgBAUIICgZfdmFsdWU=');
@$core.Deprecated('Use optionalStringDescriptor instead')
const OptionalString$json = const {
'1': 'OptionalString',
'2': const [
const {'1': 'value', '3': 1, '4': 1, '5': 9, '9': 0, '10': 'value', '17': true},
],
'8': const [
const {'1': '_value'},
],
};
/// Descriptor for `OptionalString`. Decode as a `google.protobuf.DescriptorProto`.
final $typed_data.Uint8List optionalStringDescriptor = $convert.base64Decode('Cg5PcHRpb25hbFN0cmluZxIZCgV2YWx1ZRgBIAEoCUgAUgV2YWx1ZYgBAUIICgZfdmFsdWU=');
@$core.Deprecated('Use stringListMessageDescriptor instead')
const StringListMessage$json = const {
'1': 'StringListMessage',
'2': const [
const {'1': 'value', '3': 1, '4': 3, '5': 9, '10': 'value'},
],
};
/// Descriptor for `StringListMessage`. Decode as a `google.protobuf.DescriptorProto`.
final $typed_data.Uint8List stringListMessageDescriptor = $convert.base64Decode('ChFTdHJpbmdMaXN0TWVzc2FnZRIUCgV2YWx1ZRgBIAMoCVIFdmFsdWU=');
@$core.Deprecated('Use setBoolRequestDescriptor instead')
const SetBoolRequest$json = const {
'1': 'SetBoolRequest',
'2': const [
const {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'},
const {'1': 'value', '3': 2, '4': 1, '5': 8, '10': 'value'},
],
};
/// Descriptor for `SetBoolRequest`. Decode as a `google.protobuf.DescriptorProto`.
final $typed_data.Uint8List setBoolRequestDescriptor = $convert.base64Decode('Cg5TZXRCb29sUmVxdWVzdBIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoCFIFdmFsdWU=');
@$core.Deprecated('Use setIntRequestDescriptor instead')
const SetIntRequest$json = const {
'1': 'SetIntRequest',
'2': const [
const {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'},
const {'1': 'value', '3': 2, '4': 1, '5': 3, '10': 'value'},
],
};
/// Descriptor for `SetIntRequest`. Decode as a `google.protobuf.DescriptorProto`.
final $typed_data.Uint8List setIntRequestDescriptor = $convert.base64Decode('Cg1TZXRJbnRSZXF1ZXN0EhAKA2tleRgBIAEoCVIDa2V5EhQKBXZhbHVlGAIgASgDUgV2YWx1ZQ==');
@$core.Deprecated('Use setDoubleRequestDescriptor instead')
const SetDoubleRequest$json = const {
'1': 'SetDoubleRequest',
'2': const [
const {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'},
const {'1': 'value', '3': 2, '4': 1, '5': 1, '10': 'value'},
],
};
/// Descriptor for `SetDoubleRequest`. Decode as a `google.protobuf.DescriptorProto`.
final $typed_data.Uint8List setDoubleRequestDescriptor = $convert.base64Decode('ChBTZXREb3VibGVSZXF1ZXN0EhAKA2tleRgBIAEoCVIDa2V5EhQKBXZhbHVlGAIgASgBUgV2YWx1ZQ==');
@$core.Deprecated('Use setStringRequestDescriptor instead')
const SetStringRequest$json = const {
'1': 'SetStringRequest',
'2': const [
const {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'},
const {'1': 'value', '3': 2, '4': 1, '5': 9, '10': 'value'},
],
};
/// Descriptor for `SetStringRequest`. Decode as a `google.protobuf.DescriptorProto`.
final $typed_data.Uint8List setStringRequestDescriptor = $convert.base64Decode('ChBTZXRTdHJpbmdSZXF1ZXN0EhAKA2tleRgBIAEoCVIDa2V5EhQKBXZhbHVlGAIgASgJUgV2YWx1ZQ==');
@$core.Deprecated('Use setStringListRequestDescriptor instead')
const SetStringListRequest$json = const {
'1': 'SetStringListRequest',
'2': const [
const {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'},
const {'1': 'value', '3': 2, '4': 3, '5': 9, '10': 'value'},
],
};
/// Descriptor for `SetStringListRequest`. Decode as a `google.protobuf.DescriptorProto`.
final $typed_data.Uint8List setStringListRequestDescriptor = $convert.base64Decode('ChRTZXRTdHJpbmdMaXN0UmVxdWVzdBIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAMoCVIFdmFsdWU=');

View File

@ -0,0 +1,52 @@
syntax = "proto3";
package gitjournal;
service SharedPreferences {
rpc GetKeys(EmptyMessage) returns (StringListMessage) {}
rpc GetBool(StringMessage) returns (OptionalBool) {}
rpc GetInt(StringMessage) returns (OptionalInt) {}
rpc GetDouble(StringMessage) returns (OptionalDouble) {}
rpc GetString(StringMessage) returns (OptionalString) {}
rpc GetStringList(StringMessage) returns (StringListMessage) {}
rpc ContainsKey(StringMessage) returns (BoolMessage) {}
rpc SetBool(SetBoolRequest) returns (BoolMessage) {}
rpc SetInt(SetIntRequest) returns (BoolMessage) {}
rpc SetDouble(SetDoubleRequest) returns (BoolMessage) {}
rpc SetString(SetStringRequest) returns (BoolMessage) {}
rpc SetStringList(SetStringListRequest) returns (BoolMessage) {}
rpc Remove(StringMessage) returns (BoolMessage) {}
}
message EmptyMessage {}
message StringMessage { string value = 1; }
message BoolMessage { bool value = 1; }
message OptionalBool { optional bool value = 1; }
message OptionalInt { optional int64 value = 1; }
message OptionalDouble { optional double value = 1; }
message OptionalString { optional string value = 1; }
message StringListMessage { repeated string value = 1; }
message SetBoolRequest {
string key = 1;
bool value = 2;
}
message SetIntRequest {
string key = 1;
int64 value = 2;
}
message SetDoubleRequest {
string key = 1;
double value = 2;
}
message SetStringRequest {
string key = 1;
string value = 2;
}
message SetStringListRequest {
string key = 1;
repeated string value = 2;
}

View File

@ -577,6 +577,13 @@ packages:
url: "https://pub.dartlang.org"
source: hosted
version: "2.1.0"
googleapis_auth:
dependency: transitive
description:
name: googleapis_auth
url: "https://pub.dartlang.org"
source: hosted
version: "1.1.0"
graphs:
dependency: transitive
description:
@ -584,6 +591,13 @@ packages:
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.0"
grpc:
dependency: "direct main"
description:
name: grpc
url: "https://pub.dartlang.org"
source: hosted
version: "3.0.0"
highlight:
dependency: transitive
description:
@ -598,6 +612,13 @@ packages:
url: "https://pub.dartlang.org"
source: hosted
version: "0.13.1"
http2:
dependency: transitive
description:
name: http2
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.0"
http_multi_server:
dependency: transitive
description:
@ -980,6 +1001,13 @@ packages:
url: "https://pub.dartlang.org"
source: hosted
version: "4.2.1"
protobuf:
dependency: "direct main"
description:
name: protobuf
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.0"
provider:
dependency: "direct main"
description:

View File

@ -78,6 +78,8 @@ dependencies:
collection: ^1.15.0-nullsafety.4
flex_color_scheme: ^2.1.1
fs_shim: ^2.0.1+2
grpc: ^3.0.0
protobuf: ^2.0.0
dev_dependencies:
#flutter_driver: