Skip to content

Instantly share code, notes, and snippets.

@gistlyn
Last active February 21, 2023 04:26
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save gistlyn/95a979cd9556a2b5ac3996de2f47297e to your computer and use it in GitHub Desktop.
Save gistlyn/95a979cd9556a2b5ac3996de2f47297e to your computer and use it in GitHub Desktop.
flutter-grpc
flutter create my_app_flutter
dart pub add servicestack --directory my_app_flutter
dart pub add fixnum --directory my_app_flutter
dart pub add protobuf --directory my_app_flutter
dart pub add grpc --directory my_app_flutter
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:grpc/grpc.dart';
import 'package:servicestack/web_client.dart' if (dart.library.io) 'package:servicestack/client.dart';
import 'dart:io';
import 'services.pbgrpc.dart';
var host = "localhost";
var channel = ClientChannel(host, port:5054,
options:const ChannelOptions(credentials: ChannelCredentials.insecure(
)));
var client = GrpcServicesClient(channel);
void main() {
if (!kReleaseMode && !kIsWeb) {
if (Platform.isAndroid) {
host = "10.0.2.2";
channel = ClientChannel(host, port:5054,
options:const ChannelOptions(credentials: ChannelCredentials.insecure(
)));
client = GrpcServicesClient(channel);
}
}
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
// This is the theme of your application.
//
// Try running your application with "flutter run". You'll see the
// application has a blue toolbar. Then, without quitting the app, try
// changing the primarySwatch below to Colors.green and then invoke
// "hot reload" (press "r" in the console where you ran "flutter run",
// or simply save your changes to "hot reload" in a Flutter IDE).
// Notice that the counter didn't reset back to zero; the application
// is not restarted.
primarySwatch: Colors.blue,
),
home: const HelloFlutter(title: 'Flutter Demo Home Page'),
);
}
}
class HelloFlutter extends StatefulWidget {
const HelloFlutter({super.key, required this.title});
// This widget is the home page of your application. It is stateful, meaning
// that it has a State object (defined below) that contains fields that affect
// how it looks.
// This class is the configuration for the state. It holds the values (in this
// case the title) provided by the parent (in this case the App widget) and
// used by the build method of the State. Fields in a Widget subclass are
// always marked "final".
final String title;
@override
State<StatefulWidget> createState() => HelloFlutterState();
}
class HelloFlutterState extends State<HelloFlutter> {
//State for this widget
String result = "";
var myController = TextEditingController();
int _counter = 0;
void _incrementCounter() {
setState(() {
// This call to setState tells the Flutter framework that something has
// changed in this State, which causes it to rerun the build method below
// so that the display can reflect the updated values. If we changed
// _counter without calling setState(), then the build method would not be
// called again, and so nothing would appear to happen.
_counter++;
});
}
@override
void initState() {
super.initState();
myController.addListener(callService);
}
void callService() async {
var text = myController.text.isEmpty ? "World" : myController.text;
var response = await client.getHello(Hello(name: text));
setState(() {
result = response.result;
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
// Here we take the value from the MyHomePage object that was created by
// the App.build method, and use it to set our appbar title.
title: Text(widget.title),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
const Text(
'You have pushed the button this many times:',
),
Text(
'$_counter',
style: Theme.of(context).textTheme.headline4,
),
Container(
padding: const EdgeInsets.only(top: 20),
margin: const EdgeInsets.only(left: 100.0, right: 100.0),
child: Column(
children: [
const Text(
'Hello API',
style:
TextStyle(fontWeight: FontWeight.bold, fontSize: 24.0),
),
TextField(
decoration: const InputDecoration(
border: OutlineInputBorder(),
hintText: 'World',
),
controller: myController,
)
],
),
),
Padding(
padding: const EdgeInsets.all(8.0),
child: Text(
'Result: $result',
style: const TextStyle(fontSize: 18),
),
),
],
),
),
floatingActionButton: FloatingActionButton(
onPressed: _incrementCounter,
tooltip: 'Increment',
child: const Icon(Icons.add),
), // This trailing comma makes auto-formatting nicer for build methods.
);
}
}
///
// Generated code. Do not modify.
// source: services.proto
//
// @dart = 2.12
// ignore_for_file: annotate_overrides,camel_case_types,constant_identifier_names,directives_ordering,library_prefixes,non_constant_identifier_names,prefer_final_fields,return_of_invalid_type,unnecessary_const,unnecessary_import,unnecessary_this,unused_import,unused_shown_name
import 'dart:core' as $core;
import 'package:fixnum/fixnum.dart' as $fixnum;
import 'package:protobuf/protobuf.dart' as $pb;
class FileContent extends $pb.GeneratedMessage {
static final $pb.BuilderInfo _i = $pb.BuilderInfo(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'FileContent', createEmptyInstance: create)
..aOS(1, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'Name', protoName: 'Name')
..aOS(2, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'Type', protoName: 'Type')
..a<$core.int>(3, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'Length', $pb.PbFieldType.O3, protoName: 'Length')
..a<$core.List<$core.int>>(4, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'Body', $pb.PbFieldType.OY, protoName: 'Body')
..aOM<ResponseStatus>(5, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'ResponseStatus', protoName: 'ResponseStatus', subBuilder: ResponseStatus.create)
..hasRequiredFields = false
;
FileContent._() : super();
factory FileContent({
$core.String? name,
$core.String? type,
$core.int? length,
$core.List<$core.int>? body,
ResponseStatus? responseStatus,
}) {
final _result = create();
if (name != null) {
_result.name = name;
}
if (type != null) {
_result.type = type;
}
if (length != null) {
_result.length = length;
}
if (body != null) {
_result.body = body;
}
if (responseStatus != null) {
_result.responseStatus = responseStatus;
}
return _result;
}
factory FileContent.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
factory FileContent.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')
FileContent clone() => FileContent()..mergeFromMessage(this);
@$core.Deprecated(
'Using this can add significant overhead to your binary. '
'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
'Will be removed in next major version')
FileContent copyWith(void Function(FileContent) updates) => super.copyWith((message) => updates(message as FileContent)) as FileContent; // ignore: deprecated_member_use
$pb.BuilderInfo get info_ => _i;
@$core.pragma('dart2js:noInline')
static FileContent create() => FileContent._();
FileContent createEmptyInstance() => create();
static $pb.PbList<FileContent> createRepeated() => $pb.PbList<FileContent>();
@$core.pragma('dart2js:noInline')
static FileContent getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<FileContent>(create);
static FileContent? _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(2)
$core.String get type => $_getSZ(1);
@$pb.TagNumber(2)
set type($core.String v) { $_setString(1, v); }
@$pb.TagNumber(2)
$core.bool hasType() => $_has(1);
@$pb.TagNumber(2)
void clearType() => clearField(2);
@$pb.TagNumber(3)
$core.int get length => $_getIZ(2);
@$pb.TagNumber(3)
set length($core.int v) { $_setSignedInt32(2, v); }
@$pb.TagNumber(3)
$core.bool hasLength() => $_has(2);
@$pb.TagNumber(3)
void clearLength() => clearField(3);
@$pb.TagNumber(4)
$core.List<$core.int> get body => $_getN(3);
@$pb.TagNumber(4)
set body($core.List<$core.int> v) { $_setBytes(3, v); }
@$pb.TagNumber(4)
$core.bool hasBody() => $_has(3);
@$pb.TagNumber(4)
void clearBody() => clearField(4);
@$pb.TagNumber(5)
ResponseStatus get responseStatus => $_getN(4);
@$pb.TagNumber(5)
set responseStatus(ResponseStatus v) { setField(5, v); }
@$pb.TagNumber(5)
$core.bool hasResponseStatus() => $_has(4);
@$pb.TagNumber(5)
void clearResponseStatus() => clearField(5);
@$pb.TagNumber(5)
ResponseStatus ensureResponseStatus() => $_ensure(4);
}
class Hello extends $pb.GeneratedMessage {
static final $pb.BuilderInfo _i = $pb.BuilderInfo(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'Hello', createEmptyInstance: create)
..aOS(1, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'Name', protoName: 'Name')
..hasRequiredFields = false
;
Hello._() : super();
factory Hello({
$core.String? name,
}) {
final _result = create();
if (name != null) {
_result.name = name;
}
return _result;
}
factory Hello.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
factory Hello.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')
Hello clone() => Hello()..mergeFromMessage(this);
@$core.Deprecated(
'Using this can add significant overhead to your binary. '
'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
'Will be removed in next major version')
Hello copyWith(void Function(Hello) updates) => super.copyWith((message) => updates(message as Hello)) as Hello; // ignore: deprecated_member_use
$pb.BuilderInfo get info_ => _i;
@$core.pragma('dart2js:noInline')
static Hello create() => Hello._();
Hello createEmptyInstance() => create();
static $pb.PbList<Hello> createRepeated() => $pb.PbList<Hello>();
@$core.pragma('dart2js:noInline')
static Hello getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<Hello>(create);
static Hello? _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);
}
class HelloResponse extends $pb.GeneratedMessage {
static final $pb.BuilderInfo _i = $pb.BuilderInfo(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'HelloResponse', createEmptyInstance: create)
..aOS(1, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'Result', protoName: 'Result')
..aOM<ResponseStatus>(2, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'ResponseStatus', protoName: 'ResponseStatus', subBuilder: ResponseStatus.create)
..hasRequiredFields = false
;
HelloResponse._() : super();
factory HelloResponse({
$core.String? result,
ResponseStatus? responseStatus,
}) {
final _result = create();
if (result != null) {
_result.result = result;
}
if (responseStatus != null) {
_result.responseStatus = responseStatus;
}
return _result;
}
factory HelloResponse.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
factory HelloResponse.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')
HelloResponse clone() => HelloResponse()..mergeFromMessage(this);
@$core.Deprecated(
'Using this can add significant overhead to your binary. '
'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
'Will be removed in next major version')
HelloResponse copyWith(void Function(HelloResponse) updates) => super.copyWith((message) => updates(message as HelloResponse)) as HelloResponse; // ignore: deprecated_member_use
$pb.BuilderInfo get info_ => _i;
@$core.pragma('dart2js:noInline')
static HelloResponse create() => HelloResponse._();
HelloResponse createEmptyInstance() => create();
static $pb.PbList<HelloResponse> createRepeated() => $pb.PbList<HelloResponse>();
@$core.pragma('dart2js:noInline')
static HelloResponse getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<HelloResponse>(create);
static HelloResponse? _defaultInstance;
@$pb.TagNumber(1)
$core.String get result => $_getSZ(0);
@$pb.TagNumber(1)
set result($core.String v) { $_setString(0, v); }
@$pb.TagNumber(1)
$core.bool hasResult() => $_has(0);
@$pb.TagNumber(1)
void clearResult() => clearField(1);
@$pb.TagNumber(2)
ResponseStatus get responseStatus => $_getN(1);
@$pb.TagNumber(2)
set responseStatus(ResponseStatus v) { setField(2, v); }
@$pb.TagNumber(2)
$core.bool hasResponseStatus() => $_has(1);
@$pb.TagNumber(2)
void clearResponseStatus() => clearField(2);
@$pb.TagNumber(2)
ResponseStatus ensureResponseStatus() => $_ensure(1);
}
class ResponseError extends $pb.GeneratedMessage {
static final $pb.BuilderInfo _i = $pb.BuilderInfo(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'ResponseError', createEmptyInstance: create)
..aOS(1, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'ErrorCode', protoName: 'ErrorCode')
..aOS(2, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'FieldName', protoName: 'FieldName')
..aOS(3, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'Message', protoName: 'Message')
..m<$core.String, $core.String>(4, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'Meta', protoName: 'Meta', entryClassName: 'ResponseError.MetaEntry', keyFieldType: $pb.PbFieldType.OS, valueFieldType: $pb.PbFieldType.OS)
..hasRequiredFields = false
;
ResponseError._() : super();
factory ResponseError({
$core.String? errorCode,
$core.String? fieldName,
$core.String? message,
$core.Map<$core.String, $core.String>? meta,
}) {
final _result = create();
if (errorCode != null) {
_result.errorCode = errorCode;
}
if (fieldName != null) {
_result.fieldName = fieldName;
}
if (message != null) {
_result.message = message;
}
if (meta != null) {
_result.meta.addAll(meta);
}
return _result;
}
factory ResponseError.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
factory ResponseError.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')
ResponseError clone() => ResponseError()..mergeFromMessage(this);
@$core.Deprecated(
'Using this can add significant overhead to your binary. '
'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
'Will be removed in next major version')
ResponseError copyWith(void Function(ResponseError) updates) => super.copyWith((message) => updates(message as ResponseError)) as ResponseError; // ignore: deprecated_member_use
$pb.BuilderInfo get info_ => _i;
@$core.pragma('dart2js:noInline')
static ResponseError create() => ResponseError._();
ResponseError createEmptyInstance() => create();
static $pb.PbList<ResponseError> createRepeated() => $pb.PbList<ResponseError>();
@$core.pragma('dart2js:noInline')
static ResponseError getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<ResponseError>(create);
static ResponseError? _defaultInstance;
@$pb.TagNumber(1)
$core.String get errorCode => $_getSZ(0);
@$pb.TagNumber(1)
set errorCode($core.String v) { $_setString(0, v); }
@$pb.TagNumber(1)
$core.bool hasErrorCode() => $_has(0);
@$pb.TagNumber(1)
void clearErrorCode() => clearField(1);
@$pb.TagNumber(2)
$core.String get fieldName => $_getSZ(1);
@$pb.TagNumber(2)
set fieldName($core.String v) { $_setString(1, v); }
@$pb.TagNumber(2)
$core.bool hasFieldName() => $_has(1);
@$pb.TagNumber(2)
void clearFieldName() => clearField(2);
@$pb.TagNumber(3)
$core.String get message => $_getSZ(2);
@$pb.TagNumber(3)
set message($core.String v) { $_setString(2, v); }
@$pb.TagNumber(3)
$core.bool hasMessage() => $_has(2);
@$pb.TagNumber(3)
void clearMessage() => clearField(3);
@$pb.TagNumber(4)
$core.Map<$core.String, $core.String> get meta => $_getMap(3);
}
class ResponseStatus extends $pb.GeneratedMessage {
static final $pb.BuilderInfo _i = $pb.BuilderInfo(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'ResponseStatus', createEmptyInstance: create)
..aOS(1, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'ErrorCode', protoName: 'ErrorCode')
..aOS(2, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'Message', protoName: 'Message')
..aOS(3, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'StackTrace', protoName: 'StackTrace')
..pc<ResponseError>(4, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'Errors', $pb.PbFieldType.PM, protoName: 'Errors', subBuilder: ResponseError.create)
..m<$core.String, $core.String>(5, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'Meta', protoName: 'Meta', entryClassName: 'ResponseStatus.MetaEntry', keyFieldType: $pb.PbFieldType.OS, valueFieldType: $pb.PbFieldType.OS)
..hasRequiredFields = false
;
ResponseStatus._() : super();
factory ResponseStatus({
$core.String? errorCode,
$core.String? message,
$core.String? stackTrace,
$core.Iterable<ResponseError>? errors,
$core.Map<$core.String, $core.String>? meta,
}) {
final _result = create();
if (errorCode != null) {
_result.errorCode = errorCode;
}
if (message != null) {
_result.message = message;
}
if (stackTrace != null) {
_result.stackTrace = stackTrace;
}
if (errors != null) {
_result.errors.addAll(errors);
}
if (meta != null) {
_result.meta.addAll(meta);
}
return _result;
}
factory ResponseStatus.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
factory ResponseStatus.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')
ResponseStatus clone() => ResponseStatus()..mergeFromMessage(this);
@$core.Deprecated(
'Using this can add significant overhead to your binary. '
'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
'Will be removed in next major version')
ResponseStatus copyWith(void Function(ResponseStatus) updates) => super.copyWith((message) => updates(message as ResponseStatus)) as ResponseStatus; // ignore: deprecated_member_use
$pb.BuilderInfo get info_ => _i;
@$core.pragma('dart2js:noInline')
static ResponseStatus create() => ResponseStatus._();
ResponseStatus createEmptyInstance() => create();
static $pb.PbList<ResponseStatus> createRepeated() => $pb.PbList<ResponseStatus>();
@$core.pragma('dart2js:noInline')
static ResponseStatus getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<ResponseStatus>(create);
static ResponseStatus? _defaultInstance;
@$pb.TagNumber(1)
$core.String get errorCode => $_getSZ(0);
@$pb.TagNumber(1)
set errorCode($core.String v) { $_setString(0, v); }
@$pb.TagNumber(1)
$core.bool hasErrorCode() => $_has(0);
@$pb.TagNumber(1)
void clearErrorCode() => clearField(1);
@$pb.TagNumber(2)
$core.String get message => $_getSZ(1);
@$pb.TagNumber(2)
set message($core.String v) { $_setString(1, v); }
@$pb.TagNumber(2)
$core.bool hasMessage() => $_has(1);
@$pb.TagNumber(2)
void clearMessage() => clearField(2);
@$pb.TagNumber(3)
$core.String get stackTrace => $_getSZ(2);
@$pb.TagNumber(3)
set stackTrace($core.String v) { $_setString(2, v); }
@$pb.TagNumber(3)
$core.bool hasStackTrace() => $_has(2);
@$pb.TagNumber(3)
void clearStackTrace() => clearField(3);
@$pb.TagNumber(4)
$core.List<ResponseError> get errors => $_getList(3);
@$pb.TagNumber(5)
$core.Map<$core.String, $core.String> get meta => $_getMap(4);
}
class StreamFiles extends $pb.GeneratedMessage {
static final $pb.BuilderInfo _i = $pb.BuilderInfo(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'StreamFiles', createEmptyInstance: create)
..pPS(1, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'Paths', protoName: 'Paths')
..hasRequiredFields = false
;
StreamFiles._() : super();
factory StreamFiles({
$core.Iterable<$core.String>? paths,
}) {
final _result = create();
if (paths != null) {
_result.paths.addAll(paths);
}
return _result;
}
factory StreamFiles.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
factory StreamFiles.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')
StreamFiles clone() => StreamFiles()..mergeFromMessage(this);
@$core.Deprecated(
'Using this can add significant overhead to your binary. '
'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
'Will be removed in next major version')
StreamFiles copyWith(void Function(StreamFiles) updates) => super.copyWith((message) => updates(message as StreamFiles)) as StreamFiles; // ignore: deprecated_member_use
$pb.BuilderInfo get info_ => _i;
@$core.pragma('dart2js:noInline')
static StreamFiles create() => StreamFiles._();
StreamFiles createEmptyInstance() => create();
static $pb.PbList<StreamFiles> createRepeated() => $pb.PbList<StreamFiles>();
@$core.pragma('dart2js:noInline')
static StreamFiles getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<StreamFiles>(create);
static StreamFiles? _defaultInstance;
@$pb.TagNumber(1)
$core.List<$core.String> get paths => $_getList(0);
}
class StreamServerEvents extends $pb.GeneratedMessage {
static final $pb.BuilderInfo _i = $pb.BuilderInfo(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'StreamServerEvents', createEmptyInstance: create)
..pPS(1, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'Channels', protoName: 'Channels')
..hasRequiredFields = false
;
StreamServerEvents._() : super();
factory StreamServerEvents({
$core.Iterable<$core.String>? channels,
}) {
final _result = create();
if (channels != null) {
_result.channels.addAll(channels);
}
return _result;
}
factory StreamServerEvents.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
factory StreamServerEvents.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')
StreamServerEvents clone() => StreamServerEvents()..mergeFromMessage(this);
@$core.Deprecated(
'Using this can add significant overhead to your binary. '
'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
'Will be removed in next major version')
StreamServerEvents copyWith(void Function(StreamServerEvents) updates) => super.copyWith((message) => updates(message as StreamServerEvents)) as StreamServerEvents; // ignore: deprecated_member_use
$pb.BuilderInfo get info_ => _i;
@$core.pragma('dart2js:noInline')
static StreamServerEvents create() => StreamServerEvents._();
StreamServerEvents createEmptyInstance() => create();
static $pb.PbList<StreamServerEvents> createRepeated() => $pb.PbList<StreamServerEvents>();
@$core.pragma('dart2js:noInline')
static StreamServerEvents getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<StreamServerEvents>(create);
static StreamServerEvents? _defaultInstance;
@$pb.TagNumber(1)
$core.List<$core.String> get channels => $_getList(0);
}
class StreamServerEventsResponse extends $pb.GeneratedMessage {
static final $pb.BuilderInfo _i = $pb.BuilderInfo(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'StreamServerEventsResponse', createEmptyInstance: create)
..aInt64(1, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'EventId', protoName: 'EventId')
..aOS(2, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'Channel', protoName: 'Channel')
..aOS(4, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'Selector', protoName: 'Selector')
..aOS(5, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'Json', protoName: 'Json')
..aOS(6, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'Op', protoName: 'Op')
..aOS(7, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'Target', protoName: 'Target')
..aOS(8, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'CssSelector', protoName: 'CssSelector')
..m<$core.String, $core.String>(9, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'Meta', protoName: 'Meta', entryClassName: 'StreamServerEventsResponse.MetaEntry', keyFieldType: $pb.PbFieldType.OS, valueFieldType: $pb.PbFieldType.OS)
..aOS(10, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'UserId', protoName: 'UserId')
..aOS(11, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'DisplayName', protoName: 'DisplayName')
..aOS(12, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'ProfileUrl', protoName: 'ProfileUrl')
..aOB(13, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'IsAuthenticated', protoName: 'IsAuthenticated')
..pPS(14, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'Channels', protoName: 'Channels')
..aInt64(15, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'CreatedAt', protoName: 'CreatedAt')
..aOS(21, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'Id', protoName: 'Id')
..aOS(22, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'UnRegisterUrl', protoName: 'UnRegisterUrl')
..aOS(23, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'UpdateSubscriberUrl', protoName: 'UpdateSubscriberUrl')
..aOS(24, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'HeartbeatUrl', protoName: 'HeartbeatUrl')
..aInt64(25, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'HeartbeatIntervalMs', protoName: 'HeartbeatIntervalMs')
..aInt64(26, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'IdleTimeoutMs', protoName: 'IdleTimeoutMs')
..aOM<ResponseStatus>(30, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'ResponseStatus', protoName: 'ResponseStatus', subBuilder: ResponseStatus.create)
..hasRequiredFields = false
;
StreamServerEventsResponse._() : super();
factory StreamServerEventsResponse({
$fixnum.Int64? eventId,
$core.String? channel,
$core.String? selector,
$core.String? json,
$core.String? op,
$core.String? target,
$core.String? cssSelector,
$core.Map<$core.String, $core.String>? meta,
$core.String? userId,
$core.String? displayName,
$core.String? profileUrl,
$core.bool? isAuthenticated,
$core.Iterable<$core.String>? channels,
$fixnum.Int64? createdAt,
$core.String? id,
$core.String? unRegisterUrl,
$core.String? updateSubscriberUrl,
$core.String? heartbeatUrl,
$fixnum.Int64? heartbeatIntervalMs,
$fixnum.Int64? idleTimeoutMs,
ResponseStatus? responseStatus,
}) {
final _result = create();
if (eventId != null) {
_result.eventId = eventId;
}
if (channel != null) {
_result.channel = channel;
}
if (selector != null) {
_result.selector = selector;
}
if (json != null) {
_result.json = json;
}
if (op != null) {
_result.op = op;
}
if (target != null) {
_result.target = target;
}
if (cssSelector != null) {
_result.cssSelector = cssSelector;
}
if (meta != null) {
_result.meta.addAll(meta);
}
if (userId != null) {
_result.userId = userId;
}
if (displayName != null) {
_result.displayName = displayName;
}
if (profileUrl != null) {
_result.profileUrl = profileUrl;
}
if (isAuthenticated != null) {
_result.isAuthenticated = isAuthenticated;
}
if (channels != null) {
_result.channels.addAll(channels);
}
if (createdAt != null) {
_result.createdAt = createdAt;
}
if (id != null) {
_result.id = id;
}
if (unRegisterUrl != null) {
_result.unRegisterUrl = unRegisterUrl;
}
if (updateSubscriberUrl != null) {
_result.updateSubscriberUrl = updateSubscriberUrl;
}
if (heartbeatUrl != null) {
_result.heartbeatUrl = heartbeatUrl;
}
if (heartbeatIntervalMs != null) {
_result.heartbeatIntervalMs = heartbeatIntervalMs;
}
if (idleTimeoutMs != null) {
_result.idleTimeoutMs = idleTimeoutMs;
}
if (responseStatus != null) {
_result.responseStatus = responseStatus;
}
return _result;
}
factory StreamServerEventsResponse.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
factory StreamServerEventsResponse.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')
StreamServerEventsResponse clone() => StreamServerEventsResponse()..mergeFromMessage(this);
@$core.Deprecated(
'Using this can add significant overhead to your binary. '
'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
'Will be removed in next major version')
StreamServerEventsResponse copyWith(void Function(StreamServerEventsResponse) updates) => super.copyWith((message) => updates(message as StreamServerEventsResponse)) as StreamServerEventsResponse; // ignore: deprecated_member_use
$pb.BuilderInfo get info_ => _i;
@$core.pragma('dart2js:noInline')
static StreamServerEventsResponse create() => StreamServerEventsResponse._();
StreamServerEventsResponse createEmptyInstance() => create();
static $pb.PbList<StreamServerEventsResponse> createRepeated() => $pb.PbList<StreamServerEventsResponse>();
@$core.pragma('dart2js:noInline')
static StreamServerEventsResponse getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<StreamServerEventsResponse>(create);
static StreamServerEventsResponse? _defaultInstance;
@$pb.TagNumber(1)
$fixnum.Int64 get eventId => $_getI64(0);
@$pb.TagNumber(1)
set eventId($fixnum.Int64 v) { $_setInt64(0, v); }
@$pb.TagNumber(1)
$core.bool hasEventId() => $_has(0);
@$pb.TagNumber(1)
void clearEventId() => clearField(1);
@$pb.TagNumber(2)
$core.String get channel => $_getSZ(1);
@$pb.TagNumber(2)
set channel($core.String v) { $_setString(1, v); }
@$pb.TagNumber(2)
$core.bool hasChannel() => $_has(1);
@$pb.TagNumber(2)
void clearChannel() => clearField(2);
@$pb.TagNumber(4)
$core.String get selector => $_getSZ(2);
@$pb.TagNumber(4)
set selector($core.String v) { $_setString(2, v); }
@$pb.TagNumber(4)
$core.bool hasSelector() => $_has(2);
@$pb.TagNumber(4)
void clearSelector() => clearField(4);
@$pb.TagNumber(5)
$core.String get json => $_getSZ(3);
@$pb.TagNumber(5)
set json($core.String v) { $_setString(3, v); }
@$pb.TagNumber(5)
$core.bool hasJson() => $_has(3);
@$pb.TagNumber(5)
void clearJson() => clearField(5);
@$pb.TagNumber(6)
$core.String get op => $_getSZ(4);
@$pb.TagNumber(6)
set op($core.String v) { $_setString(4, v); }
@$pb.TagNumber(6)
$core.bool hasOp() => $_has(4);
@$pb.TagNumber(6)
void clearOp() => clearField(6);
@$pb.TagNumber(7)
$core.String get target => $_getSZ(5);
@$pb.TagNumber(7)
set target($core.String v) { $_setString(5, v); }
@$pb.TagNumber(7)
$core.bool hasTarget() => $_has(5);
@$pb.TagNumber(7)
void clearTarget() => clearField(7);
@$pb.TagNumber(8)
$core.String get cssSelector => $_getSZ(6);
@$pb.TagNumber(8)
set cssSelector($core.String v) { $_setString(6, v); }
@$pb.TagNumber(8)
$core.bool hasCssSelector() => $_has(6);
@$pb.TagNumber(8)
void clearCssSelector() => clearField(8);
@$pb.TagNumber(9)
$core.Map<$core.String, $core.String> get meta => $_getMap(7);
@$pb.TagNumber(10)
$core.String get userId => $_getSZ(8);
@$pb.TagNumber(10)
set userId($core.String v) { $_setString(8, v); }
@$pb.TagNumber(10)
$core.bool hasUserId() => $_has(8);
@$pb.TagNumber(10)
void clearUserId() => clearField(10);
@$pb.TagNumber(11)
$core.String get displayName => $_getSZ(9);
@$pb.TagNumber(11)
set displayName($core.String v) { $_setString(9, v); }
@$pb.TagNumber(11)
$core.bool hasDisplayName() => $_has(9);
@$pb.TagNumber(11)
void clearDisplayName() => clearField(11);
@$pb.TagNumber(12)
$core.String get profileUrl => $_getSZ(10);
@$pb.TagNumber(12)
set profileUrl($core.String v) { $_setString(10, v); }
@$pb.TagNumber(12)
$core.bool hasProfileUrl() => $_has(10);
@$pb.TagNumber(12)
void clearProfileUrl() => clearField(12);
@$pb.TagNumber(13)
$core.bool get isAuthenticated => $_getBF(11);
@$pb.TagNumber(13)
set isAuthenticated($core.bool v) { $_setBool(11, v); }
@$pb.TagNumber(13)
$core.bool hasIsAuthenticated() => $_has(11);
@$pb.TagNumber(13)
void clearIsAuthenticated() => clearField(13);
@$pb.TagNumber(14)
$core.List<$core.String> get channels => $_getList(12);
@$pb.TagNumber(15)
$fixnum.Int64 get createdAt => $_getI64(13);
@$pb.TagNumber(15)
set createdAt($fixnum.Int64 v) { $_setInt64(13, v); }
@$pb.TagNumber(15)
$core.bool hasCreatedAt() => $_has(13);
@$pb.TagNumber(15)
void clearCreatedAt() => clearField(15);
@$pb.TagNumber(21)
$core.String get id => $_getSZ(14);
@$pb.TagNumber(21)
set id($core.String v) { $_setString(14, v); }
@$pb.TagNumber(21)
$core.bool hasId() => $_has(14);
@$pb.TagNumber(21)
void clearId() => clearField(21);
@$pb.TagNumber(22)
$core.String get unRegisterUrl => $_getSZ(15);
@$pb.TagNumber(22)
set unRegisterUrl($core.String v) { $_setString(15, v); }
@$pb.TagNumber(22)
$core.bool hasUnRegisterUrl() => $_has(15);
@$pb.TagNumber(22)
void clearUnRegisterUrl() => clearField(22);
@$pb.TagNumber(23)
$core.String get updateSubscriberUrl => $_getSZ(16);
@$pb.TagNumber(23)
set updateSubscriberUrl($core.String v) { $_setString(16, v); }
@$pb.TagNumber(23)
$core.bool hasUpdateSubscriberUrl() => $_has(16);
@$pb.TagNumber(23)
void clearUpdateSubscriberUrl() => clearField(23);
@$pb.TagNumber(24)
$core.String get heartbeatUrl => $_getSZ(17);
@$pb.TagNumber(24)
set heartbeatUrl($core.String v) { $_setString(17, v); }
@$pb.TagNumber(24)
$core.bool hasHeartbeatUrl() => $_has(17);
@$pb.TagNumber(24)
void clearHeartbeatUrl() => clearField(24);
@$pb.TagNumber(25)
$fixnum.Int64 get heartbeatIntervalMs => $_getI64(18);
@$pb.TagNumber(25)
set heartbeatIntervalMs($fixnum.Int64 v) { $_setInt64(18, v); }
@$pb.TagNumber(25)
$core.bool hasHeartbeatIntervalMs() => $_has(18);
@$pb.TagNumber(25)
void clearHeartbeatIntervalMs() => clearField(25);
@$pb.TagNumber(26)
$fixnum.Int64 get idleTimeoutMs => $_getI64(19);
@$pb.TagNumber(26)
set idleTimeoutMs($fixnum.Int64 v) { $_setInt64(19, v); }
@$pb.TagNumber(26)
$core.bool hasIdleTimeoutMs() => $_has(19);
@$pb.TagNumber(26)
void clearIdleTimeoutMs() => clearField(26);
@$pb.TagNumber(30)
ResponseStatus get responseStatus => $_getN(20);
@$pb.TagNumber(30)
set responseStatus(ResponseStatus v) { setField(30, v); }
@$pb.TagNumber(30)
$core.bool hasResponseStatus() => $_has(20);
@$pb.TagNumber(30)
void clearResponseStatus() => clearField(30);
@$pb.TagNumber(30)
ResponseStatus ensureResponseStatus() => $_ensure(20);
}
///
// Generated code. Do not modify.
// source: services.proto
//
// @dart = 2.12
// ignore_for_file: annotate_overrides,camel_case_types,constant_identifier_names,directives_ordering,library_prefixes,non_constant_identifier_names,prefer_final_fields,return_of_invalid_type,unnecessary_const,unnecessary_import,unnecessary_this,unused_import,unused_shown_name
///
// Generated code. Do not modify.
// source: services.proto
//
// @dart = 2.12
// ignore_for_file: annotate_overrides,camel_case_types,constant_identifier_names,directives_ordering,library_prefixes,non_constant_identifier_names,prefer_final_fields,return_of_invalid_type,unnecessary_const,unnecessary_import,unnecessary_this,unused_import,unused_shown_name
import 'dart:async' as $async;
import 'dart:core' as $core;
import 'package:grpc/service_api.dart' as $grpc;
import 'services.pb.dart' as $0;
export 'services.pb.dart';
class GrpcServicesClient extends $grpc.Client {
static final _$getHello = $grpc.ClientMethod<$0.Hello, $0.HelloResponse>(
'/GrpcServices/GetHello',
($0.Hello value) => value.writeToBuffer(),
($core.List<$core.int> value) => $0.HelloResponse.fromBuffer(value));
static final _$postHello = $grpc.ClientMethod<$0.Hello, $0.HelloResponse>(
'/GrpcServices/PostHello',
($0.Hello value) => value.writeToBuffer(),
($core.List<$core.int> value) => $0.HelloResponse.fromBuffer(value));
static final _$putHello = $grpc.ClientMethod<$0.Hello, $0.HelloResponse>(
'/GrpcServices/PutHello',
($0.Hello value) => value.writeToBuffer(),
($core.List<$core.int> value) => $0.HelloResponse.fromBuffer(value));
static final _$deleteHello = $grpc.ClientMethod<$0.Hello, $0.HelloResponse>(
'/GrpcServices/DeleteHello',
($0.Hello value) => value.writeToBuffer(),
($core.List<$core.int> value) => $0.HelloResponse.fromBuffer(value));
static final _$serverStreamFiles =
$grpc.ClientMethod<$0.StreamFiles, $0.FileContent>(
'/GrpcServices/ServerStreamFiles',
($0.StreamFiles value) => value.writeToBuffer(),
($core.List<$core.int> value) => $0.FileContent.fromBuffer(value));
static final _$serverStreamServerEvents =
$grpc.ClientMethod<$0.StreamServerEvents, $0.StreamServerEventsResponse>(
'/GrpcServices/ServerStreamServerEvents',
($0.StreamServerEvents value) => value.writeToBuffer(),
($core.List<$core.int> value) =>
$0.StreamServerEventsResponse.fromBuffer(value));
GrpcServicesClient($grpc.ClientChannel channel,
{$grpc.CallOptions? options,
$core.Iterable<$grpc.ClientInterceptor>? interceptors})
: super(channel, options: options, interceptors: interceptors);
$grpc.ResponseFuture<$0.HelloResponse> getHello($0.Hello request,
{$grpc.CallOptions? options}) {
return $createUnaryCall(_$getHello, request, options: options);
}
$grpc.ResponseFuture<$0.HelloResponse> postHello($0.Hello request,
{$grpc.CallOptions? options}) {
return $createUnaryCall(_$postHello, request, options: options);
}
$grpc.ResponseFuture<$0.HelloResponse> putHello($0.Hello request,
{$grpc.CallOptions? options}) {
return $createUnaryCall(_$putHello, request, options: options);
}
$grpc.ResponseFuture<$0.HelloResponse> deleteHello($0.Hello request,
{$grpc.CallOptions? options}) {
return $createUnaryCall(_$deleteHello, request, options: options);
}
$grpc.ResponseStream<$0.FileContent> serverStreamFiles($0.StreamFiles request,
{$grpc.CallOptions? options}) {
return $createStreamingCall(
_$serverStreamFiles, $async.Stream.fromIterable([request]),
options: options);
}
$grpc.ResponseStream<$0.StreamServerEventsResponse> serverStreamServerEvents(
$0.StreamServerEvents request,
{$grpc.CallOptions? options}) {
return $createStreamingCall(
_$serverStreamServerEvents, $async.Stream.fromIterable([request]),
options: options);
}
}
abstract class GrpcServicesServiceBase extends $grpc.Service {
$core.String get $name => 'GrpcServices';
GrpcServicesServiceBase() {
$addMethod($grpc.ServiceMethod<$0.Hello, $0.HelloResponse>(
'GetHello',
getHello_Pre,
false,
false,
($core.List<$core.int> value) => $0.Hello.fromBuffer(value),
($0.HelloResponse value) => value.writeToBuffer()));
$addMethod($grpc.ServiceMethod<$0.Hello, $0.HelloResponse>(
'PostHello',
postHello_Pre,
false,
false,
($core.List<$core.int> value) => $0.Hello.fromBuffer(value),
($0.HelloResponse value) => value.writeToBuffer()));
$addMethod($grpc.ServiceMethod<$0.Hello, $0.HelloResponse>(
'PutHello',
putHello_Pre,
false,
false,
($core.List<$core.int> value) => $0.Hello.fromBuffer(value),
($0.HelloResponse value) => value.writeToBuffer()));
$addMethod($grpc.ServiceMethod<$0.Hello, $0.HelloResponse>(
'DeleteHello',
deleteHello_Pre,
false,
false,
($core.List<$core.int> value) => $0.Hello.fromBuffer(value),
($0.HelloResponse value) => value.writeToBuffer()));
$addMethod($grpc.ServiceMethod<$0.StreamFiles, $0.FileContent>(
'ServerStreamFiles',
serverStreamFiles_Pre,
false,
true,
($core.List<$core.int> value) => $0.StreamFiles.fromBuffer(value),
($0.FileContent value) => value.writeToBuffer()));
$addMethod($grpc.ServiceMethod<$0.StreamServerEvents,
$0.StreamServerEventsResponse>(
'ServerStreamServerEvents',
serverStreamServerEvents_Pre,
false,
true,
($core.List<$core.int> value) =>
$0.StreamServerEvents.fromBuffer(value),
($0.StreamServerEventsResponse value) => value.writeToBuffer()));
}
$async.Future<$0.HelloResponse> getHello_Pre(
$grpc.ServiceCall call, $async.Future<$0.Hello> request) async {
return getHello(call, await request);
}
$async.Future<$0.HelloResponse> postHello_Pre(
$grpc.ServiceCall call, $async.Future<$0.Hello> request) async {
return postHello(call, await request);
}
$async.Future<$0.HelloResponse> putHello_Pre(
$grpc.ServiceCall call, $async.Future<$0.Hello> request) async {
return putHello(call, await request);
}
$async.Future<$0.HelloResponse> deleteHello_Pre(
$grpc.ServiceCall call, $async.Future<$0.Hello> request) async {
return deleteHello(call, await request);
}
$async.Stream<$0.FileContent> serverStreamFiles_Pre(
$grpc.ServiceCall call, $async.Future<$0.StreamFiles> request) async* {
yield* serverStreamFiles(call, await request);
}
$async.Stream<$0.StreamServerEventsResponse> serverStreamServerEvents_Pre(
$grpc.ServiceCall call,
$async.Future<$0.StreamServerEvents> request) async* {
yield* serverStreamServerEvents(call, await request);
}
$async.Future<$0.HelloResponse> getHello(
$grpc.ServiceCall call, $0.Hello request);
$async.Future<$0.HelloResponse> postHello(
$grpc.ServiceCall call, $0.Hello request);
$async.Future<$0.HelloResponse> putHello(
$grpc.ServiceCall call, $0.Hello request);
$async.Future<$0.HelloResponse> deleteHello(
$grpc.ServiceCall call, $0.Hello request);
$async.Stream<$0.FileContent> serverStreamFiles(
$grpc.ServiceCall call, $0.StreamFiles request);
$async.Stream<$0.StreamServerEventsResponse> serverStreamServerEvents(
$grpc.ServiceCall call, $0.StreamServerEvents request);
}
///
// Generated code. Do not modify.
// source: services.proto
//
// @dart = 2.12
// ignore_for_file: annotate_overrides,camel_case_types,constant_identifier_names,deprecated_member_use_from_same_package,directives_ordering,library_prefixes,non_constant_identifier_names,prefer_final_fields,return_of_invalid_type,unnecessary_const,unnecessary_import,unnecessary_this,unused_import,unused_shown_name
import 'dart:core' as $core;
import 'dart:convert' as $convert;
import 'dart:typed_data' as $typed_data;
@$core.Deprecated('Use fileContentDescriptor instead')
const FileContent$json = const {
'1': 'FileContent',
'2': const [
const {'1': 'Name', '3': 1, '4': 1, '5': 9, '10': 'Name'},
const {'1': 'Type', '3': 2, '4': 1, '5': 9, '10': 'Type'},
const {'1': 'Length', '3': 3, '4': 1, '5': 5, '10': 'Length'},
const {'1': 'Body', '3': 4, '4': 1, '5': 12, '10': 'Body'},
const {'1': 'ResponseStatus', '3': 5, '4': 1, '5': 11, '6': '.ResponseStatus', '10': 'ResponseStatus'},
],
};
/// Descriptor for `FileContent`. Decode as a `google.protobuf.DescriptorProto`.
final $typed_data.Uint8List fileContentDescriptor = $convert.base64Decode('CgtGaWxlQ29udGVudBISCgROYW1lGAEgASgJUgROYW1lEhIKBFR5cGUYAiABKAlSBFR5cGUSFgoGTGVuZ3RoGAMgASgFUgZMZW5ndGgSEgoEQm9keRgEIAEoDFIEQm9keRI3Cg5SZXNwb25zZVN0YXR1cxgFIAEoCzIPLlJlc3BvbnNlU3RhdHVzUg5SZXNwb25zZVN0YXR1cw==');
@$core.Deprecated('Use helloDescriptor instead')
const Hello$json = const {
'1': 'Hello',
'2': const [
const {'1': 'Name', '3': 1, '4': 1, '5': 9, '10': 'Name'},
],
};
/// Descriptor for `Hello`. Decode as a `google.protobuf.DescriptorProto`.
final $typed_data.Uint8List helloDescriptor = $convert.base64Decode('CgVIZWxsbxISCgROYW1lGAEgASgJUgROYW1l');
@$core.Deprecated('Use helloResponseDescriptor instead')
const HelloResponse$json = const {
'1': 'HelloResponse',
'2': const [
const {'1': 'Result', '3': 1, '4': 1, '5': 9, '10': 'Result'},
const {'1': 'ResponseStatus', '3': 2, '4': 1, '5': 11, '6': '.ResponseStatus', '10': 'ResponseStatus'},
],
};
/// Descriptor for `HelloResponse`. Decode as a `google.protobuf.DescriptorProto`.
final $typed_data.Uint8List helloResponseDescriptor = $convert.base64Decode('Cg1IZWxsb1Jlc3BvbnNlEhYKBlJlc3VsdBgBIAEoCVIGUmVzdWx0EjcKDlJlc3BvbnNlU3RhdHVzGAIgASgLMg8uUmVzcG9uc2VTdGF0dXNSDlJlc3BvbnNlU3RhdHVz');
@$core.Deprecated('Use responseErrorDescriptor instead')
const ResponseError$json = const {
'1': 'ResponseError',
'2': const [
const {'1': 'ErrorCode', '3': 1, '4': 1, '5': 9, '10': 'ErrorCode'},
const {'1': 'FieldName', '3': 2, '4': 1, '5': 9, '10': 'FieldName'},
const {'1': 'Message', '3': 3, '4': 1, '5': 9, '10': 'Message'},
const {'1': 'Meta', '3': 4, '4': 3, '5': 11, '6': '.ResponseError.MetaEntry', '10': 'Meta'},
],
'3': const [ResponseError_MetaEntry$json],
};
@$core.Deprecated('Use responseErrorDescriptor instead')
const ResponseError_MetaEntry$json = const {
'1': 'MetaEntry',
'2': const [
const {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'},
const {'1': 'value', '3': 2, '4': 1, '5': 9, '10': 'value'},
],
'7': const {'7': true},
};
/// Descriptor for `ResponseError`. Decode as a `google.protobuf.DescriptorProto`.
final $typed_data.Uint8List responseErrorDescriptor = $convert.base64Decode('Cg1SZXNwb25zZUVycm9yEhwKCUVycm9yQ29kZRgBIAEoCVIJRXJyb3JDb2RlEhwKCUZpZWxkTmFtZRgCIAEoCVIJRmllbGROYW1lEhgKB01lc3NhZ2UYAyABKAlSB01lc3NhZ2USLAoETWV0YRgEIAMoCzIYLlJlc3BvbnNlRXJyb3IuTWV0YUVudHJ5UgRNZXRhGjcKCU1ldGFFbnRyeRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoCVIFdmFsdWU6AjgB');
@$core.Deprecated('Use responseStatusDescriptor instead')
const ResponseStatus$json = const {
'1': 'ResponseStatus',
'2': const [
const {'1': 'ErrorCode', '3': 1, '4': 1, '5': 9, '10': 'ErrorCode'},
const {'1': 'Message', '3': 2, '4': 1, '5': 9, '10': 'Message'},
const {'1': 'StackTrace', '3': 3, '4': 1, '5': 9, '10': 'StackTrace'},
const {'1': 'Errors', '3': 4, '4': 3, '5': 11, '6': '.ResponseError', '10': 'Errors'},
const {'1': 'Meta', '3': 5, '4': 3, '5': 11, '6': '.ResponseStatus.MetaEntry', '10': 'Meta'},
],
'3': const [ResponseStatus_MetaEntry$json],
};
@$core.Deprecated('Use responseStatusDescriptor instead')
const ResponseStatus_MetaEntry$json = const {
'1': 'MetaEntry',
'2': const [
const {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'},
const {'1': 'value', '3': 2, '4': 1, '5': 9, '10': 'value'},
],
'7': const {'7': true},
};
/// Descriptor for `ResponseStatus`. Decode as a `google.protobuf.DescriptorProto`.
final $typed_data.Uint8List responseStatusDescriptor = $convert.base64Decode('Cg5SZXNwb25zZVN0YXR1cxIcCglFcnJvckNvZGUYASABKAlSCUVycm9yQ29kZRIYCgdNZXNzYWdlGAIgASgJUgdNZXNzYWdlEh4KClN0YWNrVHJhY2UYAyABKAlSClN0YWNrVHJhY2USJgoGRXJyb3JzGAQgAygLMg4uUmVzcG9uc2VFcnJvclIGRXJyb3JzEi0KBE1ldGEYBSADKAsyGS5SZXNwb25zZVN0YXR1cy5NZXRhRW50cnlSBE1ldGEaNwoJTWV0YUVudHJ5EhAKA2tleRgBIAEoCVIDa2V5EhQKBXZhbHVlGAIgASgJUgV2YWx1ZToCOAE=');
@$core.Deprecated('Use streamFilesDescriptor instead')
const StreamFiles$json = const {
'1': 'StreamFiles',
'2': const [
const {'1': 'Paths', '3': 1, '4': 3, '5': 9, '10': 'Paths'},
],
};
/// Descriptor for `StreamFiles`. Decode as a `google.protobuf.DescriptorProto`.
final $typed_data.Uint8List streamFilesDescriptor = $convert.base64Decode('CgtTdHJlYW1GaWxlcxIUCgVQYXRocxgBIAMoCVIFUGF0aHM=');
@$core.Deprecated('Use streamServerEventsDescriptor instead')
const StreamServerEvents$json = const {
'1': 'StreamServerEvents',
'2': const [
const {'1': 'Channels', '3': 1, '4': 3, '5': 9, '10': 'Channels'},
],
};
/// Descriptor for `StreamServerEvents`. Decode as a `google.protobuf.DescriptorProto`.
final $typed_data.Uint8List streamServerEventsDescriptor = $convert.base64Decode('ChJTdHJlYW1TZXJ2ZXJFdmVudHMSGgoIQ2hhbm5lbHMYASADKAlSCENoYW5uZWxz');
@$core.Deprecated('Use streamServerEventsResponseDescriptor instead')
const StreamServerEventsResponse$json = const {
'1': 'StreamServerEventsResponse',
'2': const [
const {'1': 'EventId', '3': 1, '4': 1, '5': 3, '10': 'EventId'},
const {'1': 'Channel', '3': 2, '4': 1, '5': 9, '10': 'Channel'},
const {'1': 'Selector', '3': 4, '4': 1, '5': 9, '10': 'Selector'},
const {'1': 'Json', '3': 5, '4': 1, '5': 9, '10': 'Json'},
const {'1': 'Op', '3': 6, '4': 1, '5': 9, '10': 'Op'},
const {'1': 'Target', '3': 7, '4': 1, '5': 9, '10': 'Target'},
const {'1': 'CssSelector', '3': 8, '4': 1, '5': 9, '10': 'CssSelector'},
const {'1': 'Meta', '3': 9, '4': 3, '5': 11, '6': '.StreamServerEventsResponse.MetaEntry', '10': 'Meta'},
const {'1': 'UserId', '3': 10, '4': 1, '5': 9, '10': 'UserId'},
const {'1': 'DisplayName', '3': 11, '4': 1, '5': 9, '10': 'DisplayName'},
const {'1': 'ProfileUrl', '3': 12, '4': 1, '5': 9, '10': 'ProfileUrl'},
const {'1': 'IsAuthenticated', '3': 13, '4': 1, '5': 8, '10': 'IsAuthenticated'},
const {'1': 'Channels', '3': 14, '4': 3, '5': 9, '10': 'Channels'},
const {'1': 'CreatedAt', '3': 15, '4': 1, '5': 3, '10': 'CreatedAt'},
const {'1': 'Id', '3': 21, '4': 1, '5': 9, '10': 'Id'},
const {'1': 'UnRegisterUrl', '3': 22, '4': 1, '5': 9, '10': 'UnRegisterUrl'},
const {'1': 'UpdateSubscriberUrl', '3': 23, '4': 1, '5': 9, '10': 'UpdateSubscriberUrl'},
const {'1': 'HeartbeatUrl', '3': 24, '4': 1, '5': 9, '10': 'HeartbeatUrl'},
const {'1': 'HeartbeatIntervalMs', '3': 25, '4': 1, '5': 3, '10': 'HeartbeatIntervalMs'},
const {'1': 'IdleTimeoutMs', '3': 26, '4': 1, '5': 3, '10': 'IdleTimeoutMs'},
const {'1': 'ResponseStatus', '3': 30, '4': 1, '5': 11, '6': '.ResponseStatus', '10': 'ResponseStatus'},
],
'3': const [StreamServerEventsResponse_MetaEntry$json],
};
@$core.Deprecated('Use streamServerEventsResponseDescriptor instead')
const StreamServerEventsResponse_MetaEntry$json = const {
'1': 'MetaEntry',
'2': const [
const {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'},
const {'1': 'value', '3': 2, '4': 1, '5': 9, '10': 'value'},
],
'7': const {'7': true},
};
/// Descriptor for `StreamServerEventsResponse`. Decode as a `google.protobuf.DescriptorProto`.
final $typed_data.Uint8List streamServerEventsResponseDescriptor = $convert.base64Decode('ChpTdHJlYW1TZXJ2ZXJFdmVudHNSZXNwb25zZRIYCgdFdmVudElkGAEgASgDUgdFdmVudElkEhgKB0NoYW5uZWwYAiABKAlSB0NoYW5uZWwSGgoIU2VsZWN0b3IYBCABKAlSCFNlbGVjdG9yEhIKBEpzb24YBSABKAlSBEpzb24SDgoCT3AYBiABKAlSAk9wEhYKBlRhcmdldBgHIAEoCVIGVGFyZ2V0EiAKC0Nzc1NlbGVjdG9yGAggASgJUgtDc3NTZWxlY3RvchI5CgRNZXRhGAkgAygLMiUuU3RyZWFtU2VydmVyRXZlbnRzUmVzcG9uc2UuTWV0YUVudHJ5UgRNZXRhEhYKBlVzZXJJZBgKIAEoCVIGVXNlcklkEiAKC0Rpc3BsYXlOYW1lGAsgASgJUgtEaXNwbGF5TmFtZRIeCgpQcm9maWxlVXJsGAwgASgJUgpQcm9maWxlVXJsEigKD0lzQXV0aGVudGljYXRlZBgNIAEoCFIPSXNBdXRoZW50aWNhdGVkEhoKCENoYW5uZWxzGA4gAygJUghDaGFubmVscxIcCglDcmVhdGVkQXQYDyABKANSCUNyZWF0ZWRBdBIOCgJJZBgVIAEoCVICSWQSJAoNVW5SZWdpc3RlclVybBgWIAEoCVINVW5SZWdpc3RlclVybBIwChNVcGRhdGVTdWJzY3JpYmVyVXJsGBcgASgJUhNVcGRhdGVTdWJzY3JpYmVyVXJsEiIKDEhlYXJ0YmVhdFVybBgYIAEoCVIMSGVhcnRiZWF0VXJsEjAKE0hlYXJ0YmVhdEludGVydmFsTXMYGSABKANSE0hlYXJ0YmVhdEludGVydmFsTXMSJAoNSWRsZVRpbWVvdXRNcxgaIAEoA1INSWRsZVRpbWVvdXRNcxI3Cg5SZXNwb25zZVN0YXR1cxgeIAEoCzIPLlJlc3BvbnNlU3RhdHVzUg5SZXNwb25zZVN0YXR1cxo3CglNZXRhRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSFAoFdmFsdWUYAiABKAlSBXZhbHVlOgI4AQ==');
/* Options:
Date: 2023-02-20 10:01:02
Version: 6.60
Tip: To override a DTO option, remove "//" prefix before updating
BaseUrl: https://localhost:5001
//GlobalNamespace:
//AddDescriptionAsComments: True
*/
syntax = "proto3";
service GrpcServices {
rpc GetHello(Hello) returns (HelloResponse) {}
rpc PostHello(Hello) returns (HelloResponse) {}
rpc PutHello(Hello) returns (HelloResponse) {}
rpc DeleteHello(Hello) returns (HelloResponse) {}
rpc ServerStreamFiles(StreamFiles) returns (stream FileContent) {}
rpc ServerStreamServerEvents(StreamServerEvents) returns (stream StreamServerEventsResponse) {}
}
message FileContent {
string Name = 1;
string Type = 2;
int32 Length = 3;
bytes Body = 4;
ResponseStatus ResponseStatus = 5;
}
message Hello {
string Name = 1;
}
message HelloResponse {
string Result = 1;
ResponseStatus ResponseStatus = 2;
}
message ResponseError {
string ErrorCode = 1;
string FieldName = 2;
string Message = 3;
map<string,string> Meta = 4;
}
message ResponseStatus {
string ErrorCode = 1;
string Message = 2;
string StackTrace = 3;
repeated ResponseError Errors = 4;
map<string,string> Meta = 5;
}
message StreamFiles {
repeated string Paths = 1;
}
message StreamServerEvents {
repeated string Channels = 1;
}
message StreamServerEventsResponse {
int64 EventId = 1;
string Channel = 2;
string Selector = 4;
string Json = 5;
string Op = 6;
string Target = 7;
string CssSelector = 8;
map<string,string> Meta = 9;
string UserId = 10;
string DisplayName = 11;
string ProfileUrl = 12;
bool IsAuthenticated = 13;
repeated string Channels = 14;
int64 CreatedAt = 15;
string Id = 21;
string UnRegisterUrl = 22;
string UpdateSubscriberUrl = 23;
string HeartbeatUrl = 24;
int64 HeartbeatIntervalMs = 25;
int64 IdleTimeoutMs = 26;
ResponseStatus ResponseStatus = 30;
}
// This is a basic Flutter widget test.
//
// To perform an interaction with a widget in your test, use the WidgetTester
// utility in the flutter_test package. For example, you can send tap and scroll
// gestures. You can also use WidgetTester to find child widgets in the widget
// tree, read text, and verify that the values of widget properties are correct.
import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:my_app_flutter/main.dart';
void main() {
testWidgets('Counter increments smoke test', (WidgetTester tester) async {
// Build our app and trigger a frame.
await tester.pumpWidget(const MyApp());
// Verify that our counter starts at 0.
expect(find.text('0'), findsOneWidget);
expect(find.text('1'), findsNothing);
// Tap the '+' icon and trigger a frame.
await tester.tap(find.byIcon(Icons.add));
await tester.pump();
// Verify that our counter has incremented.
expect(find.text('0'), findsNothing);
expect(find.text('1'), findsOneWidget);
});
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment