summaryrefslogtreecommitdiffstats
path: root/protos
diff options
context:
space:
mode:
authorLisandro Pérez Meyer <lpmeyer@ics.com>2023-11-14 17:20:58 -0300
committerLisandro Pérez Meyer <lpmeyer@ics.com>2023-11-14 17:31:12 -0300
commit70ec8a79a121471a004e7e4c23157d10157e136f (patch)
treea4f9c0a4fac4e4274ec4324a289b6ef62e1c5653 /protos
Initial cleanup push.
Based on agldemo2024 on commit 2a5dc04d801134338150c3f6afc67eaa65599763 Disable device preview. Disable Lottie animation. The original commit was b3c493c340fcb4bb0a937692838fc830bec3e9ea but I am just keeping this change, because the json did not really needed to change. I think. Signed-off-by: Lisandro Pérez Meyer <lpmeyer@ics.com>
Diffstat (limited to 'protos')
-rw-r--r--protos/.gitignore7
-rw-r--r--protos/CHANGELOG.md3
-rw-r--r--protos/README.md52
-rw-r--r--protos/analysis_options.yaml30
-rw-r--r--protos/lib/protos.dart43
-rw-r--r--protos/lib/src/generated/google/protobuf/timestamp.pb.dart113
-rw-r--r--protos/lib/src/generated/google/protobuf/timestamp.pbenum.dart7
-rw-r--r--protos/lib/src/generated/google/protobuf/timestamp.pbjson.dart21
-rw-r--r--protos/lib/src/generated/kuksa/val/v1/types.pb.dart1674
-rw-r--r--protos/lib/src/generated/kuksa/val/v1/types.pbenum.dart180
-rw-r--r--protos/lib/src/generated/kuksa/val/v1/types.pbjson.dart482
-rw-r--r--protos/lib/src/generated/kuksa/val/v1/val.pb.dart636
-rw-r--r--protos/lib/src/generated/kuksa/val/v1/val.pbenum.dart11
-rw-r--r--protos/lib/src/generated/kuksa/val/v1/val.pbgrpc.dart119
-rw-r--r--protos/lib/src/generated/kuksa/val/v1/val.pbjson.dart166
-rw-r--r--protos/lib/src/generated/sdv/databroker/v1/broker.pb.dart400
-rw-r--r--protos/lib/src/generated/sdv/databroker/v1/broker.pbenum.dart11
-rw-r--r--protos/lib/src/generated/sdv/databroker/v1/broker.pbgrpc.dart119
-rw-r--r--protos/lib/src/generated/sdv/databroker/v1/broker.pbjson.dart168
-rw-r--r--protos/lib/src/generated/sdv/databroker/v1/collector.pb.dart380
-rw-r--r--protos/lib/src/generated/sdv/databroker/v1/collector.pbenum.dart11
-rw-r--r--protos/lib/src/generated/sdv/databroker/v1/collector.pbgrpc.dart95
-rw-r--r--protos/lib/src/generated/sdv/databroker/v1/collector.pbjson.dart176
-rw-r--r--protos/lib/src/generated/sdv/databroker/v1/types.pb.dart851
-rw-r--r--protos/lib/src/generated/sdv/databroker/v1/types.pbenum.dart162
-rw-r--r--protos/lib/src/generated/sdv/databroker/v1/types.pbjson.dart290
-rw-r--r--protos/lib/src/generated/todo.pb.dart146
-rw-r--r--protos/lib/src/generated/todo.pbenum.dart11
-rw-r--r--protos/lib/src/generated/todo.pbgrpc.dart79
-rw-r--r--protos/lib/src/generated/todo.pbjson.dart42
-rw-r--r--protos/protos/car.proto24
-rw-r--r--protos/protos/kuksa/val/v1/types.proto289
-rw-r--r--protos/protos/kuksa/val/v1/val.proto115
-rw-r--r--protos/protos/sdv/databroker/v1/broker.proto96
-rw-r--r--protos/protos/sdv/databroker/v1/collector.proto97
-rw-r--r--protos/protos/sdv/databroker/v1/types.proto160
-rw-r--r--protos/protos/timestamp.proto144
-rw-r--r--protos/protos/todo.proto16
-rw-r--r--protos/pubspec.yaml17
39 files changed, 7443 insertions, 0 deletions
diff --git a/protos/.gitignore b/protos/.gitignore
new file mode 100644
index 0000000..3cceda5
--- /dev/null
+++ b/protos/.gitignore
@@ -0,0 +1,7 @@
+# https://dart.dev/guides/libraries/private-files
+# Created by `dart pub`
+.dart_tool/
+
+# Avoid committing pubspec.lock for library packages; see
+# https://dart.dev/guides/libraries/private-files#pubspeclock.
+pubspec.lock
diff --git a/protos/CHANGELOG.md b/protos/CHANGELOG.md
new file mode 100644
index 0000000..effe43c
--- /dev/null
+++ b/protos/CHANGELOG.md
@@ -0,0 +1,3 @@
+## 1.0.0
+
+- Initial version.
diff --git a/protos/README.md b/protos/README.md
new file mode 100644
index 0000000..528e331
--- /dev/null
+++ b/protos/README.md
@@ -0,0 +1,52 @@
+<!--
+This README describes the package. If you publish this package to pub.dev,
+this README's contents appear on the landing page for your package.
+
+For information about how to write a good package README, see the guide for
+[writing package pages](https://dart.dev/guides/libraries/writing-package-pages).
+
+For general information about developing packages, see the Dart guide for
+[creating packages](https://dart.dev/guides/libraries/create-library-packages)
+and the Flutter guide for
+[developing packages and plugins](https://flutter.dev/developing-packages).
+-->
+
+
+
+
+<!--
+
+How to generate proto files:
+Makre sure you have installed protobuff and .pub-cache/bin added to path: ie:
+export PATH="$PATH:$HOME/.pub-cache/bin"
+run:
+'protoc --dart_out=grpc:lib/src/generated -Iprotos protos/*'
+-->
+
+
+TODO: Put a short description of the package here that helps potential users
+know whether this package might be useful for them.
+
+## Features
+
+TODO: List what your package can do. Maybe include images, gifs, or videos.
+
+## Getting started
+
+TODO: List prerequisites and provide or point to information on how to
+start using the package.
+
+## Usage
+
+TODO: Include short and useful examples for package users. Add longer examples
+to `/example` folder.
+
+```dart
+const like = 'sample';
+```
+
+## Additional information
+
+TODO: Tell users more about the package: where to find more information, how to
+contribute to the package, how to file issues, what response they can expect
+from the package authors, and more.
diff --git a/protos/analysis_options.yaml b/protos/analysis_options.yaml
new file mode 100644
index 0000000..dee8927
--- /dev/null
+++ b/protos/analysis_options.yaml
@@ -0,0 +1,30 @@
+# This file configures the static analysis results for your project (errors,
+# warnings, and lints).
+#
+# This enables the 'recommended' set of lints from `package:lints`.
+# This set helps identify many issues that may lead to problems when running
+# or consuming Dart code, and enforces writing Dart using a single, idiomatic
+# style and format.
+#
+# If you want a smaller set of lints you can change this to specify
+# 'package:lints/core.yaml'. These are just the most critical lints
+# (the recommended set includes the core lints).
+# The core lints are also what is used by pub.dev for scoring packages.
+
+include: package:lints/recommended.yaml
+
+# Uncomment the following section to specify additional rules.
+
+# linter:
+# rules:
+# - camel_case_types
+
+# analyzer:
+# exclude:
+# - path/to/excluded/files/**
+
+# For more information about the core and recommended set of lints, see
+# https://dart.dev/go/core-lints
+
+# For additional information about configuring this file, see
+# https://dart.dev/guides/language/analysis-options
diff --git a/protos/lib/protos.dart b/protos/lib/protos.dart
new file mode 100644
index 0000000..b8fc14a
--- /dev/null
+++ b/protos/lib/protos.dart
@@ -0,0 +1,43 @@
+
+library protos;
+
+export 'src/generated/todo.pb.dart';
+export 'src/generated/todo.pbenum.dart';
+export 'src/generated/todo.pbgrpc.dart';
+export 'src/generated/todo.pbjson.dart';
+
+export 'src/generated/google/protobuf/timestamp.pb.dart';
+export 'src/generated/google/protobuf/timestamp.pbenum.dart';
+export 'src/generated/google/protobuf/timestamp.pbjson.dart';
+
+export 'src/generated/kuksa/val/v1/types.pb.dart';
+export 'src/generated/kuksa/val/v1/types.pbenum.dart';
+export 'src/generated/kuksa/val/v1/types.pbjson.dart';
+
+export 'src/generated/kuksa/val/v1/val.pb.dart';
+export 'src/generated/kuksa/val/v1/val.pbenum.dart';
+export 'src/generated/kuksa/val/v1/val.pbjson.dart';
+export 'src/generated/kuksa/val/v1/val.pbgrpc.dart';
+
+export 'src/generated/sdv/databroker/v1/collector.pb.dart';
+export 'src/generated/sdv/databroker/v1/collector.pbenum.dart';
+export 'src/generated/sdv/databroker/v1/collector.pbgrpc.dart';
+export 'src/generated/sdv/databroker/v1/collector.pbjson.dart';
+
+// export 'src/generated/sdv/databroker/v1/broker.pb.dart';
+// export 'src/generated/sdv/databroker/v1/broker.pbenum.dart';
+// export 'src/generated/sdv/databroker/v1/broker.pbgrpc.dart';
+// export 'src/generated/sdv/databroker/v1/broker.pbjson.dart';
+
+// export 'src/generated/sdv/databroker/v1/types.pb.dart';
+// export 'src/generated/sdv/databroker/v1/types.pbenum.dart';
+// export 'src/generated/sdv/databroker/v1/types.pbjson.dart';
+
+
+
+
+
+
+
+
+export 'package:grpc/grpc.dart';
diff --git a/protos/lib/src/generated/google/protobuf/timestamp.pb.dart b/protos/lib/src/generated/google/protobuf/timestamp.pb.dart
new file mode 100644
index 0000000..e54e4f9
--- /dev/null
+++ b/protos/lib/src/generated/google/protobuf/timestamp.pb.dart
@@ -0,0 +1,113 @@
+///
+// Generated code. Do not modify.
+// source: google/protobuf/timestamp.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, depend_on_referenced_packages, implementation_imports
+
+import 'dart:core' as $core;
+
+import 'package:fixnum/fixnum.dart' as $fixnum;
+import 'package:protobuf/protobuf.dart' as $pb;
+
+import 'package:protobuf/src/protobuf/mixins/well_known.dart' as $mixin;
+
+class Timestamp extends $pb.GeneratedMessage with $mixin.TimestampMixin {
+ static final $pb.BuilderInfo _i = $pb.BuilderInfo(
+ const $core.bool.fromEnvironment('protobuf.omit_message_names')
+ ? ''
+ : 'Timestamp',
+ package: const $pb.PackageName(
+ const $core.bool.fromEnvironment('protobuf.omit_message_names')
+ ? ''
+ : 'google.protobuf'),
+ createEmptyInstance: create,
+ toProto3Json: $mixin.TimestampMixin.toProto3JsonHelper,
+ fromProto3Json: $mixin.TimestampMixin.fromProto3JsonHelper)
+ ..aInt64(
+ 1,
+ const $core.bool.fromEnvironment('protobuf.omit_field_names')
+ ? ''
+ : 'seconds')
+ ..a<$core.int>(
+ 2,
+ const $core.bool.fromEnvironment('protobuf.omit_field_names')
+ ? ''
+ : 'nanos',
+ $pb.PbFieldType.O3)
+ ..hasRequiredFields = false;
+
+ Timestamp._() : super();
+ factory Timestamp({
+ $fixnum.Int64? seconds,
+ $core.int? nanos,
+ }) {
+ // ignore: no_leading_underscores_for_local_identifiers
+ final _result = create();
+ if (seconds != null) {
+ _result.seconds = seconds;
+ }
+ if (nanos != null) {
+ _result.nanos = nanos;
+ }
+ return _result;
+ }
+ factory Timestamp.fromBuffer($core.List<$core.int> i,
+ [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) =>
+ create()..mergeFromBuffer(i, r);
+ factory Timestamp.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')
+ Timestamp clone() => Timestamp()..mergeFromMessage(this);
+ @$core.Deprecated('Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
+ 'Will be removed in next major version')
+ Timestamp copyWith(void Function(Timestamp) updates) =>
+ super.copyWith((message) => updates(message as Timestamp))
+ as Timestamp; // ignore: deprecated_member_use
+ $pb.BuilderInfo get info_ => _i;
+ @$core.pragma('dart2js:noInline')
+ static Timestamp create() => Timestamp._();
+ Timestamp createEmptyInstance() => create();
+ static $pb.PbList<Timestamp> createRepeated() => $pb.PbList<Timestamp>();
+ @$core.pragma('dart2js:noInline')
+ static Timestamp getDefault() =>
+ _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<Timestamp>(create);
+ static Timestamp? _defaultInstance;
+
+ @$pb.TagNumber(1)
+ $fixnum.Int64 get seconds => $_getI64(0);
+ @$pb.TagNumber(1)
+ set seconds($fixnum.Int64 v) {
+ $_setInt64(0, v);
+ }
+
+ @$pb.TagNumber(1)
+ $core.bool hasSeconds() => $_has(0);
+ @$pb.TagNumber(1)
+ void clearSeconds() => clearField(1);
+
+ @$pb.TagNumber(2)
+ $core.int get nanos => $_getIZ(1);
+ @$pb.TagNumber(2)
+ set nanos($core.int v) {
+ $_setSignedInt32(1, v);
+ }
+
+ @$pb.TagNumber(2)
+ $core.bool hasNanos() => $_has(1);
+ @$pb.TagNumber(2)
+ void clearNanos() => clearField(2);
+
+ /// Creates a new instance from [dateTime].
+ ///
+ /// Time zone information will not be preserved.
+ static Timestamp fromDateTime($core.DateTime dateTime) {
+ final result = create();
+ $mixin.TimestampMixin.setFromDateTime(result, dateTime);
+ return result;
+ }
+}
diff --git a/protos/lib/src/generated/google/protobuf/timestamp.pbenum.dart b/protos/lib/src/generated/google/protobuf/timestamp.pbenum.dart
new file mode 100644
index 0000000..1590039
--- /dev/null
+++ b/protos/lib/src/generated/google/protobuf/timestamp.pbenum.dart
@@ -0,0 +1,7 @@
+
+
+// Generated code. Do not modify.
+// source: google/protobuf/timestamp.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
diff --git a/protos/lib/src/generated/google/protobuf/timestamp.pbjson.dart b/protos/lib/src/generated/google/protobuf/timestamp.pbjson.dart
new file mode 100644
index 0000000..421f785
--- /dev/null
+++ b/protos/lib/src/generated/google/protobuf/timestamp.pbjson.dart
@@ -0,0 +1,21 @@
+///
+// Generated code. Do not modify.
+// source: google/protobuf/timestamp.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 timestampDescriptor instead')
+const Timestamp$json = const {
+ '1': 'Timestamp',
+ '2': const [
+ const {'1': 'seconds', '3': 1, '4': 1, '5': 3, '10': 'seconds'},
+ const {'1': 'nanos', '3': 2, '4': 1, '5': 5, '10': 'nanos'},
+ ],
+};
+
+/// Descriptor for `Timestamp`. Decode as a `google.protobuf.DescriptorProto`.
+final $typed_data.Uint8List timestampDescriptor = $convert.base64Decode('CglUaW1lc3RhbXASGAoHc2Vjb25kcxgBIAEoA1IHc2Vjb25kcxIUCgVuYW5vcxgCIAEoBVIFbmFub3M=');
diff --git a/protos/lib/src/generated/kuksa/val/v1/types.pb.dart b/protos/lib/src/generated/kuksa/val/v1/types.pb.dart
new file mode 100644
index 0000000..69228fd
--- /dev/null
+++ b/protos/lib/src/generated/kuksa/val/v1/types.pb.dart
@@ -0,0 +1,1674 @@
+//
+// Generated code. Do not modify.
+// source: kuksa/val/v1/types.proto
+//
+// @dart = 2.12
+
+// ignore_for_file: annotate_overrides, camel_case_types, comment_references
+// ignore_for_file: constant_identifier_names, library_prefixes
+// ignore_for_file: non_constant_identifier_names, prefer_final_fields
+// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
+
+import 'dart:core' as $core;
+
+// ignore: depend_on_referenced_packages
+import 'package:fixnum/fixnum.dart' as $fixnum;
+import 'package:protobuf/protobuf.dart' as $pb;
+
+import '../../../google/protobuf/timestamp.pb.dart' as $1;
+import 'types.pbenum.dart';
+
+export 'types.pbenum.dart';
+
+/// Describes a VSS entry
+/// When requesting an entry, the amount of information returned can
+/// be controlled by specifying either a `View` or a set of `Field`s.
+class DataEntry extends $pb.GeneratedMessage {
+ factory DataEntry({
+ $core.String? path,
+ Datapoint? value,
+ Datapoint? actuatorTarget,
+ Metadata? metadata,
+ }) {
+ final $result = create();
+ if (path != null) {
+ $result.path = path;
+ }
+ if (value != null) {
+ $result.value = value;
+ }
+ if (actuatorTarget != null) {
+ $result.actuatorTarget = actuatorTarget;
+ }
+ if (metadata != null) {
+ $result.metadata = metadata;
+ }
+ return $result;
+ }
+ DataEntry._() : super();
+ factory DataEntry.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
+ factory DataEntry.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
+
+ static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'DataEntry', package: const $pb.PackageName(_omitMessageNames ? '' : 'kuksa.val.v1'), createEmptyInstance: create)
+ ..aOS(1, _omitFieldNames ? '' : 'path')
+ ..aOM<Datapoint>(2, _omitFieldNames ? '' : 'value', subBuilder: Datapoint.create)
+ ..aOM<Datapoint>(3, _omitFieldNames ? '' : 'actuatorTarget', subBuilder: Datapoint.create)
+ ..aOM<Metadata>(10, _omitFieldNames ? '' : 'metadata', subBuilder: Metadata.create)
+ ..hasRequiredFields = false
+ ;
+
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
+ 'Will be removed in next major version')
+ DataEntry clone() => DataEntry()..mergeFromMessage(this);
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
+ 'Will be removed in next major version')
+ DataEntry copyWith(void Function(DataEntry) updates) => super.copyWith((message) => updates(message as DataEntry)) as DataEntry;
+
+ $pb.BuilderInfo get info_ => _i;
+
+ @$core.pragma('dart2js:noInline')
+ static DataEntry create() => DataEntry._();
+ DataEntry createEmptyInstance() => create();
+ static $pb.PbList<DataEntry> createRepeated() => $pb.PbList<DataEntry>();
+ @$core.pragma('dart2js:noInline')
+ static DataEntry getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<DataEntry>(create);
+ static DataEntry? _defaultInstance;
+
+ /// Defines the full VSS path of the entry.
+ @$pb.TagNumber(1)
+ $core.String get path => $_getSZ(0);
+ @$pb.TagNumber(1)
+ set path($core.String v) { $_setString(0, v); }
+ @$pb.TagNumber(1)
+ $core.bool hasPath() => $_has(0);
+ @$pb.TagNumber(1)
+ void clearPath() => clearField(1);
+
+ /// The value (datapoint)
+ @$pb.TagNumber(2)
+ Datapoint get value => $_getN(1);
+ @$pb.TagNumber(2)
+ set value(Datapoint v) { setField(2, v); }
+ @$pb.TagNumber(2)
+ $core.bool hasValue() => $_has(1);
+ @$pb.TagNumber(2)
+ void clearValue() => clearField(2);
+ @$pb.TagNumber(2)
+ Datapoint ensureValue() => $_ensure(1);
+
+ /// Actuator target (only used if the entry is an actuator)
+ @$pb.TagNumber(3)
+ Datapoint get actuatorTarget => $_getN(2);
+ @$pb.TagNumber(3)
+ set actuatorTarget(Datapoint v) { setField(3, v); }
+ @$pb.TagNumber(3)
+ $core.bool hasActuatorTarget() => $_has(2);
+ @$pb.TagNumber(3)
+ void clearActuatorTarget() => clearField(3);
+ @$pb.TagNumber(3)
+ Datapoint ensureActuatorTarget() => $_ensure(2);
+
+ /// Metadata for this entry
+ @$pb.TagNumber(10)
+ Metadata get metadata => $_getN(3);
+ @$pb.TagNumber(10)
+ set metadata(Metadata v) { setField(10, v); }
+ @$pb.TagNumber(10)
+ $core.bool hasMetadata() => $_has(3);
+ @$pb.TagNumber(10)
+ void clearMetadata() => clearField(10);
+ @$pb.TagNumber(10)
+ Metadata ensureMetadata() => $_ensure(3);
+}
+
+enum Datapoint_Value {
+ string,
+ bool_12,
+ int32,
+ int64,
+ uint32,
+ uint64,
+ float,
+ double_18,
+ stringArray,
+ boolArray,
+ int32Array,
+ int64Array,
+ uint32Array,
+ uint64Array,
+ floatArray,
+ doubleArray,
+ notSet
+}
+
+class Datapoint extends $pb.GeneratedMessage {
+ factory Datapoint({
+ $1.Timestamp? timestamp,
+ $core.String? string,
+ $core.bool? bool_12,
+ $core.int? int32,
+ $fixnum.Int64? int64,
+ $core.int? uint32,
+ $fixnum.Int64? uint64,
+ $core.double? float,
+ $core.double? double_18,
+ StringArray? stringArray,
+ BoolArray? boolArray,
+ Int32Array? int32Array,
+ Int64Array? int64Array,
+ Uint32Array? uint32Array,
+ Uint64Array? uint64Array,
+ FloatArray? floatArray,
+ DoubleArray? doubleArray,
+ }) {
+ final $result = create();
+ if (timestamp != null) {
+ $result.timestamp = timestamp;
+ }
+ if (string != null) {
+ $result.string = string;
+ }
+ if (bool_12 != null) {
+ $result.bool_12 = bool_12;
+ }
+ if (int32 != null) {
+ $result.int32 = int32;
+ }
+ if (int64 != null) {
+ $result.int64 = int64;
+ }
+ if (uint32 != null) {
+ $result.uint32 = uint32;
+ }
+ if (uint64 != null) {
+ $result.uint64 = uint64;
+ }
+ if (float != null) {
+ $result.float = float;
+ }
+ if (double_18 != null) {
+ $result.double_18 = double_18;
+ }
+ if (stringArray != null) {
+ $result.stringArray = stringArray;
+ }
+ if (boolArray != null) {
+ $result.boolArray = boolArray;
+ }
+ if (int32Array != null) {
+ $result.int32Array = int32Array;
+ }
+ if (int64Array != null) {
+ $result.int64Array = int64Array;
+ }
+ if (uint32Array != null) {
+ $result.uint32Array = uint32Array;
+ }
+ if (uint64Array != null) {
+ $result.uint64Array = uint64Array;
+ }
+ if (floatArray != null) {
+ $result.floatArray = floatArray;
+ }
+ if (doubleArray != null) {
+ $result.doubleArray = doubleArray;
+ }
+ return $result;
+ }
+ Datapoint._() : super();
+ factory Datapoint.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
+ factory Datapoint.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
+
+ static const $core.Map<$core.int, Datapoint_Value> _Datapoint_ValueByTag = {
+ 11 : Datapoint_Value.string,
+ 12 : Datapoint_Value.bool_12,
+ 13 : Datapoint_Value.int32,
+ 14 : Datapoint_Value.int64,
+ 15 : Datapoint_Value.uint32,
+ 16 : Datapoint_Value.uint64,
+ 17 : Datapoint_Value.float,
+ 18 : Datapoint_Value.double_18,
+ 21 : Datapoint_Value.stringArray,
+ 22 : Datapoint_Value.boolArray,
+ 23 : Datapoint_Value.int32Array,
+ 24 : Datapoint_Value.int64Array,
+ 25 : Datapoint_Value.uint32Array,
+ 26 : Datapoint_Value.uint64Array,
+ 27 : Datapoint_Value.floatArray,
+ 28 : Datapoint_Value.doubleArray,
+ 0 : Datapoint_Value.notSet
+ };
+ static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'Datapoint', package: const $pb.PackageName(_omitMessageNames ? '' : 'kuksa.val.v1'), createEmptyInstance: create)
+ ..oo(0, [11, 12, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24, 25, 26, 27, 28])
+ ..aOM<$1.Timestamp>(1, _omitFieldNames ? '' : 'timestamp', subBuilder: $1.Timestamp.create)
+ ..aOS(11, _omitFieldNames ? '' : 'string')
+ ..aOB(12, _omitFieldNames ? '' : 'bool')
+ ..a<$core.int>(13, _omitFieldNames ? '' : 'int32', $pb.PbFieldType.OS3)
+ ..a<$fixnum.Int64>(14, _omitFieldNames ? '' : 'int64', $pb.PbFieldType.OS6, defaultOrMaker: $fixnum.Int64.ZERO)
+ ..a<$core.int>(15, _omitFieldNames ? '' : 'uint32', $pb.PbFieldType.OU3)
+ ..a<$fixnum.Int64>(16, _omitFieldNames ? '' : 'uint64', $pb.PbFieldType.OU6, defaultOrMaker: $fixnum.Int64.ZERO)
+ ..a<$core.double>(17, _omitFieldNames ? '' : 'float', $pb.PbFieldType.OF)
+ ..a<$core.double>(18, _omitFieldNames ? '' : 'double', $pb.PbFieldType.OD)
+ ..aOM<StringArray>(21, _omitFieldNames ? '' : 'stringArray', subBuilder: StringArray.create)
+ ..aOM<BoolArray>(22, _omitFieldNames ? '' : 'boolArray', subBuilder: BoolArray.create)
+ ..aOM<Int32Array>(23, _omitFieldNames ? '' : 'int32Array', subBuilder: Int32Array.create)
+ ..aOM<Int64Array>(24, _omitFieldNames ? '' : 'int64Array', subBuilder: Int64Array.create)
+ ..aOM<Uint32Array>(25, _omitFieldNames ? '' : 'uint32Array', subBuilder: Uint32Array.create)
+ ..aOM<Uint64Array>(26, _omitFieldNames ? '' : 'uint64Array', subBuilder: Uint64Array.create)
+ ..aOM<FloatArray>(27, _omitFieldNames ? '' : 'floatArray', subBuilder: FloatArray.create)
+ ..aOM<DoubleArray>(28, _omitFieldNames ? '' : 'doubleArray', subBuilder: DoubleArray.create)
+ ..hasRequiredFields = false
+ ;
+
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
+ 'Will be removed in next major version')
+ Datapoint clone() => Datapoint()..mergeFromMessage(this);
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
+ 'Will be removed in next major version')
+ Datapoint copyWith(void Function(Datapoint) updates) => super.copyWith((message) => updates(message as Datapoint)) as Datapoint;
+
+ $pb.BuilderInfo get info_ => _i;
+
+ @$core.pragma('dart2js:noInline')
+ static Datapoint create() => Datapoint._();
+ Datapoint createEmptyInstance() => create();
+ static $pb.PbList<Datapoint> createRepeated() => $pb.PbList<Datapoint>();
+ @$core.pragma('dart2js:noInline')
+ static Datapoint getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<Datapoint>(create);
+ static Datapoint? _defaultInstance;
+
+ Datapoint_Value whichValue() => _Datapoint_ValueByTag[$_whichOneof(0)]!;
+ void clearValue() => clearField($_whichOneof(0));
+
+ @$pb.TagNumber(1)
+ $1.Timestamp get timestamp => $_getN(0);
+ @$pb.TagNumber(1)
+ set timestamp($1.Timestamp v) { setField(1, v); }
+ @$pb.TagNumber(1)
+ $core.bool hasTimestamp() => $_has(0);
+ @$pb.TagNumber(1)
+ void clearTimestamp() => clearField(1);
+ @$pb.TagNumber(1)
+ $1.Timestamp ensureTimestamp() => $_ensure(0);
+
+ @$pb.TagNumber(11)
+ $core.String get string => $_getSZ(1);
+ @$pb.TagNumber(11)
+ set string($core.String v) { $_setString(1, v); }
+ @$pb.TagNumber(11)
+ $core.bool hasString() => $_has(1);
+ @$pb.TagNumber(11)
+ void clearString() => clearField(11);
+
+ @$pb.TagNumber(12)
+ $core.bool get bool_12 => $_getBF(2);
+ @$pb.TagNumber(12)
+ set bool_12($core.bool v) { $_setBool(2, v); }
+ @$pb.TagNumber(12)
+ $core.bool hasBool_12() => $_has(2);
+ @$pb.TagNumber(12)
+ void clearBool_12() => clearField(12);
+
+ @$pb.TagNumber(13)
+ $core.int get int32 => $_getIZ(3);
+ @$pb.TagNumber(13)
+ set int32($core.int v) { $_setSignedInt32(3, v); }
+ @$pb.TagNumber(13)
+ $core.bool hasInt32() => $_has(3);
+ @$pb.TagNumber(13)
+ void clearInt32() => clearField(13);
+
+ @$pb.TagNumber(14)
+ $fixnum.Int64 get int64 => $_getI64(4);
+ @$pb.TagNumber(14)
+ set int64($fixnum.Int64 v) { $_setInt64(4, v); }
+ @$pb.TagNumber(14)
+ $core.bool hasInt64() => $_has(4);
+ @$pb.TagNumber(14)
+ void clearInt64() => clearField(14);
+
+ @$pb.TagNumber(15)
+ $core.int get uint32 => $_getIZ(5);
+ @$pb.TagNumber(15)
+ set uint32($core.int v) { $_setUnsignedInt32(5, v); }
+ @$pb.TagNumber(15)
+ $core.bool hasUint32() => $_has(5);
+ @$pb.TagNumber(15)
+ void clearUint32() => clearField(15);
+
+ @$pb.TagNumber(16)
+ $fixnum.Int64 get uint64 => $_getI64(6);
+ @$pb.TagNumber(16)
+ set uint64($fixnum.Int64 v) { $_setInt64(6, v); }
+ @$pb.TagNumber(16)
+ $core.bool hasUint64() => $_has(6);
+ @$pb.TagNumber(16)
+ void clearUint64() => clearField(16);
+
+ @$pb.TagNumber(17)
+ $core.double get float => $_getN(7);
+ @$pb.TagNumber(17)
+ set float($core.double v) { $_setFloat(7, v); }
+ @$pb.TagNumber(17)
+ $core.bool hasFloat() => $_has(7);
+ @$pb.TagNumber(17)
+ void clearFloat() => clearField(17);
+
+ @$pb.TagNumber(18)
+ $core.double get double_18 => $_getN(8);
+ @$pb.TagNumber(18)
+ set double_18($core.double v) { $_setDouble(8, v); }
+ @$pb.TagNumber(18)
+ $core.bool hasDouble_18() => $_has(8);
+ @$pb.TagNumber(18)
+ void clearDouble_18() => clearField(18);
+
+ @$pb.TagNumber(21)
+ StringArray get stringArray => $_getN(9);
+ @$pb.TagNumber(21)
+ set stringArray(StringArray v) { setField(21, v); }
+ @$pb.TagNumber(21)
+ $core.bool hasStringArray() => $_has(9);
+ @$pb.TagNumber(21)
+ void clearStringArray() => clearField(21);
+ @$pb.TagNumber(21)
+ StringArray ensureStringArray() => $_ensure(9);
+
+ @$pb.TagNumber(22)
+ BoolArray get boolArray => $_getN(10);
+ @$pb.TagNumber(22)
+ set boolArray(BoolArray v) { setField(22, v); }
+ @$pb.TagNumber(22)
+ $core.bool hasBoolArray() => $_has(10);
+ @$pb.TagNumber(22)
+ void clearBoolArray() => clearField(22);
+ @$pb.TagNumber(22)
+ BoolArray ensureBoolArray() => $_ensure(10);
+
+ @$pb.TagNumber(23)
+ Int32Array get int32Array => $_getN(11);
+ @$pb.TagNumber(23)
+ set int32Array(Int32Array v) { setField(23, v); }
+ @$pb.TagNumber(23)
+ $core.bool hasInt32Array() => $_has(11);
+ @$pb.TagNumber(23)
+ void clearInt32Array() => clearField(23);
+ @$pb.TagNumber(23)
+ Int32Array ensureInt32Array() => $_ensure(11);
+
+ @$pb.TagNumber(24)
+ Int64Array get int64Array => $_getN(12);
+ @$pb.TagNumber(24)
+ set int64Array(Int64Array v) { setField(24, v); }
+ @$pb.TagNumber(24)
+ $core.bool hasInt64Array() => $_has(12);
+ @$pb.TagNumber(24)
+ void clearInt64Array() => clearField(24);
+ @$pb.TagNumber(24)
+ Int64Array ensureInt64Array() => $_ensure(12);
+
+ @$pb.TagNumber(25)
+ Uint32Array get uint32Array => $_getN(13);
+ @$pb.TagNumber(25)
+ set uint32Array(Uint32Array v) { setField(25, v); }
+ @$pb.TagNumber(25)
+ $core.bool hasUint32Array() => $_has(13);
+ @$pb.TagNumber(25)
+ void clearUint32Array() => clearField(25);
+ @$pb.TagNumber(25)
+ Uint32Array ensureUint32Array() => $_ensure(13);
+
+ @$pb.TagNumber(26)
+ Uint64Array get uint64Array => $_getN(14);
+ @$pb.TagNumber(26)
+ set uint64Array(Uint64Array v) { setField(26, v); }
+ @$pb.TagNumber(26)
+ $core.bool hasUint64Array() => $_has(14);
+ @$pb.TagNumber(26)
+ void clearUint64Array() => clearField(26);
+ @$pb.TagNumber(26)
+ Uint64Array ensureUint64Array() => $_ensure(14);
+
+ @$pb.TagNumber(27)
+ FloatArray get floatArray => $_getN(15);
+ @$pb.TagNumber(27)
+ set floatArray(FloatArray v) { setField(27, v); }
+ @$pb.TagNumber(27)
+ $core.bool hasFloatArray() => $_has(15);
+ @$pb.TagNumber(27)
+ void clearFloatArray() => clearField(27);
+ @$pb.TagNumber(27)
+ FloatArray ensureFloatArray() => $_ensure(15);
+
+ @$pb.TagNumber(28)
+ DoubleArray get doubleArray => $_getN(16);
+ @$pb.TagNumber(28)
+ set doubleArray(DoubleArray v) { setField(28, v); }
+ @$pb.TagNumber(28)
+ $core.bool hasDoubleArray() => $_has(16);
+ @$pb.TagNumber(28)
+ void clearDoubleArray() => clearField(28);
+ @$pb.TagNumber(28)
+ DoubleArray ensureDoubleArray() => $_ensure(16);
+}
+
+enum Metadata_EntrySpecific {
+ actuator,
+ sensor,
+ attribute,
+ notSet
+}
+
+class Metadata extends $pb.GeneratedMessage {
+ factory Metadata({
+ DataType? dataType,
+ EntryType? entryType,
+ $core.String? description,
+ $core.String? comment,
+ $core.String? deprecation,
+ $core.String? unit,
+ ValueRestriction? valueRestriction,
+ Actuator? actuator,
+ Sensor? sensor,
+ Attribute? attribute,
+ }) {
+ final $result = create();
+ if (dataType != null) {
+ $result.dataType = dataType;
+ }
+ if (entryType != null) {
+ $result.entryType = entryType;
+ }
+ if (description != null) {
+ $result.description = description;
+ }
+ if (comment != null) {
+ $result.comment = comment;
+ }
+ if (deprecation != null) {
+ $result.deprecation = deprecation;
+ }
+ if (unit != null) {
+ $result.unit = unit;
+ }
+ if (valueRestriction != null) {
+ $result.valueRestriction = valueRestriction;
+ }
+ if (actuator != null) {
+ $result.actuator = actuator;
+ }
+ if (sensor != null) {
+ $result.sensor = sensor;
+ }
+ if (attribute != null) {
+ $result.attribute = attribute;
+ }
+ return $result;
+ }
+ Metadata._() : super();
+ factory Metadata.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
+ factory Metadata.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
+
+ static const $core.Map<$core.int, Metadata_EntrySpecific> _Metadata_EntrySpecificByTag = {
+ 20 : Metadata_EntrySpecific.actuator,
+ 30 : Metadata_EntrySpecific.sensor,
+ 40 : Metadata_EntrySpecific.attribute,
+ 0 : Metadata_EntrySpecific.notSet
+ };
+ static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'Metadata', package: const $pb.PackageName(_omitMessageNames ? '' : 'kuksa.val.v1'), createEmptyInstance: create)
+ ..oo(0, [20, 30, 40])
+ ..e<DataType>(11, _omitFieldNames ? '' : 'dataType', $pb.PbFieldType.OE, defaultOrMaker: DataType.DATA_TYPE_UNSPECIFIED, valueOf: DataType.valueOf, enumValues: DataType.values)
+ ..e<EntryType>(12, _omitFieldNames ? '' : 'entryType', $pb.PbFieldType.OE, defaultOrMaker: EntryType.ENTRY_TYPE_UNSPECIFIED, valueOf: EntryType.valueOf, enumValues: EntryType.values)
+ ..aOS(13, _omitFieldNames ? '' : 'description')
+ ..aOS(14, _omitFieldNames ? '' : 'comment')
+ ..aOS(15, _omitFieldNames ? '' : 'deprecation')
+ ..aOS(16, _omitFieldNames ? '' : 'unit')
+ ..aOM<ValueRestriction>(17, _omitFieldNames ? '' : 'valueRestriction', subBuilder: ValueRestriction.create)
+ ..aOM<Actuator>(20, _omitFieldNames ? '' : 'actuator', subBuilder: Actuator.create)
+ ..aOM<Sensor>(30, _omitFieldNames ? '' : 'sensor', subBuilder: Sensor.create)
+ ..aOM<Attribute>(40, _omitFieldNames ? '' : 'attribute', subBuilder: Attribute.create)
+ ..hasRequiredFields = false
+ ;
+
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
+ 'Will be removed in next major version')
+ Metadata clone() => Metadata()..mergeFromMessage(this);
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
+ 'Will be removed in next major version')
+ Metadata copyWith(void Function(Metadata) updates) => super.copyWith((message) => updates(message as Metadata)) as Metadata;
+
+ $pb.BuilderInfo get info_ => _i;
+
+ @$core.pragma('dart2js:noInline')
+ static Metadata create() => Metadata._();
+ Metadata createEmptyInstance() => create();
+ static $pb.PbList<Metadata> createRepeated() => $pb.PbList<Metadata>();
+ @$core.pragma('dart2js:noInline')
+ static Metadata getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<Metadata>(create);
+ static Metadata? _defaultInstance;
+
+ Metadata_EntrySpecific whichEntrySpecific() => _Metadata_EntrySpecificByTag[$_whichOneof(0)]!;
+ void clearEntrySpecific() => clearField($_whichOneof(0));
+
+ /// Data type
+ /// The VSS data type of the entry (i.e. the value, min, max etc).
+ ///
+ /// NOTE: protobuf doesn't have int8, int16, uint8 or uint16 which means
+ /// that these values must be serialized as int32 and uint32 respectively.
+ @$pb.TagNumber(11)
+ DataType get dataType => $_getN(0);
+ @$pb.TagNumber(11)
+ set dataType(DataType v) { setField(11, v); }
+ @$pb.TagNumber(11)
+ $core.bool hasDataType() => $_has(0);
+ @$pb.TagNumber(11)
+ void clearDataType() => clearField(11);
+
+ /// Entry type
+ @$pb.TagNumber(12)
+ EntryType get entryType => $_getN(1);
+ @$pb.TagNumber(12)
+ set entryType(EntryType v) { setField(12, v); }
+ @$pb.TagNumber(12)
+ $core.bool hasEntryType() => $_has(1);
+ @$pb.TagNumber(12)
+ void clearEntryType() => clearField(12);
+
+ /// Description
+ /// Describes the meaning and content of the entry.
+ @$pb.TagNumber(13)
+ $core.String get description => $_getSZ(2);
+ @$pb.TagNumber(13)
+ set description($core.String v) { $_setString(2, v); }
+ @$pb.TagNumber(13)
+ $core.bool hasDescription() => $_has(2);
+ @$pb.TagNumber(13)
+ void clearDescription() => clearField(13);
+
+ /// Comment [optional]
+ /// A comment can be used to provide additional informal information
+ /// on a entry.
+ @$pb.TagNumber(14)
+ $core.String get comment => $_getSZ(3);
+ @$pb.TagNumber(14)
+ set comment($core.String v) { $_setString(3, v); }
+ @$pb.TagNumber(14)
+ $core.bool hasComment() => $_has(3);
+ @$pb.TagNumber(14)
+ void clearComment() => clearField(14);
+
+ /// Deprecation [optional]
+ /// Whether this entry is deprecated. Can contain recommendations of what
+ /// to use instead.
+ @$pb.TagNumber(15)
+ $core.String get deprecation => $_getSZ(4);
+ @$pb.TagNumber(15)
+ set deprecation($core.String v) { $_setString(4, v); }
+ @$pb.TagNumber(15)
+ $core.bool hasDeprecation() => $_has(4);
+ @$pb.TagNumber(15)
+ void clearDeprecation() => clearField(15);
+
+ /// Unit [optional]
+ /// The unit of measurement
+ @$pb.TagNumber(16)
+ $core.String get unit => $_getSZ(5);
+ @$pb.TagNumber(16)
+ set unit($core.String v) { $_setString(5, v); }
+ @$pb.TagNumber(16)
+ $core.bool hasUnit() => $_has(5);
+ @$pb.TagNumber(16)
+ void clearUnit() => clearField(16);
+
+ /// Value restrictions [optional]
+ /// Restrict which values are allowed.
+ /// Only restrictions matching the DataType {datatype} above are valid.
+ @$pb.TagNumber(17)
+ ValueRestriction get valueRestriction => $_getN(6);
+ @$pb.TagNumber(17)
+ set valueRestriction(ValueRestriction v) { setField(17, v); }
+ @$pb.TagNumber(17)
+ $core.bool hasValueRestriction() => $_has(6);
+ @$pb.TagNumber(17)
+ void clearValueRestriction() => clearField(17);
+ @$pb.TagNumber(17)
+ ValueRestriction ensureValueRestriction() => $_ensure(6);
+
+ @$pb.TagNumber(20)
+ Actuator get actuator => $_getN(7);
+ @$pb.TagNumber(20)
+ set actuator(Actuator v) { setField(20, v); }
+ @$pb.TagNumber(20)
+ $core.bool hasActuator() => $_has(7);
+ @$pb.TagNumber(20)
+ void clearActuator() => clearField(20);
+ @$pb.TagNumber(20)
+ Actuator ensureActuator() => $_ensure(7);
+
+ @$pb.TagNumber(30)
+ Sensor get sensor => $_getN(8);
+ @$pb.TagNumber(30)
+ set sensor(Sensor v) { setField(30, v); }
+ @$pb.TagNumber(30)
+ $core.bool hasSensor() => $_has(8);
+ @$pb.TagNumber(30)
+ void clearSensor() => clearField(30);
+ @$pb.TagNumber(30)
+ Sensor ensureSensor() => $_ensure(8);
+
+ @$pb.TagNumber(40)
+ Attribute get attribute => $_getN(9);
+ @$pb.TagNumber(40)
+ set attribute(Attribute v) { setField(40, v); }
+ @$pb.TagNumber(40)
+ $core.bool hasAttribute() => $_has(9);
+ @$pb.TagNumber(40)
+ void clearAttribute() => clearField(40);
+ @$pb.TagNumber(40)
+ Attribute ensureAttribute() => $_ensure(9);
+}
+
+/// /////////////////////
+/// Actuator specific fields
+class Actuator extends $pb.GeneratedMessage {
+ factory Actuator() => create();
+ Actuator._() : super();
+ factory Actuator.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
+ factory Actuator.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
+
+ static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'Actuator', package: const $pb.PackageName(_omitMessageNames ? '' : 'kuksa.val.v1'), createEmptyInstance: create)
+ ..hasRequiredFields = false
+ ;
+
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
+ 'Will be removed in next major version')
+ Actuator clone() => Actuator()..mergeFromMessage(this);
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
+ 'Will be removed in next major version')
+ Actuator copyWith(void Function(Actuator) updates) => super.copyWith((message) => updates(message as Actuator)) as Actuator;
+
+ $pb.BuilderInfo get info_ => _i;
+
+ @$core.pragma('dart2js:noInline')
+ static Actuator create() => Actuator._();
+ Actuator createEmptyInstance() => create();
+ static $pb.PbList<Actuator> createRepeated() => $pb.PbList<Actuator>();
+ @$core.pragma('dart2js:noInline')
+ static Actuator getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<Actuator>(create);
+ static Actuator? _defaultInstance;
+}
+
+/// //////////////////////
+/// Sensor specific
+class Sensor extends $pb.GeneratedMessage {
+ factory Sensor() => create();
+ Sensor._() : super();
+ factory Sensor.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
+ factory Sensor.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
+
+ static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'Sensor', package: const $pb.PackageName(_omitMessageNames ? '' : 'kuksa.val.v1'), createEmptyInstance: create)
+ ..hasRequiredFields = false
+ ;
+
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
+ 'Will be removed in next major version')
+ Sensor clone() => Sensor()..mergeFromMessage(this);
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
+ 'Will be removed in next major version')
+ Sensor copyWith(void Function(Sensor) updates) => super.copyWith((message) => updates(message as Sensor)) as Sensor;
+
+ $pb.BuilderInfo get info_ => _i;
+
+ @$core.pragma('dart2js:noInline')
+ static Sensor create() => Sensor._();
+ Sensor createEmptyInstance() => create();
+ static $pb.PbList<Sensor> createRepeated() => $pb.PbList<Sensor>();
+ @$core.pragma('dart2js:noInline')
+ static Sensor getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<Sensor>(create);
+ static Sensor? _defaultInstance;
+}
+
+/// //////////////////////
+/// Attribute specific
+class Attribute extends $pb.GeneratedMessage {
+ factory Attribute() => create();
+ Attribute._() : super();
+ factory Attribute.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
+ factory Attribute.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
+
+ static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'Attribute', package: const $pb.PackageName(_omitMessageNames ? '' : 'kuksa.val.v1'), createEmptyInstance: create)
+ ..hasRequiredFields = false
+ ;
+
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
+ 'Will be removed in next major version')
+ Attribute clone() => Attribute()..mergeFromMessage(this);
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
+ 'Will be removed in next major version')
+ Attribute copyWith(void Function(Attribute) updates) => super.copyWith((message) => updates(message as Attribute)) as Attribute;
+
+ $pb.BuilderInfo get info_ => _i;
+
+ @$core.pragma('dart2js:noInline')
+ static Attribute create() => Attribute._();
+ Attribute createEmptyInstance() => create();
+ static $pb.PbList<Attribute> createRepeated() => $pb.PbList<Attribute>();
+ @$core.pragma('dart2js:noInline')
+ static Attribute getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<Attribute>(create);
+ static Attribute? _defaultInstance;
+}
+
+enum ValueRestriction_Type {
+ string,
+ signed,
+ unsigned,
+ floatingPoint,
+ notSet
+}
+
+/// Value restriction
+///
+/// One ValueRestriction{type} for each type, since
+/// they don't make sense unless the types match
+class ValueRestriction extends $pb.GeneratedMessage {
+ factory ValueRestriction({
+ ValueRestrictionString? string,
+ ValueRestrictionInt? signed,
+ ValueRestrictionUint? unsigned,
+ ValueRestrictionFloat? floatingPoint,
+ }) {
+ final $result = create();
+ if (string != null) {
+ $result.string = string;
+ }
+ if (signed != null) {
+ $result.signed = signed;
+ }
+ if (unsigned != null) {
+ $result.unsigned = unsigned;
+ }
+ if (floatingPoint != null) {
+ $result.floatingPoint = floatingPoint;
+ }
+ return $result;
+ }
+ ValueRestriction._() : super();
+ factory ValueRestriction.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
+ factory ValueRestriction.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
+
+ static const $core.Map<$core.int, ValueRestriction_Type> _ValueRestriction_TypeByTag = {
+ 21 : ValueRestriction_Type.string,
+ 22 : ValueRestriction_Type.signed,
+ 23 : ValueRestriction_Type.unsigned,
+ 24 : ValueRestriction_Type.floatingPoint,
+ 0 : ValueRestriction_Type.notSet
+ };
+ static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ValueRestriction', package: const $pb.PackageName(_omitMessageNames ? '' : 'kuksa.val.v1'), createEmptyInstance: create)
+ ..oo(0, [21, 22, 23, 24])
+ ..aOM<ValueRestrictionString>(21, _omitFieldNames ? '' : 'string', subBuilder: ValueRestrictionString.create)
+ ..aOM<ValueRestrictionInt>(22, _omitFieldNames ? '' : 'signed', subBuilder: ValueRestrictionInt.create)
+ ..aOM<ValueRestrictionUint>(23, _omitFieldNames ? '' : 'unsigned', subBuilder: ValueRestrictionUint.create)
+ ..aOM<ValueRestrictionFloat>(24, _omitFieldNames ? '' : 'floatingPoint', subBuilder: ValueRestrictionFloat.create)
+ ..hasRequiredFields = false
+ ;
+
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
+ 'Will be removed in next major version')
+ ValueRestriction clone() => ValueRestriction()..mergeFromMessage(this);
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
+ 'Will be removed in next major version')
+ ValueRestriction copyWith(void Function(ValueRestriction) updates) => super.copyWith((message) => updates(message as ValueRestriction)) as ValueRestriction;
+
+ $pb.BuilderInfo get info_ => _i;
+
+ @$core.pragma('dart2js:noInline')
+ static ValueRestriction create() => ValueRestriction._();
+ ValueRestriction createEmptyInstance() => create();
+ static $pb.PbList<ValueRestriction> createRepeated() => $pb.PbList<ValueRestriction>();
+ @$core.pragma('dart2js:noInline')
+ static ValueRestriction getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<ValueRestriction>(create);
+ static ValueRestriction? _defaultInstance;
+
+ ValueRestriction_Type whichType() => _ValueRestriction_TypeByTag[$_whichOneof(0)]!;
+ void clearType() => clearField($_whichOneof(0));
+
+ @$pb.TagNumber(21)
+ ValueRestrictionString get string => $_getN(0);
+ @$pb.TagNumber(21)
+ set string(ValueRestrictionString v) { setField(21, v); }
+ @$pb.TagNumber(21)
+ $core.bool hasString() => $_has(0);
+ @$pb.TagNumber(21)
+ void clearString() => clearField(21);
+ @$pb.TagNumber(21)
+ ValueRestrictionString ensureString() => $_ensure(0);
+
+ /// For signed VSS integers
+ @$pb.TagNumber(22)
+ ValueRestrictionInt get signed => $_getN(1);
+ @$pb.TagNumber(22)
+ set signed(ValueRestrictionInt v) { setField(22, v); }
+ @$pb.TagNumber(22)
+ $core.bool hasSigned() => $_has(1);
+ @$pb.TagNumber(22)
+ void clearSigned() => clearField(22);
+ @$pb.TagNumber(22)
+ ValueRestrictionInt ensureSigned() => $_ensure(1);
+
+ /// For unsigned VSS integers
+ @$pb.TagNumber(23)
+ ValueRestrictionUint get unsigned => $_getN(2);
+ @$pb.TagNumber(23)
+ set unsigned(ValueRestrictionUint v) { setField(23, v); }
+ @$pb.TagNumber(23)
+ $core.bool hasUnsigned() => $_has(2);
+ @$pb.TagNumber(23)
+ void clearUnsigned() => clearField(23);
+ @$pb.TagNumber(23)
+ ValueRestrictionUint ensureUnsigned() => $_ensure(2);
+
+ /// For floating point VSS values (float and double)
+ @$pb.TagNumber(24)
+ ValueRestrictionFloat get floatingPoint => $_getN(3);
+ @$pb.TagNumber(24)
+ set floatingPoint(ValueRestrictionFloat v) { setField(24, v); }
+ @$pb.TagNumber(24)
+ $core.bool hasFloatingPoint() => $_has(3);
+ @$pb.TagNumber(24)
+ void clearFloatingPoint() => clearField(24);
+ @$pb.TagNumber(24)
+ ValueRestrictionFloat ensureFloatingPoint() => $_ensure(3);
+}
+
+class ValueRestrictionInt extends $pb.GeneratedMessage {
+ factory ValueRestrictionInt({
+ $fixnum.Int64? min,
+ $fixnum.Int64? max,
+ $core.Iterable<$fixnum.Int64>? allowedValues,
+ }) {
+ final $result = create();
+ if (min != null) {
+ $result.min = min;
+ }
+ if (max != null) {
+ $result.max = max;
+ }
+ if (allowedValues != null) {
+ $result.allowedValues.addAll(allowedValues);
+ }
+ return $result;
+ }
+ ValueRestrictionInt._() : super();
+ factory ValueRestrictionInt.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
+ factory ValueRestrictionInt.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
+
+ static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ValueRestrictionInt', package: const $pb.PackageName(_omitMessageNames ? '' : 'kuksa.val.v1'), createEmptyInstance: create)
+ ..a<$fixnum.Int64>(1, _omitFieldNames ? '' : 'min', $pb.PbFieldType.OS6, defaultOrMaker: $fixnum.Int64.ZERO)
+ ..a<$fixnum.Int64>(2, _omitFieldNames ? '' : 'max', $pb.PbFieldType.OS6, defaultOrMaker: $fixnum.Int64.ZERO)
+ ..p<$fixnum.Int64>(3, _omitFieldNames ? '' : 'allowedValues', $pb.PbFieldType.KS6)
+ ..hasRequiredFields = false
+ ;
+
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
+ 'Will be removed in next major version')
+ ValueRestrictionInt clone() => ValueRestrictionInt()..mergeFromMessage(this);
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
+ 'Will be removed in next major version')
+ ValueRestrictionInt copyWith(void Function(ValueRestrictionInt) updates) => super.copyWith((message) => updates(message as ValueRestrictionInt)) as ValueRestrictionInt;
+
+ $pb.BuilderInfo get info_ => _i;
+
+ @$core.pragma('dart2js:noInline')
+ static ValueRestrictionInt create() => ValueRestrictionInt._();
+ ValueRestrictionInt createEmptyInstance() => create();
+ static $pb.PbList<ValueRestrictionInt> createRepeated() => $pb.PbList<ValueRestrictionInt>();
+ @$core.pragma('dart2js:noInline')
+ static ValueRestrictionInt getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<ValueRestrictionInt>(create);
+ static ValueRestrictionInt? _defaultInstance;
+
+ @$pb.TagNumber(1)
+ $fixnum.Int64 get min => $_getI64(0);
+ @$pb.TagNumber(1)
+ set min($fixnum.Int64 v) { $_setInt64(0, v); }
+ @$pb.TagNumber(1)
+ $core.bool hasMin() => $_has(0);
+ @$pb.TagNumber(1)
+ void clearMin() => clearField(1);
+
+ @$pb.TagNumber(2)
+ $fixnum.Int64 get max => $_getI64(1);
+ @$pb.TagNumber(2)
+ set max($fixnum.Int64 v) { $_setInt64(1, v); }
+ @$pb.TagNumber(2)
+ $core.bool hasMax() => $_has(1);
+ @$pb.TagNumber(2)
+ void clearMax() => clearField(2);
+
+ @$pb.TagNumber(3)
+ $core.List<$fixnum.Int64> get allowedValues => $_getList(2);
+}
+
+class ValueRestrictionUint extends $pb.GeneratedMessage {
+ factory ValueRestrictionUint({
+ $fixnum.Int64? min,
+ $fixnum.Int64? max,
+ $core.Iterable<$fixnum.Int64>? allowedValues,
+ }) {
+ final $result = create();
+ if (min != null) {
+ $result.min = min;
+ }
+ if (max != null) {
+ $result.max = max;
+ }
+ if (allowedValues != null) {
+ $result.allowedValues.addAll(allowedValues);
+ }
+ return $result;
+ }
+ ValueRestrictionUint._() : super();
+ factory ValueRestrictionUint.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
+ factory ValueRestrictionUint.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
+
+ static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ValueRestrictionUint', package: const $pb.PackageName(_omitMessageNames ? '' : 'kuksa.val.v1'), createEmptyInstance: create)
+ ..a<$fixnum.Int64>(1, _omitFieldNames ? '' : 'min', $pb.PbFieldType.OU6, defaultOrMaker: $fixnum.Int64.ZERO)
+ ..a<$fixnum.Int64>(2, _omitFieldNames ? '' : 'max', $pb.PbFieldType.OU6, defaultOrMaker: $fixnum.Int64.ZERO)
+ ..p<$fixnum.Int64>(3, _omitFieldNames ? '' : 'allowedValues', $pb.PbFieldType.KU6)
+ ..hasRequiredFields = false
+ ;
+
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
+ 'Will be removed in next major version')
+ ValueRestrictionUint clone() => ValueRestrictionUint()..mergeFromMessage(this);
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
+ 'Will be removed in next major version')
+ ValueRestrictionUint copyWith(void Function(ValueRestrictionUint) updates) => super.copyWith((message) => updates(message as ValueRestrictionUint)) as ValueRestrictionUint;
+
+ $pb.BuilderInfo get info_ => _i;
+
+ @$core.pragma('dart2js:noInline')
+ static ValueRestrictionUint create() => ValueRestrictionUint._();
+ ValueRestrictionUint createEmptyInstance() => create();
+ static $pb.PbList<ValueRestrictionUint> createRepeated() => $pb.PbList<ValueRestrictionUint>();
+ @$core.pragma('dart2js:noInline')
+ static ValueRestrictionUint getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<ValueRestrictionUint>(create);
+ static ValueRestrictionUint? _defaultInstance;
+
+ @$pb.TagNumber(1)
+ $fixnum.Int64 get min => $_getI64(0);
+ @$pb.TagNumber(1)
+ set min($fixnum.Int64 v) { $_setInt64(0, v); }
+ @$pb.TagNumber(1)
+ $core.bool hasMin() => $_has(0);
+ @$pb.TagNumber(1)
+ void clearMin() => clearField(1);
+
+ @$pb.TagNumber(2)
+ $fixnum.Int64 get max => $_getI64(1);
+ @$pb.TagNumber(2)
+ set max($fixnum.Int64 v) { $_setInt64(1, v); }
+ @$pb.TagNumber(2)
+ $core.bool hasMax() => $_has(1);
+ @$pb.TagNumber(2)
+ void clearMax() => clearField(2);
+
+ @$pb.TagNumber(3)
+ $core.List<$fixnum.Int64> get allowedValues => $_getList(2);
+}
+
+class ValueRestrictionFloat extends $pb.GeneratedMessage {
+ factory ValueRestrictionFloat({
+ $core.double? min,
+ $core.double? max,
+ $core.Iterable<$core.double>? allowedValues,
+ }) {
+ final $result = create();
+ if (min != null) {
+ $result.min = min;
+ }
+ if (max != null) {
+ $result.max = max;
+ }
+ if (allowedValues != null) {
+ $result.allowedValues.addAll(allowedValues);
+ }
+ return $result;
+ }
+ ValueRestrictionFloat._() : super();
+ factory ValueRestrictionFloat.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
+ factory ValueRestrictionFloat.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
+
+ static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ValueRestrictionFloat', package: const $pb.PackageName(_omitMessageNames ? '' : 'kuksa.val.v1'), createEmptyInstance: create)
+ ..a<$core.double>(1, _omitFieldNames ? '' : 'min', $pb.PbFieldType.OD)
+ ..a<$core.double>(2, _omitFieldNames ? '' : 'max', $pb.PbFieldType.OD)
+ ..p<$core.double>(3, _omitFieldNames ? '' : 'allowedValues', $pb.PbFieldType.KD)
+ ..hasRequiredFields = false
+ ;
+
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
+ 'Will be removed in next major version')
+ ValueRestrictionFloat clone() => ValueRestrictionFloat()..mergeFromMessage(this);
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
+ 'Will be removed in next major version')
+ ValueRestrictionFloat copyWith(void Function(ValueRestrictionFloat) updates) => super.copyWith((message) => updates(message as ValueRestrictionFloat)) as ValueRestrictionFloat;
+
+ $pb.BuilderInfo get info_ => _i;
+
+ @$core.pragma('dart2js:noInline')
+ static ValueRestrictionFloat create() => ValueRestrictionFloat._();
+ ValueRestrictionFloat createEmptyInstance() => create();
+ static $pb.PbList<ValueRestrictionFloat> createRepeated() => $pb.PbList<ValueRestrictionFloat>();
+ @$core.pragma('dart2js:noInline')
+ static ValueRestrictionFloat getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<ValueRestrictionFloat>(create);
+ static ValueRestrictionFloat? _defaultInstance;
+
+ @$pb.TagNumber(1)
+ $core.double get min => $_getN(0);
+ @$pb.TagNumber(1)
+ set min($core.double v) { $_setDouble(0, v); }
+ @$pb.TagNumber(1)
+ $core.bool hasMin() => $_has(0);
+ @$pb.TagNumber(1)
+ void clearMin() => clearField(1);
+
+ @$pb.TagNumber(2)
+ $core.double get max => $_getN(1);
+ @$pb.TagNumber(2)
+ set max($core.double v) { $_setDouble(1, v); }
+ @$pb.TagNumber(2)
+ $core.bool hasMax() => $_has(1);
+ @$pb.TagNumber(2)
+ void clearMax() => clearField(2);
+
+ /// allowed for doubles/floats not recommended
+ @$pb.TagNumber(3)
+ $core.List<$core.double> get allowedValues => $_getList(2);
+}
+
+/// min, max doesn't make much sense for a string
+class ValueRestrictionString extends $pb.GeneratedMessage {
+ factory ValueRestrictionString({
+ $core.Iterable<$core.String>? allowedValues,
+ }) {
+ final $result = create();
+ if (allowedValues != null) {
+ $result.allowedValues.addAll(allowedValues);
+ }
+ return $result;
+ }
+ ValueRestrictionString._() : super();
+ factory ValueRestrictionString.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
+ factory ValueRestrictionString.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
+
+ static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ValueRestrictionString', package: const $pb.PackageName(_omitMessageNames ? '' : 'kuksa.val.v1'), createEmptyInstance: create)
+ ..pPS(3, _omitFieldNames ? '' : 'allowedValues')
+ ..hasRequiredFields = false
+ ;
+
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
+ 'Will be removed in next major version')
+ ValueRestrictionString clone() => ValueRestrictionString()..mergeFromMessage(this);
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
+ 'Will be removed in next major version')
+ ValueRestrictionString copyWith(void Function(ValueRestrictionString) updates) => super.copyWith((message) => updates(message as ValueRestrictionString)) as ValueRestrictionString;
+
+ $pb.BuilderInfo get info_ => _i;
+
+ @$core.pragma('dart2js:noInline')
+ static ValueRestrictionString create() => ValueRestrictionString._();
+ ValueRestrictionString createEmptyInstance() => create();
+ static $pb.PbList<ValueRestrictionString> createRepeated() => $pb.PbList<ValueRestrictionString>();
+ @$core.pragma('dart2js:noInline')
+ static ValueRestrictionString getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<ValueRestrictionString>(create);
+ static ValueRestrictionString? _defaultInstance;
+
+ @$pb.TagNumber(3)
+ $core.List<$core.String> get allowedValues => $_getList(0);
+}
+
+/// Error response shall be an HTTP-like code.
+/// Should follow https://www.w3.org/TR/viss2-transport/#status-codes.
+class Error extends $pb.GeneratedMessage {
+ factory Error({
+ $core.int? code,
+ $core.String? reason,
+ $core.String? message,
+ }) {
+ final $result = create();
+ if (code != null) {
+ $result.code = code;
+ }
+ if (reason != null) {
+ $result.reason = reason;
+ }
+ if (message != null) {
+ $result.message = message;
+ }
+ return $result;
+ }
+ Error._() : super();
+ factory Error.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
+ factory Error.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
+
+ static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'Error', package: const $pb.PackageName(_omitMessageNames ? '' : 'kuksa.val.v1'), createEmptyInstance: create)
+ ..a<$core.int>(1, _omitFieldNames ? '' : 'code', $pb.PbFieldType.OU3)
+ ..aOS(2, _omitFieldNames ? '' : 'reason')
+ ..aOS(3, _omitFieldNames ? '' : 'message')
+ ..hasRequiredFields = false
+ ;
+
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
+ 'Will be removed in next major version')
+ Error clone() => Error()..mergeFromMessage(this);
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
+ 'Will be removed in next major version')
+ Error copyWith(void Function(Error) updates) => super.copyWith((message) => updates(message as Error)) as Error;
+
+ $pb.BuilderInfo get info_ => _i;
+
+ @$core.pragma('dart2js:noInline')
+ static Error create() => Error._();
+ Error createEmptyInstance() => create();
+ static $pb.PbList<Error> createRepeated() => $pb.PbList<Error>();
+ @$core.pragma('dart2js:noInline')
+ static Error getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<Error>(create);
+ static Error? _defaultInstance;
+
+ @$pb.TagNumber(1)
+ $core.int get code => $_getIZ(0);
+ @$pb.TagNumber(1)
+ set code($core.int v) { $_setUnsignedInt32(0, v); }
+ @$pb.TagNumber(1)
+ $core.bool hasCode() => $_has(0);
+ @$pb.TagNumber(1)
+ void clearCode() => clearField(1);
+
+ @$pb.TagNumber(2)
+ $core.String get reason => $_getSZ(1);
+ @$pb.TagNumber(2)
+ set reason($core.String v) { $_setString(1, v); }
+ @$pb.TagNumber(2)
+ $core.bool hasReason() => $_has(1);
+ @$pb.TagNumber(2)
+ void clearReason() => 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);
+}
+
+/// Used in get/set requests to report errors for specific entries
+class DataEntryError extends $pb.GeneratedMessage {
+ factory DataEntryError({
+ $core.String? path,
+ Error? error,
+ }) {
+ final $result = create();
+ if (path != null) {
+ $result.path = path;
+ }
+ if (error != null) {
+ $result.error = error;
+ }
+ return $result;
+ }
+ DataEntryError._() : super();
+ factory DataEntryError.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
+ factory DataEntryError.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
+
+ static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'DataEntryError', package: const $pb.PackageName(_omitMessageNames ? '' : 'kuksa.val.v1'), createEmptyInstance: create)
+ ..aOS(1, _omitFieldNames ? '' : 'path')
+ ..aOM<Error>(2, _omitFieldNames ? '' : 'error', subBuilder: Error.create)
+ ..hasRequiredFields = false
+ ;
+
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
+ 'Will be removed in next major version')
+ DataEntryError clone() => DataEntryError()..mergeFromMessage(this);
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
+ 'Will be removed in next major version')
+ DataEntryError copyWith(void Function(DataEntryError) updates) => super.copyWith((message) => updates(message as DataEntryError)) as DataEntryError;
+
+ $pb.BuilderInfo get info_ => _i;
+
+ @$core.pragma('dart2js:noInline')
+ static DataEntryError create() => DataEntryError._();
+ DataEntryError createEmptyInstance() => create();
+ static $pb.PbList<DataEntryError> createRepeated() => $pb.PbList<DataEntryError>();
+ @$core.pragma('dart2js:noInline')
+ static DataEntryError getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<DataEntryError>(create);
+ static DataEntryError? _defaultInstance;
+
+ @$pb.TagNumber(1)
+ $core.String get path => $_getSZ(0);
+ @$pb.TagNumber(1)
+ set path($core.String v) { $_setString(0, v); }
+ @$pb.TagNumber(1)
+ $core.bool hasPath() => $_has(0);
+ @$pb.TagNumber(1)
+ void clearPath() => clearField(1);
+
+ @$pb.TagNumber(2)
+ Error get error => $_getN(1);
+ @$pb.TagNumber(2)
+ set error(Error v) { setField(2, v); }
+ @$pb.TagNumber(2)
+ $core.bool hasError() => $_has(1);
+ @$pb.TagNumber(2)
+ void clearError() => clearField(2);
+ @$pb.TagNumber(2)
+ Error ensureError() => $_ensure(1);
+}
+
+class StringArray extends $pb.GeneratedMessage {
+ factory StringArray({
+ $core.Iterable<$core.String>? values,
+ }) {
+ final $result = create();
+ if (values != null) {
+ $result.values.addAll(values);
+ }
+ return $result;
+ }
+ StringArray._() : super();
+ factory StringArray.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
+ factory StringArray.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
+
+ static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'StringArray', package: const $pb.PackageName(_omitMessageNames ? '' : 'kuksa.val.v1'), createEmptyInstance: create)
+ ..pPS(1, _omitFieldNames ? '' : 'values')
+ ..hasRequiredFields = false
+ ;
+
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
+ 'Will be removed in next major version')
+ StringArray clone() => StringArray()..mergeFromMessage(this);
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
+ 'Will be removed in next major version')
+ StringArray copyWith(void Function(StringArray) updates) => super.copyWith((message) => updates(message as StringArray)) as StringArray;
+
+ $pb.BuilderInfo get info_ => _i;
+
+ @$core.pragma('dart2js:noInline')
+ static StringArray create() => StringArray._();
+ StringArray createEmptyInstance() => create();
+ static $pb.PbList<StringArray> createRepeated() => $pb.PbList<StringArray>();
+ @$core.pragma('dart2js:noInline')
+ static StringArray getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<StringArray>(create);
+ static StringArray? _defaultInstance;
+
+ @$pb.TagNumber(1)
+ $core.List<$core.String> get values => $_getList(0);
+}
+
+class BoolArray extends $pb.GeneratedMessage {
+ factory BoolArray({
+ $core.Iterable<$core.bool>? values,
+ }) {
+ final $result = create();
+ if (values != null) {
+ $result.values.addAll(values);
+ }
+ return $result;
+ }
+ BoolArray._() : super();
+ factory BoolArray.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
+ factory BoolArray.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
+
+ static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'BoolArray', package: const $pb.PackageName(_omitMessageNames ? '' : 'kuksa.val.v1'), createEmptyInstance: create)
+ ..p<$core.bool>(1, _omitFieldNames ? '' : 'values', $pb.PbFieldType.KB)
+ ..hasRequiredFields = false
+ ;
+
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
+ 'Will be removed in next major version')
+ BoolArray clone() => BoolArray()..mergeFromMessage(this);
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
+ 'Will be removed in next major version')
+ BoolArray copyWith(void Function(BoolArray) updates) => super.copyWith((message) => updates(message as BoolArray)) as BoolArray;
+
+ $pb.BuilderInfo get info_ => _i;
+
+ @$core.pragma('dart2js:noInline')
+ static BoolArray create() => BoolArray._();
+ BoolArray createEmptyInstance() => create();
+ static $pb.PbList<BoolArray> createRepeated() => $pb.PbList<BoolArray>();
+ @$core.pragma('dart2js:noInline')
+ static BoolArray getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<BoolArray>(create);
+ static BoolArray? _defaultInstance;
+
+ @$pb.TagNumber(1)
+ $core.List<$core.bool> get values => $_getList(0);
+}
+
+class Int32Array extends $pb.GeneratedMessage {
+ factory Int32Array({
+ $core.Iterable<$core.int>? values,
+ }) {
+ final $result = create();
+ if (values != null) {
+ $result.values.addAll(values);
+ }
+ return $result;
+ }
+ Int32Array._() : super();
+ factory Int32Array.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
+ factory Int32Array.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
+
+ static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'Int32Array', package: const $pb.PackageName(_omitMessageNames ? '' : 'kuksa.val.v1'), createEmptyInstance: create)
+ ..p<$core.int>(1, _omitFieldNames ? '' : 'values', $pb.PbFieldType.KS3)
+ ..hasRequiredFields = false
+ ;
+
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
+ 'Will be removed in next major version')
+ Int32Array clone() => Int32Array()..mergeFromMessage(this);
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
+ 'Will be removed in next major version')
+ Int32Array copyWith(void Function(Int32Array) updates) => super.copyWith((message) => updates(message as Int32Array)) as Int32Array;
+
+ $pb.BuilderInfo get info_ => _i;
+
+ @$core.pragma('dart2js:noInline')
+ static Int32Array create() => Int32Array._();
+ Int32Array createEmptyInstance() => create();
+ static $pb.PbList<Int32Array> createRepeated() => $pb.PbList<Int32Array>();
+ @$core.pragma('dart2js:noInline')
+ static Int32Array getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<Int32Array>(create);
+ static Int32Array? _defaultInstance;
+
+ @$pb.TagNumber(1)
+ $core.List<$core.int> get values => $_getList(0);
+}
+
+class Int64Array extends $pb.GeneratedMessage {
+ factory Int64Array({
+ $core.Iterable<$fixnum.Int64>? values,
+ }) {
+ final $result = create();
+ if (values != null) {
+ $result.values.addAll(values);
+ }
+ return $result;
+ }
+ Int64Array._() : super();
+ factory Int64Array.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
+ factory Int64Array.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
+
+ static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'Int64Array', package: const $pb.PackageName(_omitMessageNames ? '' : 'kuksa.val.v1'), createEmptyInstance: create)
+ ..p<$fixnum.Int64>(1, _omitFieldNames ? '' : 'values', $pb.PbFieldType.KS6)
+ ..hasRequiredFields = false
+ ;
+
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
+ 'Will be removed in next major version')
+ Int64Array clone() => Int64Array()..mergeFromMessage(this);
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
+ 'Will be removed in next major version')
+ Int64Array copyWith(void Function(Int64Array) updates) => super.copyWith((message) => updates(message as Int64Array)) as Int64Array;
+
+ $pb.BuilderInfo get info_ => _i;
+
+ @$core.pragma('dart2js:noInline')
+ static Int64Array create() => Int64Array._();
+ Int64Array createEmptyInstance() => create();
+ static $pb.PbList<Int64Array> createRepeated() => $pb.PbList<Int64Array>();
+ @$core.pragma('dart2js:noInline')
+ static Int64Array getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<Int64Array>(create);
+ static Int64Array? _defaultInstance;
+
+ @$pb.TagNumber(1)
+ $core.List<$fixnum.Int64> get values => $_getList(0);
+}
+
+class Uint32Array extends $pb.GeneratedMessage {
+ factory Uint32Array({
+ $core.Iterable<$core.int>? values,
+ }) {
+ final $result = create();
+ if (values != null) {
+ $result.values.addAll(values);
+ }
+ return $result;
+ }
+ Uint32Array._() : super();
+ factory Uint32Array.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
+ factory Uint32Array.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
+
+ static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'Uint32Array', package: const $pb.PackageName(_omitMessageNames ? '' : 'kuksa.val.v1'), createEmptyInstance: create)
+ ..p<$core.int>(1, _omitFieldNames ? '' : 'values', $pb.PbFieldType.KU3)
+ ..hasRequiredFields = false
+ ;
+
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
+ 'Will be removed in next major version')
+ Uint32Array clone() => Uint32Array()..mergeFromMessage(this);
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
+ 'Will be removed in next major version')
+ Uint32Array copyWith(void Function(Uint32Array) updates) => super.copyWith((message) => updates(message as Uint32Array)) as Uint32Array;
+
+ $pb.BuilderInfo get info_ => _i;
+
+ @$core.pragma('dart2js:noInline')
+ static Uint32Array create() => Uint32Array._();
+ Uint32Array createEmptyInstance() => create();
+ static $pb.PbList<Uint32Array> createRepeated() => $pb.PbList<Uint32Array>();
+ @$core.pragma('dart2js:noInline')
+ static Uint32Array getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<Uint32Array>(create);
+ static Uint32Array? _defaultInstance;
+
+ @$pb.TagNumber(1)
+ $core.List<$core.int> get values => $_getList(0);
+}
+
+class Uint64Array extends $pb.GeneratedMessage {
+ factory Uint64Array({
+ $core.Iterable<$fixnum.Int64>? values,
+ }) {
+ final $result = create();
+ if (values != null) {
+ $result.values.addAll(values);
+ }
+ return $result;
+ }
+ Uint64Array._() : super();
+ factory Uint64Array.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
+ factory Uint64Array.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
+
+ static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'Uint64Array', package: const $pb.PackageName(_omitMessageNames ? '' : 'kuksa.val.v1'), createEmptyInstance: create)
+ ..p<$fixnum.Int64>(1, _omitFieldNames ? '' : 'values', $pb.PbFieldType.KU6)
+ ..hasRequiredFields = false
+ ;
+
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
+ 'Will be removed in next major version')
+ Uint64Array clone() => Uint64Array()..mergeFromMessage(this);
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
+ 'Will be removed in next major version')
+ Uint64Array copyWith(void Function(Uint64Array) updates) => super.copyWith((message) => updates(message as Uint64Array)) as Uint64Array;
+
+ $pb.BuilderInfo get info_ => _i;
+
+ @$core.pragma('dart2js:noInline')
+ static Uint64Array create() => Uint64Array._();
+ Uint64Array createEmptyInstance() => create();
+ static $pb.PbList<Uint64Array> createRepeated() => $pb.PbList<Uint64Array>();
+ @$core.pragma('dart2js:noInline')
+ static Uint64Array getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<Uint64Array>(create);
+ static Uint64Array? _defaultInstance;
+
+ @$pb.TagNumber(1)
+ $core.List<$fixnum.Int64> get values => $_getList(0);
+}
+
+class FloatArray extends $pb.GeneratedMessage {
+ factory FloatArray({
+ $core.Iterable<$core.double>? values,
+ }) {
+ final $result = create();
+ if (values != null) {
+ $result.values.addAll(values);
+ }
+ return $result;
+ }
+ FloatArray._() : super();
+ factory FloatArray.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
+ factory FloatArray.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
+
+ static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'FloatArray', package: const $pb.PackageName(_omitMessageNames ? '' : 'kuksa.val.v1'), createEmptyInstance: create)
+ ..p<$core.double>(1, _omitFieldNames ? '' : 'values', $pb.PbFieldType.KF)
+ ..hasRequiredFields = false
+ ;
+
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
+ 'Will be removed in next major version')
+ FloatArray clone() => FloatArray()..mergeFromMessage(this);
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
+ 'Will be removed in next major version')
+ FloatArray copyWith(void Function(FloatArray) updates) => super.copyWith((message) => updates(message as FloatArray)) as FloatArray;
+
+ $pb.BuilderInfo get info_ => _i;
+
+ @$core.pragma('dart2js:noInline')
+ static FloatArray create() => FloatArray._();
+ FloatArray createEmptyInstance() => create();
+ static $pb.PbList<FloatArray> createRepeated() => $pb.PbList<FloatArray>();
+ @$core.pragma('dart2js:noInline')
+ static FloatArray getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<FloatArray>(create);
+ static FloatArray? _defaultInstance;
+
+ @$pb.TagNumber(1)
+ $core.List<$core.double> get values => $_getList(0);
+}
+
+class DoubleArray extends $pb.GeneratedMessage {
+ factory DoubleArray({
+ $core.Iterable<$core.double>? values,
+ }) {
+ final $result = create();
+ if (values != null) {
+ $result.values.addAll(values);
+ }
+ return $result;
+ }
+ DoubleArray._() : super();
+ factory DoubleArray.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
+ factory DoubleArray.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
+
+ static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'DoubleArray', package: const $pb.PackageName(_omitMessageNames ? '' : 'kuksa.val.v1'), createEmptyInstance: create)
+ ..p<$core.double>(1, _omitFieldNames ? '' : 'values', $pb.PbFieldType.KD)
+ ..hasRequiredFields = false
+ ;
+
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
+ 'Will be removed in next major version')
+ DoubleArray clone() => DoubleArray()..mergeFromMessage(this);
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
+ 'Will be removed in next major version')
+ DoubleArray copyWith(void Function(DoubleArray) updates) => super.copyWith((message) => updates(message as DoubleArray)) as DoubleArray;
+
+ $pb.BuilderInfo get info_ => _i;
+
+ @$core.pragma('dart2js:noInline')
+ static DoubleArray create() => DoubleArray._();
+ DoubleArray createEmptyInstance() => create();
+ static $pb.PbList<DoubleArray> createRepeated() => $pb.PbList<DoubleArray>();
+ @$core.pragma('dart2js:noInline')
+ static DoubleArray getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<DoubleArray>(create);
+ static DoubleArray? _defaultInstance;
+
+ @$pb.TagNumber(1)
+ $core.List<$core.double> get values => $_getList(0);
+}
+
+
+const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names');
+const _omitMessageNames = $core.bool.fromEnvironment('protobuf.omit_message_names');
diff --git a/protos/lib/src/generated/kuksa/val/v1/types.pbenum.dart b/protos/lib/src/generated/kuksa/val/v1/types.pbenum.dart
new file mode 100644
index 0000000..359d58a
--- /dev/null
+++ b/protos/lib/src/generated/kuksa/val/v1/types.pbenum.dart
@@ -0,0 +1,180 @@
+//
+// Generated code. Do not modify.
+// source: kuksa/val/v1/types.proto
+//
+// @dart = 2.12
+
+// ignore_for_file: annotate_overrides, camel_case_types, comment_references
+// ignore_for_file: constant_identifier_names, library_prefixes
+// ignore_for_file: non_constant_identifier_names, prefer_final_fields
+// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
+
+import 'dart:core' as $core;
+
+import 'package:protobuf/protobuf.dart' as $pb;
+
+/// VSS Data type of a signal
+///
+/// Protobuf doesn't support int8, int16, uint8 or uint16.
+/// These are mapped to int32 and uint32 respectively.
+class DataType extends $pb.ProtobufEnum {
+ static const DataType DATA_TYPE_UNSPECIFIED = DataType._(0, _omitEnumNames ? '' : 'DATA_TYPE_UNSPECIFIED');
+ static const DataType DATA_TYPE_STRING = DataType._(1, _omitEnumNames ? '' : 'DATA_TYPE_STRING');
+ static const DataType DATA_TYPE_BOOLEAN = DataType._(2, _omitEnumNames ? '' : 'DATA_TYPE_BOOLEAN');
+ static const DataType DATA_TYPE_INT8 = DataType._(3, _omitEnumNames ? '' : 'DATA_TYPE_INT8');
+ static const DataType DATA_TYPE_INT16 = DataType._(4, _omitEnumNames ? '' : 'DATA_TYPE_INT16');
+ static const DataType DATA_TYPE_INT32 = DataType._(5, _omitEnumNames ? '' : 'DATA_TYPE_INT32');
+ static const DataType DATA_TYPE_INT64 = DataType._(6, _omitEnumNames ? '' : 'DATA_TYPE_INT64');
+ static const DataType DATA_TYPE_UINT8 = DataType._(7, _omitEnumNames ? '' : 'DATA_TYPE_UINT8');
+ static const DataType DATA_TYPE_UINT16 = DataType._(8, _omitEnumNames ? '' : 'DATA_TYPE_UINT16');
+ static const DataType DATA_TYPE_UINT32 = DataType._(9, _omitEnumNames ? '' : 'DATA_TYPE_UINT32');
+ static const DataType DATA_TYPE_UINT64 = DataType._(10, _omitEnumNames ? '' : 'DATA_TYPE_UINT64');
+ static const DataType DATA_TYPE_FLOAT = DataType._(11, _omitEnumNames ? '' : 'DATA_TYPE_FLOAT');
+ static const DataType DATA_TYPE_DOUBLE = DataType._(12, _omitEnumNames ? '' : 'DATA_TYPE_DOUBLE');
+ static const DataType DATA_TYPE_TIMESTAMP = DataType._(13, _omitEnumNames ? '' : 'DATA_TYPE_TIMESTAMP');
+ static const DataType DATA_TYPE_STRING_ARRAY = DataType._(20, _omitEnumNames ? '' : 'DATA_TYPE_STRING_ARRAY');
+ static const DataType DATA_TYPE_BOOLEAN_ARRAY = DataType._(21, _omitEnumNames ? '' : 'DATA_TYPE_BOOLEAN_ARRAY');
+ static const DataType DATA_TYPE_INT8_ARRAY = DataType._(22, _omitEnumNames ? '' : 'DATA_TYPE_INT8_ARRAY');
+ static const DataType DATA_TYPE_INT16_ARRAY = DataType._(23, _omitEnumNames ? '' : 'DATA_TYPE_INT16_ARRAY');
+ static const DataType DATA_TYPE_INT32_ARRAY = DataType._(24, _omitEnumNames ? '' : 'DATA_TYPE_INT32_ARRAY');
+ static const DataType DATA_TYPE_INT64_ARRAY = DataType._(25, _omitEnumNames ? '' : 'DATA_TYPE_INT64_ARRAY');
+ static const DataType DATA_TYPE_UINT8_ARRAY = DataType._(26, _omitEnumNames ? '' : 'DATA_TYPE_UINT8_ARRAY');
+ static const DataType DATA_TYPE_UINT16_ARRAY = DataType._(27, _omitEnumNames ? '' : 'DATA_TYPE_UINT16_ARRAY');
+ static const DataType DATA_TYPE_UINT32_ARRAY = DataType._(28, _omitEnumNames ? '' : 'DATA_TYPE_UINT32_ARRAY');
+ static const DataType DATA_TYPE_UINT64_ARRAY = DataType._(29, _omitEnumNames ? '' : 'DATA_TYPE_UINT64_ARRAY');
+ static const DataType DATA_TYPE_FLOAT_ARRAY = DataType._(30, _omitEnumNames ? '' : 'DATA_TYPE_FLOAT_ARRAY');
+ static const DataType DATA_TYPE_DOUBLE_ARRAY = DataType._(31, _omitEnumNames ? '' : 'DATA_TYPE_DOUBLE_ARRAY');
+ static const DataType DATA_TYPE_TIMESTAMP_ARRAY = DataType._(32, _omitEnumNames ? '' : 'DATA_TYPE_TIMESTAMP_ARRAY');
+
+ static const $core.List<DataType> values = <DataType> [
+ DATA_TYPE_UNSPECIFIED,
+ DATA_TYPE_STRING,
+ DATA_TYPE_BOOLEAN,
+ DATA_TYPE_INT8,
+ DATA_TYPE_INT16,
+ DATA_TYPE_INT32,
+ DATA_TYPE_INT64,
+ DATA_TYPE_UINT8,
+ DATA_TYPE_UINT16,
+ DATA_TYPE_UINT32,
+ DATA_TYPE_UINT64,
+ DATA_TYPE_FLOAT,
+ DATA_TYPE_DOUBLE,
+ DATA_TYPE_TIMESTAMP,
+ DATA_TYPE_STRING_ARRAY,
+ DATA_TYPE_BOOLEAN_ARRAY,
+ DATA_TYPE_INT8_ARRAY,
+ DATA_TYPE_INT16_ARRAY,
+ DATA_TYPE_INT32_ARRAY,
+ DATA_TYPE_INT64_ARRAY,
+ DATA_TYPE_UINT8_ARRAY,
+ DATA_TYPE_UINT16_ARRAY,
+ DATA_TYPE_UINT32_ARRAY,
+ DATA_TYPE_UINT64_ARRAY,
+ DATA_TYPE_FLOAT_ARRAY,
+ DATA_TYPE_DOUBLE_ARRAY,
+ DATA_TYPE_TIMESTAMP_ARRAY,
+ ];
+
+ static final $core.Map<$core.int, DataType> _byValue = $pb.ProtobufEnum.initByValue(values);
+ static DataType? valueOf($core.int value) => _byValue[value];
+
+ const DataType._($core.int v, $core.String n) : super(v, n);
+}
+
+/// Entry type
+class EntryType extends $pb.ProtobufEnum {
+ static const EntryType ENTRY_TYPE_UNSPECIFIED = EntryType._(0, _omitEnumNames ? '' : 'ENTRY_TYPE_UNSPECIFIED');
+ static const EntryType ENTRY_TYPE_ATTRIBUTE = EntryType._(1, _omitEnumNames ? '' : 'ENTRY_TYPE_ATTRIBUTE');
+ static const EntryType ENTRY_TYPE_SENSOR = EntryType._(2, _omitEnumNames ? '' : 'ENTRY_TYPE_SENSOR');
+ static const EntryType ENTRY_TYPE_ACTUATOR = EntryType._(3, _omitEnumNames ? '' : 'ENTRY_TYPE_ACTUATOR');
+
+ static const $core.List<EntryType> values = <EntryType> [
+ ENTRY_TYPE_UNSPECIFIED,
+ ENTRY_TYPE_ATTRIBUTE,
+ ENTRY_TYPE_SENSOR,
+ ENTRY_TYPE_ACTUATOR,
+ ];
+
+ static final $core.Map<$core.int, EntryType> _byValue = $pb.ProtobufEnum.initByValue(values);
+ static EntryType? valueOf($core.int value) => _byValue[value];
+
+ const EntryType._($core.int v, $core.String n) : super(v, n);
+}
+
+/// A `View` specifies a set of fields which should
+/// be populated in a `DataEntry` (in a response message)
+class View extends $pb.ProtobufEnum {
+ static const View VIEW_UNSPECIFIED = View._(0, _omitEnumNames ? '' : 'VIEW_UNSPECIFIED');
+ static const View VIEW_CURRENT_VALUE = View._(1, _omitEnumNames ? '' : 'VIEW_CURRENT_VALUE');
+ static const View VIEW_TARGET_VALUE = View._(2, _omitEnumNames ? '' : 'VIEW_TARGET_VALUE');
+ static const View VIEW_METADATA = View._(3, _omitEnumNames ? '' : 'VIEW_METADATA');
+ static const View VIEW_FIELDS = View._(10, _omitEnumNames ? '' : 'VIEW_FIELDS');
+ static const View VIEW_ALL = View._(20, _omitEnumNames ? '' : 'VIEW_ALL');
+
+ static const $core.List<View> values = <View> [
+ VIEW_UNSPECIFIED,
+ VIEW_CURRENT_VALUE,
+ VIEW_TARGET_VALUE,
+ VIEW_METADATA,
+ VIEW_FIELDS,
+ VIEW_ALL,
+ ];
+
+ static final $core.Map<$core.int, View> _byValue = $pb.ProtobufEnum.initByValue(values);
+ static View? valueOf($core.int value) => _byValue[value];
+
+ const View._($core.int v, $core.String n) : super(v, n);
+}
+
+/// A `Field` corresponds to a specific field of a `DataEntry`.
+///
+/// It can be used to:
+/// * populate only specific fields of a `DataEntry` response.
+/// * specify which fields of a `DataEntry` should be set as
+/// part of a `Set` request.
+/// * subscribe to only specific fields of a data entry.
+/// * convey which fields of an updated `DataEntry` have changed.
+class Field extends $pb.ProtobufEnum {
+ static const Field FIELD_UNSPECIFIED = Field._(0, _omitEnumNames ? '' : 'FIELD_UNSPECIFIED');
+ static const Field FIELD_PATH = Field._(1, _omitEnumNames ? '' : 'FIELD_PATH');
+ static const Field FIELD_VALUE = Field._(2, _omitEnumNames ? '' : 'FIELD_VALUE');
+ static const Field FIELD_ACTUATOR_TARGET = Field._(3, _omitEnumNames ? '' : 'FIELD_ACTUATOR_TARGET');
+ static const Field FIELD_METADATA = Field._(10, _omitEnumNames ? '' : 'FIELD_METADATA');
+ static const Field FIELD_METADATA_DATA_TYPE = Field._(11, _omitEnumNames ? '' : 'FIELD_METADATA_DATA_TYPE');
+ static const Field FIELD_METADATA_DESCRIPTION = Field._(12, _omitEnumNames ? '' : 'FIELD_METADATA_DESCRIPTION');
+ static const Field FIELD_METADATA_ENTRY_TYPE = Field._(13, _omitEnumNames ? '' : 'FIELD_METADATA_ENTRY_TYPE');
+ static const Field FIELD_METADATA_COMMENT = Field._(14, _omitEnumNames ? '' : 'FIELD_METADATA_COMMENT');
+ static const Field FIELD_METADATA_DEPRECATION = Field._(15, _omitEnumNames ? '' : 'FIELD_METADATA_DEPRECATION');
+ static const Field FIELD_METADATA_UNIT = Field._(16, _omitEnumNames ? '' : 'FIELD_METADATA_UNIT');
+ static const Field FIELD_METADATA_VALUE_RESTRICTION = Field._(17, _omitEnumNames ? '' : 'FIELD_METADATA_VALUE_RESTRICTION');
+ static const Field FIELD_METADATA_ACTUATOR = Field._(20, _omitEnumNames ? '' : 'FIELD_METADATA_ACTUATOR');
+ static const Field FIELD_METADATA_SENSOR = Field._(30, _omitEnumNames ? '' : 'FIELD_METADATA_SENSOR');
+ static const Field FIELD_METADATA_ATTRIBUTE = Field._(40, _omitEnumNames ? '' : 'FIELD_METADATA_ATTRIBUTE');
+
+ static const $core.List<Field> values = <Field> [
+ FIELD_UNSPECIFIED,
+ FIELD_PATH,
+ FIELD_VALUE,
+ FIELD_ACTUATOR_TARGET,
+ FIELD_METADATA,
+ FIELD_METADATA_DATA_TYPE,
+ FIELD_METADATA_DESCRIPTION,
+ FIELD_METADATA_ENTRY_TYPE,
+ FIELD_METADATA_COMMENT,
+ FIELD_METADATA_DEPRECATION,
+ FIELD_METADATA_UNIT,
+ FIELD_METADATA_VALUE_RESTRICTION,
+ FIELD_METADATA_ACTUATOR,
+ FIELD_METADATA_SENSOR,
+ FIELD_METADATA_ATTRIBUTE,
+ ];
+
+ static final $core.Map<$core.int, Field> _byValue = $pb.ProtobufEnum.initByValue(values);
+ static Field? valueOf($core.int value) => _byValue[value];
+
+ const Field._($core.int v, $core.String n) : super(v, n);
+}
+
+
+const _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names');
diff --git a/protos/lib/src/generated/kuksa/val/v1/types.pbjson.dart b/protos/lib/src/generated/kuksa/val/v1/types.pbjson.dart
new file mode 100644
index 0000000..a557e16
--- /dev/null
+++ b/protos/lib/src/generated/kuksa/val/v1/types.pbjson.dart
@@ -0,0 +1,482 @@
+//
+// Generated code. Do not modify.
+// source: kuksa/val/v1/types.proto
+//
+// @dart = 2.12
+
+// ignore_for_file: annotate_overrides, camel_case_types, comment_references
+// ignore_for_file: constant_identifier_names, library_prefixes
+// ignore_for_file: non_constant_identifier_names, prefer_final_fields
+// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
+
+import 'dart:convert' as $convert;
+import 'dart:core' as $core;
+import 'dart:typed_data' as $typed_data;
+
+@$core.Deprecated('Use dataTypeDescriptor instead')
+const DataType$json = {
+ '1': 'DataType',
+ '2': [
+ {'1': 'DATA_TYPE_UNSPECIFIED', '2': 0},
+ {'1': 'DATA_TYPE_STRING', '2': 1},
+ {'1': 'DATA_TYPE_BOOLEAN', '2': 2},
+ {'1': 'DATA_TYPE_INT8', '2': 3},
+ {'1': 'DATA_TYPE_INT16', '2': 4},
+ {'1': 'DATA_TYPE_INT32', '2': 5},
+ {'1': 'DATA_TYPE_INT64', '2': 6},
+ {'1': 'DATA_TYPE_UINT8', '2': 7},
+ {'1': 'DATA_TYPE_UINT16', '2': 8},
+ {'1': 'DATA_TYPE_UINT32', '2': 9},
+ {'1': 'DATA_TYPE_UINT64', '2': 10},
+ {'1': 'DATA_TYPE_FLOAT', '2': 11},
+ {'1': 'DATA_TYPE_DOUBLE', '2': 12},
+ {'1': 'DATA_TYPE_TIMESTAMP', '2': 13},
+ {'1': 'DATA_TYPE_STRING_ARRAY', '2': 20},
+ {'1': 'DATA_TYPE_BOOLEAN_ARRAY', '2': 21},
+ {'1': 'DATA_TYPE_INT8_ARRAY', '2': 22},
+ {'1': 'DATA_TYPE_INT16_ARRAY', '2': 23},
+ {'1': 'DATA_TYPE_INT32_ARRAY', '2': 24},
+ {'1': 'DATA_TYPE_INT64_ARRAY', '2': 25},
+ {'1': 'DATA_TYPE_UINT8_ARRAY', '2': 26},
+ {'1': 'DATA_TYPE_UINT16_ARRAY', '2': 27},
+ {'1': 'DATA_TYPE_UINT32_ARRAY', '2': 28},
+ {'1': 'DATA_TYPE_UINT64_ARRAY', '2': 29},
+ {'1': 'DATA_TYPE_FLOAT_ARRAY', '2': 30},
+ {'1': 'DATA_TYPE_DOUBLE_ARRAY', '2': 31},
+ {'1': 'DATA_TYPE_TIMESTAMP_ARRAY', '2': 32},
+ ],
+};
+
+/// Descriptor for `DataType`. Decode as a `google.protobuf.EnumDescriptorProto`.
+final $typed_data.Uint8List dataTypeDescriptor = $convert.base64Decode(
+ 'CghEYXRhVHlwZRIZChVEQVRBX1RZUEVfVU5TUEVDSUZJRUQQABIUChBEQVRBX1RZUEVfU1RSSU'
+ '5HEAESFQoRREFUQV9UWVBFX0JPT0xFQU4QAhISCg5EQVRBX1RZUEVfSU5UOBADEhMKD0RBVEFf'
+ 'VFlQRV9JTlQxNhAEEhMKD0RBVEFfVFlQRV9JTlQzMhAFEhMKD0RBVEFfVFlQRV9JTlQ2NBAGEh'
+ 'MKD0RBVEFfVFlQRV9VSU5UOBAHEhQKEERBVEFfVFlQRV9VSU5UMTYQCBIUChBEQVRBX1RZUEVf'
+ 'VUlOVDMyEAkSFAoQREFUQV9UWVBFX1VJTlQ2NBAKEhMKD0RBVEFfVFlQRV9GTE9BVBALEhQKEE'
+ 'RBVEFfVFlQRV9ET1VCTEUQDBIXChNEQVRBX1RZUEVfVElNRVNUQU1QEA0SGgoWREFUQV9UWVBF'
+ 'X1NUUklOR19BUlJBWRAUEhsKF0RBVEFfVFlQRV9CT09MRUFOX0FSUkFZEBUSGAoUREFUQV9UWV'
+ 'BFX0lOVDhfQVJSQVkQFhIZChVEQVRBX1RZUEVfSU5UMTZfQVJSQVkQFxIZChVEQVRBX1RZUEVf'
+ 'SU5UMzJfQVJSQVkQGBIZChVEQVRBX1RZUEVfSU5UNjRfQVJSQVkQGRIZChVEQVRBX1RZUEVfVU'
+ 'lOVDhfQVJSQVkQGhIaChZEQVRBX1RZUEVfVUlOVDE2X0FSUkFZEBsSGgoWREFUQV9UWVBFX1VJ'
+ 'TlQzMl9BUlJBWRAcEhoKFkRBVEFfVFlQRV9VSU5UNjRfQVJSQVkQHRIZChVEQVRBX1RZUEVfRk'
+ 'xPQVRfQVJSQVkQHhIaChZEQVRBX1RZUEVfRE9VQkxFX0FSUkFZEB8SHQoZREFUQV9UWVBFX1RJ'
+ 'TUVTVEFNUF9BUlJBWRAg');
+
+@$core.Deprecated('Use entryTypeDescriptor instead')
+const EntryType$json = {
+ '1': 'EntryType',
+ '2': [
+ {'1': 'ENTRY_TYPE_UNSPECIFIED', '2': 0},
+ {'1': 'ENTRY_TYPE_ATTRIBUTE', '2': 1},
+ {'1': 'ENTRY_TYPE_SENSOR', '2': 2},
+ {'1': 'ENTRY_TYPE_ACTUATOR', '2': 3},
+ ],
+};
+
+/// Descriptor for `EntryType`. Decode as a `google.protobuf.EnumDescriptorProto`.
+final $typed_data.Uint8List entryTypeDescriptor = $convert.base64Decode(
+ 'CglFbnRyeVR5cGUSGgoWRU5UUllfVFlQRV9VTlNQRUNJRklFRBAAEhgKFEVOVFJZX1RZUEVfQV'
+ 'RUUklCVVRFEAESFQoRRU5UUllfVFlQRV9TRU5TT1IQAhIXChNFTlRSWV9UWVBFX0FDVFVBVE9S'
+ 'EAM=');
+
+@$core.Deprecated('Use viewDescriptor instead')
+const View$json = {
+ '1': 'View',
+ '2': [
+ {'1': 'VIEW_UNSPECIFIED', '2': 0},
+ {'1': 'VIEW_CURRENT_VALUE', '2': 1},
+ {'1': 'VIEW_TARGET_VALUE', '2': 2},
+ {'1': 'VIEW_METADATA', '2': 3},
+ {'1': 'VIEW_FIELDS', '2': 10},
+ {'1': 'VIEW_ALL', '2': 20},
+ ],
+};
+
+/// Descriptor for `View`. Decode as a `google.protobuf.EnumDescriptorProto`.
+final $typed_data.Uint8List viewDescriptor = $convert.base64Decode(
+ 'CgRWaWV3EhQKEFZJRVdfVU5TUEVDSUZJRUQQABIWChJWSUVXX0NVUlJFTlRfVkFMVUUQARIVCh'
+ 'FWSUVXX1RBUkdFVF9WQUxVRRACEhEKDVZJRVdfTUVUQURBVEEQAxIPCgtWSUVXX0ZJRUxEUxAK'
+ 'EgwKCFZJRVdfQUxMEBQ=');
+
+@$core.Deprecated('Use fieldDescriptor instead')
+const Field$json = {
+ '1': 'Field',
+ '2': [
+ {'1': 'FIELD_UNSPECIFIED', '2': 0},
+ {'1': 'FIELD_PATH', '2': 1},
+ {'1': 'FIELD_VALUE', '2': 2},
+ {'1': 'FIELD_ACTUATOR_TARGET', '2': 3},
+ {'1': 'FIELD_METADATA', '2': 10},
+ {'1': 'FIELD_METADATA_DATA_TYPE', '2': 11},
+ {'1': 'FIELD_METADATA_DESCRIPTION', '2': 12},
+ {'1': 'FIELD_METADATA_ENTRY_TYPE', '2': 13},
+ {'1': 'FIELD_METADATA_COMMENT', '2': 14},
+ {'1': 'FIELD_METADATA_DEPRECATION', '2': 15},
+ {'1': 'FIELD_METADATA_UNIT', '2': 16},
+ {'1': 'FIELD_METADATA_VALUE_RESTRICTION', '2': 17},
+ {'1': 'FIELD_METADATA_ACTUATOR', '2': 20},
+ {'1': 'FIELD_METADATA_SENSOR', '2': 30},
+ {'1': 'FIELD_METADATA_ATTRIBUTE', '2': 40},
+ ],
+};
+
+/// Descriptor for `Field`. Decode as a `google.protobuf.EnumDescriptorProto`.
+final $typed_data.Uint8List fieldDescriptor = $convert.base64Decode(
+ 'CgVGaWVsZBIVChFGSUVMRF9VTlNQRUNJRklFRBAAEg4KCkZJRUxEX1BBVEgQARIPCgtGSUVMRF'
+ '9WQUxVRRACEhkKFUZJRUxEX0FDVFVBVE9SX1RBUkdFVBADEhIKDkZJRUxEX01FVEFEQVRBEAoS'
+ 'HAoYRklFTERfTUVUQURBVEFfREFUQV9UWVBFEAsSHgoaRklFTERfTUVUQURBVEFfREVTQ1JJUF'
+ 'RJT04QDBIdChlGSUVMRF9NRVRBREFUQV9FTlRSWV9UWVBFEA0SGgoWRklFTERfTUVUQURBVEFf'
+ 'Q09NTUVOVBAOEh4KGkZJRUxEX01FVEFEQVRBX0RFUFJFQ0FUSU9OEA8SFwoTRklFTERfTUVUQU'
+ 'RBVEFfVU5JVBAQEiQKIEZJRUxEX01FVEFEQVRBX1ZBTFVFX1JFU1RSSUNUSU9OEBESGwoXRklF'
+ 'TERfTUVUQURBVEFfQUNUVUFUT1IQFBIZChVGSUVMRF9NRVRBREFUQV9TRU5TT1IQHhIcChhGSU'
+ 'VMRF9NRVRBREFUQV9BVFRSSUJVVEUQKA==');
+
+@$core.Deprecated('Use dataEntryDescriptor instead')
+const DataEntry$json = {
+ '1': 'DataEntry',
+ '2': [
+ {'1': 'path', '3': 1, '4': 1, '5': 9, '10': 'path'},
+ {'1': 'value', '3': 2, '4': 1, '5': 11, '6': '.kuksa.val.v1.Datapoint', '10': 'value'},
+ {'1': 'actuator_target', '3': 3, '4': 1, '5': 11, '6': '.kuksa.val.v1.Datapoint', '10': 'actuatorTarget'},
+ {'1': 'metadata', '3': 10, '4': 1, '5': 11, '6': '.kuksa.val.v1.Metadata', '10': 'metadata'},
+ ],
+};
+
+/// Descriptor for `DataEntry`. Decode as a `google.protobuf.DescriptorProto`.
+final $typed_data.Uint8List dataEntryDescriptor = $convert.base64Decode(
+ 'CglEYXRhRW50cnkSEgoEcGF0aBgBIAEoCVIEcGF0aBItCgV2YWx1ZRgCIAEoCzIXLmt1a3NhLn'
+ 'ZhbC52MS5EYXRhcG9pbnRSBXZhbHVlEkAKD2FjdHVhdG9yX3RhcmdldBgDIAEoCzIXLmt1a3Nh'
+ 'LnZhbC52MS5EYXRhcG9pbnRSDmFjdHVhdG9yVGFyZ2V0EjIKCG1ldGFkYXRhGAogASgLMhYua3'
+ 'Vrc2EudmFsLnYxLk1ldGFkYXRhUghtZXRhZGF0YQ==');
+
+@$core.Deprecated('Use datapointDescriptor instead')
+const Datapoint$json = {
+ '1': 'Datapoint',
+ '2': [
+ {'1': 'timestamp', '3': 1, '4': 1, '5': 11, '6': '.google.protobuf.Timestamp', '10': 'timestamp'},
+ {'1': 'string', '3': 11, '4': 1, '5': 9, '9': 0, '10': 'string'},
+ {'1': 'bool', '3': 12, '4': 1, '5': 8, '9': 0, '10': 'bool'},
+ {'1': 'int32', '3': 13, '4': 1, '5': 17, '9': 0, '10': 'int32'},
+ {'1': 'int64', '3': 14, '4': 1, '5': 18, '9': 0, '10': 'int64'},
+ {'1': 'uint32', '3': 15, '4': 1, '5': 13, '9': 0, '10': 'uint32'},
+ {'1': 'uint64', '3': 16, '4': 1, '5': 4, '9': 0, '10': 'uint64'},
+ {'1': 'float', '3': 17, '4': 1, '5': 2, '9': 0, '10': 'float'},
+ {'1': 'double', '3': 18, '4': 1, '5': 1, '9': 0, '10': 'double'},
+ {'1': 'string_array', '3': 21, '4': 1, '5': 11, '6': '.kuksa.val.v1.StringArray', '9': 0, '10': 'stringArray'},
+ {'1': 'bool_array', '3': 22, '4': 1, '5': 11, '6': '.kuksa.val.v1.BoolArray', '9': 0, '10': 'boolArray'},
+ {'1': 'int32_array', '3': 23, '4': 1, '5': 11, '6': '.kuksa.val.v1.Int32Array', '9': 0, '10': 'int32Array'},
+ {'1': 'int64_array', '3': 24, '4': 1, '5': 11, '6': '.kuksa.val.v1.Int64Array', '9': 0, '10': 'int64Array'},
+ {'1': 'uint32_array', '3': 25, '4': 1, '5': 11, '6': '.kuksa.val.v1.Uint32Array', '9': 0, '10': 'uint32Array'},
+ {'1': 'uint64_array', '3': 26, '4': 1, '5': 11, '6': '.kuksa.val.v1.Uint64Array', '9': 0, '10': 'uint64Array'},
+ {'1': 'float_array', '3': 27, '4': 1, '5': 11, '6': '.kuksa.val.v1.FloatArray', '9': 0, '10': 'floatArray'},
+ {'1': 'double_array', '3': 28, '4': 1, '5': 11, '6': '.kuksa.val.v1.DoubleArray', '9': 0, '10': 'doubleArray'},
+ ],
+ '8': [
+ {'1': 'value'},
+ ],
+};
+
+/// Descriptor for `Datapoint`. Decode as a `google.protobuf.DescriptorProto`.
+final $typed_data.Uint8List datapointDescriptor = $convert.base64Decode(
+ 'CglEYXRhcG9pbnQSOAoJdGltZXN0YW1wGAEgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdG'
+ 'FtcFIJdGltZXN0YW1wEhgKBnN0cmluZxgLIAEoCUgAUgZzdHJpbmcSFAoEYm9vbBgMIAEoCEgA'
+ 'UgRib29sEhYKBWludDMyGA0gASgRSABSBWludDMyEhYKBWludDY0GA4gASgSSABSBWludDY0Eh'
+ 'gKBnVpbnQzMhgPIAEoDUgAUgZ1aW50MzISGAoGdWludDY0GBAgASgESABSBnVpbnQ2NBIWCgVm'
+ 'bG9hdBgRIAEoAkgAUgVmbG9hdBIYCgZkb3VibGUYEiABKAFIAFIGZG91YmxlEj4KDHN0cmluZ1'
+ '9hcnJheRgVIAEoCzIZLmt1a3NhLnZhbC52MS5TdHJpbmdBcnJheUgAUgtzdHJpbmdBcnJheRI4'
+ 'Cgpib29sX2FycmF5GBYgASgLMhcua3Vrc2EudmFsLnYxLkJvb2xBcnJheUgAUglib29sQXJyYX'
+ 'kSOwoLaW50MzJfYXJyYXkYFyABKAsyGC5rdWtzYS52YWwudjEuSW50MzJBcnJheUgAUgppbnQz'
+ 'MkFycmF5EjsKC2ludDY0X2FycmF5GBggASgLMhgua3Vrc2EudmFsLnYxLkludDY0QXJyYXlIAF'
+ 'IKaW50NjRBcnJheRI+Cgx1aW50MzJfYXJyYXkYGSABKAsyGS5rdWtzYS52YWwudjEuVWludDMy'
+ 'QXJyYXlIAFILdWludDMyQXJyYXkSPgoMdWludDY0X2FycmF5GBogASgLMhkua3Vrc2EudmFsLn'
+ 'YxLlVpbnQ2NEFycmF5SABSC3VpbnQ2NEFycmF5EjsKC2Zsb2F0X2FycmF5GBsgASgLMhgua3Vr'
+ 'c2EudmFsLnYxLkZsb2F0QXJyYXlIAFIKZmxvYXRBcnJheRI+Cgxkb3VibGVfYXJyYXkYHCABKA'
+ 'syGS5rdWtzYS52YWwudjEuRG91YmxlQXJyYXlIAFILZG91YmxlQXJyYXlCBwoFdmFsdWU=');
+
+@$core.Deprecated('Use metadataDescriptor instead')
+const Metadata$json = {
+ '1': 'Metadata',
+ '2': [
+ {'1': 'data_type', '3': 11, '4': 1, '5': 14, '6': '.kuksa.val.v1.DataType', '10': 'dataType'},
+ {'1': 'entry_type', '3': 12, '4': 1, '5': 14, '6': '.kuksa.val.v1.EntryType', '10': 'entryType'},
+ {'1': 'description', '3': 13, '4': 1, '5': 9, '9': 1, '10': 'description', '17': true},
+ {'1': 'comment', '3': 14, '4': 1, '5': 9, '9': 2, '10': 'comment', '17': true},
+ {'1': 'deprecation', '3': 15, '4': 1, '5': 9, '9': 3, '10': 'deprecation', '17': true},
+ {'1': 'unit', '3': 16, '4': 1, '5': 9, '9': 4, '10': 'unit', '17': true},
+ {'1': 'value_restriction', '3': 17, '4': 1, '5': 11, '6': '.kuksa.val.v1.ValueRestriction', '10': 'valueRestriction'},
+ {'1': 'actuator', '3': 20, '4': 1, '5': 11, '6': '.kuksa.val.v1.Actuator', '9': 0, '10': 'actuator'},
+ {'1': 'sensor', '3': 30, '4': 1, '5': 11, '6': '.kuksa.val.v1.Sensor', '9': 0, '10': 'sensor'},
+ {'1': 'attribute', '3': 40, '4': 1, '5': 11, '6': '.kuksa.val.v1.Attribute', '9': 0, '10': 'attribute'},
+ ],
+ '8': [
+ {'1': 'entry_specific'},
+ {'1': '_description'},
+ {'1': '_comment'},
+ {'1': '_deprecation'},
+ {'1': '_unit'},
+ ],
+};
+
+/// Descriptor for `Metadata`. Decode as a `google.protobuf.DescriptorProto`.
+final $typed_data.Uint8List metadataDescriptor = $convert.base64Decode(
+ 'CghNZXRhZGF0YRIzCglkYXRhX3R5cGUYCyABKA4yFi5rdWtzYS52YWwudjEuRGF0YVR5cGVSCG'
+ 'RhdGFUeXBlEjYKCmVudHJ5X3R5cGUYDCABKA4yFy5rdWtzYS52YWwudjEuRW50cnlUeXBlUgll'
+ 'bnRyeVR5cGUSJQoLZGVzY3JpcHRpb24YDSABKAlIAVILZGVzY3JpcHRpb26IAQESHQoHY29tbW'
+ 'VudBgOIAEoCUgCUgdjb21tZW50iAEBEiUKC2RlcHJlY2F0aW9uGA8gASgJSANSC2RlcHJlY2F0'
+ 'aW9uiAEBEhcKBHVuaXQYECABKAlIBFIEdW5pdIgBARJLChF2YWx1ZV9yZXN0cmljdGlvbhgRIA'
+ 'EoCzIeLmt1a3NhLnZhbC52MS5WYWx1ZVJlc3RyaWN0aW9uUhB2YWx1ZVJlc3RyaWN0aW9uEjQK'
+ 'CGFjdHVhdG9yGBQgASgLMhYua3Vrc2EudmFsLnYxLkFjdHVhdG9ySABSCGFjdHVhdG9yEi4KBn'
+ 'NlbnNvchgeIAEoCzIULmt1a3NhLnZhbC52MS5TZW5zb3JIAFIGc2Vuc29yEjcKCWF0dHJpYnV0'
+ 'ZRgoIAEoCzIXLmt1a3NhLnZhbC52MS5BdHRyaWJ1dGVIAFIJYXR0cmlidXRlQhAKDmVudHJ5X3'
+ 'NwZWNpZmljQg4KDF9kZXNjcmlwdGlvbkIKCghfY29tbWVudEIOCgxfZGVwcmVjYXRpb25CBwoF'
+ 'X3VuaXQ=');
+
+@$core.Deprecated('Use actuatorDescriptor instead')
+const Actuator$json = {
+ '1': 'Actuator',
+};
+
+/// Descriptor for `Actuator`. Decode as a `google.protobuf.DescriptorProto`.
+final $typed_data.Uint8List actuatorDescriptor = $convert.base64Decode(
+ 'CghBY3R1YXRvcg==');
+
+@$core.Deprecated('Use sensorDescriptor instead')
+const Sensor$json = {
+ '1': 'Sensor',
+};
+
+/// Descriptor for `Sensor`. Decode as a `google.protobuf.DescriptorProto`.
+final $typed_data.Uint8List sensorDescriptor = $convert.base64Decode(
+ 'CgZTZW5zb3I=');
+
+@$core.Deprecated('Use attributeDescriptor instead')
+const Attribute$json = {
+ '1': 'Attribute',
+};
+
+/// Descriptor for `Attribute`. Decode as a `google.protobuf.DescriptorProto`.
+final $typed_data.Uint8List attributeDescriptor = $convert.base64Decode(
+ 'CglBdHRyaWJ1dGU=');
+
+@$core.Deprecated('Use valueRestrictionDescriptor instead')
+const ValueRestriction$json = {
+ '1': 'ValueRestriction',
+ '2': [
+ {'1': 'string', '3': 21, '4': 1, '5': 11, '6': '.kuksa.val.v1.ValueRestrictionString', '9': 0, '10': 'string'},
+ {'1': 'signed', '3': 22, '4': 1, '5': 11, '6': '.kuksa.val.v1.ValueRestrictionInt', '9': 0, '10': 'signed'},
+ {'1': 'unsigned', '3': 23, '4': 1, '5': 11, '6': '.kuksa.val.v1.ValueRestrictionUint', '9': 0, '10': 'unsigned'},
+ {'1': 'floating_point', '3': 24, '4': 1, '5': 11, '6': '.kuksa.val.v1.ValueRestrictionFloat', '9': 0, '10': 'floatingPoint'},
+ ],
+ '8': [
+ {'1': 'type'},
+ ],
+};
+
+/// Descriptor for `ValueRestriction`. Decode as a `google.protobuf.DescriptorProto`.
+final $typed_data.Uint8List valueRestrictionDescriptor = $convert.base64Decode(
+ 'ChBWYWx1ZVJlc3RyaWN0aW9uEj4KBnN0cmluZxgVIAEoCzIkLmt1a3NhLnZhbC52MS5WYWx1ZV'
+ 'Jlc3RyaWN0aW9uU3RyaW5nSABSBnN0cmluZxI7CgZzaWduZWQYFiABKAsyIS5rdWtzYS52YWwu'
+ 'djEuVmFsdWVSZXN0cmljdGlvbkludEgAUgZzaWduZWQSQAoIdW5zaWduZWQYFyABKAsyIi5rdW'
+ 'tzYS52YWwudjEuVmFsdWVSZXN0cmljdGlvblVpbnRIAFIIdW5zaWduZWQSTAoOZmxvYXRpbmdf'
+ 'cG9pbnQYGCABKAsyIy5rdWtzYS52YWwudjEuVmFsdWVSZXN0cmljdGlvbkZsb2F0SABSDWZsb2'
+ 'F0aW5nUG9pbnRCBgoEdHlwZQ==');
+
+@$core.Deprecated('Use valueRestrictionIntDescriptor instead')
+const ValueRestrictionInt$json = {
+ '1': 'ValueRestrictionInt',
+ '2': [
+ {'1': 'min', '3': 1, '4': 1, '5': 18, '9': 0, '10': 'min', '17': true},
+ {'1': 'max', '3': 2, '4': 1, '5': 18, '9': 1, '10': 'max', '17': true},
+ {'1': 'allowed_values', '3': 3, '4': 3, '5': 18, '10': 'allowedValues'},
+ ],
+ '8': [
+ {'1': '_min'},
+ {'1': '_max'},
+ ],
+};
+
+/// Descriptor for `ValueRestrictionInt`. Decode as a `google.protobuf.DescriptorProto`.
+final $typed_data.Uint8List valueRestrictionIntDescriptor = $convert.base64Decode(
+ 'ChNWYWx1ZVJlc3RyaWN0aW9uSW50EhUKA21pbhgBIAEoEkgAUgNtaW6IAQESFQoDbWF4GAIgAS'
+ 'gSSAFSA21heIgBARIlCg5hbGxvd2VkX3ZhbHVlcxgDIAMoElINYWxsb3dlZFZhbHVlc0IGCgRf'
+ 'bWluQgYKBF9tYXg=');
+
+@$core.Deprecated('Use valueRestrictionUintDescriptor instead')
+const ValueRestrictionUint$json = {
+ '1': 'ValueRestrictionUint',
+ '2': [
+ {'1': 'min', '3': 1, '4': 1, '5': 4, '9': 0, '10': 'min', '17': true},
+ {'1': 'max', '3': 2, '4': 1, '5': 4, '9': 1, '10': 'max', '17': true},
+ {'1': 'allowed_values', '3': 3, '4': 3, '5': 4, '10': 'allowedValues'},
+ ],
+ '8': [
+ {'1': '_min'},
+ {'1': '_max'},
+ ],
+};
+
+/// Descriptor for `ValueRestrictionUint`. Decode as a `google.protobuf.DescriptorProto`.
+final $typed_data.Uint8List valueRestrictionUintDescriptor = $convert.base64Decode(
+ 'ChRWYWx1ZVJlc3RyaWN0aW9uVWludBIVCgNtaW4YASABKARIAFIDbWluiAEBEhUKA21heBgCIA'
+ 'EoBEgBUgNtYXiIAQESJQoOYWxsb3dlZF92YWx1ZXMYAyADKARSDWFsbG93ZWRWYWx1ZXNCBgoE'
+ 'X21pbkIGCgRfbWF4');
+
+@$core.Deprecated('Use valueRestrictionFloatDescriptor instead')
+const ValueRestrictionFloat$json = {
+ '1': 'ValueRestrictionFloat',
+ '2': [
+ {'1': 'min', '3': 1, '4': 1, '5': 1, '9': 0, '10': 'min', '17': true},
+ {'1': 'max', '3': 2, '4': 1, '5': 1, '9': 1, '10': 'max', '17': true},
+ {'1': 'allowed_values', '3': 3, '4': 3, '5': 1, '10': 'allowedValues'},
+ ],
+ '8': [
+ {'1': '_min'},
+ {'1': '_max'},
+ ],
+};
+
+/// Descriptor for `ValueRestrictionFloat`. Decode as a `google.protobuf.DescriptorProto`.
+final $typed_data.Uint8List valueRestrictionFloatDescriptor = $convert.base64Decode(
+ 'ChVWYWx1ZVJlc3RyaWN0aW9uRmxvYXQSFQoDbWluGAEgASgBSABSA21pbogBARIVCgNtYXgYAi'
+ 'ABKAFIAVIDbWF4iAEBEiUKDmFsbG93ZWRfdmFsdWVzGAMgAygBUg1hbGxvd2VkVmFsdWVzQgYK'
+ 'BF9taW5CBgoEX21heA==');
+
+@$core.Deprecated('Use valueRestrictionStringDescriptor instead')
+const ValueRestrictionString$json = {
+ '1': 'ValueRestrictionString',
+ '2': [
+ {'1': 'allowed_values', '3': 3, '4': 3, '5': 9, '10': 'allowedValues'},
+ ],
+};
+
+/// Descriptor for `ValueRestrictionString`. Decode as a `google.protobuf.DescriptorProto`.
+final $typed_data.Uint8List valueRestrictionStringDescriptor = $convert.base64Decode(
+ 'ChZWYWx1ZVJlc3RyaWN0aW9uU3RyaW5nEiUKDmFsbG93ZWRfdmFsdWVzGAMgAygJUg1hbGxvd2'
+ 'VkVmFsdWVz');
+
+@$core.Deprecated('Use errorDescriptor instead')
+const Error$json = {
+ '1': 'Error',
+ '2': [
+ {'1': 'code', '3': 1, '4': 1, '5': 13, '10': 'code'},
+ {'1': 'reason', '3': 2, '4': 1, '5': 9, '10': 'reason'},
+ {'1': 'message', '3': 3, '4': 1, '5': 9, '10': 'message'},
+ ],
+};
+
+/// Descriptor for `Error`. Decode as a `google.protobuf.DescriptorProto`.
+final $typed_data.Uint8List errorDescriptor = $convert.base64Decode(
+ 'CgVFcnJvchISCgRjb2RlGAEgASgNUgRjb2RlEhYKBnJlYXNvbhgCIAEoCVIGcmVhc29uEhgKB2'
+ '1lc3NhZ2UYAyABKAlSB21lc3NhZ2U=');
+
+@$core.Deprecated('Use dataEntryErrorDescriptor instead')
+const DataEntryError$json = {
+ '1': 'DataEntryError',
+ '2': [
+ {'1': 'path', '3': 1, '4': 1, '5': 9, '10': 'path'},
+ {'1': 'error', '3': 2, '4': 1, '5': 11, '6': '.kuksa.val.v1.Error', '10': 'error'},
+ ],
+};
+
+/// Descriptor for `DataEntryError`. Decode as a `google.protobuf.DescriptorProto`.
+final $typed_data.Uint8List dataEntryErrorDescriptor = $convert.base64Decode(
+ 'Cg5EYXRhRW50cnlFcnJvchISCgRwYXRoGAEgASgJUgRwYXRoEikKBWVycm9yGAIgASgLMhMua3'
+ 'Vrc2EudmFsLnYxLkVycm9yUgVlcnJvcg==');
+
+@$core.Deprecated('Use stringArrayDescriptor instead')
+const StringArray$json = {
+ '1': 'StringArray',
+ '2': [
+ {'1': 'values', '3': 1, '4': 3, '5': 9, '10': 'values'},
+ ],
+};
+
+/// Descriptor for `StringArray`. Decode as a `google.protobuf.DescriptorProto`.
+final $typed_data.Uint8List stringArrayDescriptor = $convert.base64Decode(
+ 'CgtTdHJpbmdBcnJheRIWCgZ2YWx1ZXMYASADKAlSBnZhbHVlcw==');
+
+@$core.Deprecated('Use boolArrayDescriptor instead')
+const BoolArray$json = {
+ '1': 'BoolArray',
+ '2': [
+ {'1': 'values', '3': 1, '4': 3, '5': 8, '10': 'values'},
+ ],
+};
+
+/// Descriptor for `BoolArray`. Decode as a `google.protobuf.DescriptorProto`.
+final $typed_data.Uint8List boolArrayDescriptor = $convert.base64Decode(
+ 'CglCb29sQXJyYXkSFgoGdmFsdWVzGAEgAygIUgZ2YWx1ZXM=');
+
+@$core.Deprecated('Use int32ArrayDescriptor instead')
+const Int32Array$json = {
+ '1': 'Int32Array',
+ '2': [
+ {'1': 'values', '3': 1, '4': 3, '5': 17, '10': 'values'},
+ ],
+};
+
+/// Descriptor for `Int32Array`. Decode as a `google.protobuf.DescriptorProto`.
+final $typed_data.Uint8List int32ArrayDescriptor = $convert.base64Decode(
+ 'CgpJbnQzMkFycmF5EhYKBnZhbHVlcxgBIAMoEVIGdmFsdWVz');
+
+@$core.Deprecated('Use int64ArrayDescriptor instead')
+const Int64Array$json = {
+ '1': 'Int64Array',
+ '2': [
+ {'1': 'values', '3': 1, '4': 3, '5': 18, '10': 'values'},
+ ],
+};
+
+/// Descriptor for `Int64Array`. Decode as a `google.protobuf.DescriptorProto`.
+final $typed_data.Uint8List int64ArrayDescriptor = $convert.base64Decode(
+ 'CgpJbnQ2NEFycmF5EhYKBnZhbHVlcxgBIAMoElIGdmFsdWVz');
+
+@$core.Deprecated('Use uint32ArrayDescriptor instead')
+const Uint32Array$json = {
+ '1': 'Uint32Array',
+ '2': [
+ {'1': 'values', '3': 1, '4': 3, '5': 13, '10': 'values'},
+ ],
+};
+
+/// Descriptor for `Uint32Array`. Decode as a `google.protobuf.DescriptorProto`.
+final $typed_data.Uint8List uint32ArrayDescriptor = $convert.base64Decode(
+ 'CgtVaW50MzJBcnJheRIWCgZ2YWx1ZXMYASADKA1SBnZhbHVlcw==');
+
+@$core.Deprecated('Use uint64ArrayDescriptor instead')
+const Uint64Array$json = {
+ '1': 'Uint64Array',
+ '2': [
+ {'1': 'values', '3': 1, '4': 3, '5': 4, '10': 'values'},
+ ],
+};
+
+/// Descriptor for `Uint64Array`. Decode as a `google.protobuf.DescriptorProto`.
+final $typed_data.Uint8List uint64ArrayDescriptor = $convert.base64Decode(
+ 'CgtVaW50NjRBcnJheRIWCgZ2YWx1ZXMYASADKARSBnZhbHVlcw==');
+
+@$core.Deprecated('Use floatArrayDescriptor instead')
+const FloatArray$json = {
+ '1': 'FloatArray',
+ '2': [
+ {'1': 'values', '3': 1, '4': 3, '5': 2, '10': 'values'},
+ ],
+};
+
+/// Descriptor for `FloatArray`. Decode as a `google.protobuf.DescriptorProto`.
+final $typed_data.Uint8List floatArrayDescriptor = $convert.base64Decode(
+ 'CgpGbG9hdEFycmF5EhYKBnZhbHVlcxgBIAMoAlIGdmFsdWVz');
+
+@$core.Deprecated('Use doubleArrayDescriptor instead')
+const DoubleArray$json = {
+ '1': 'DoubleArray',
+ '2': [
+ {'1': 'values', '3': 1, '4': 3, '5': 1, '10': 'values'},
+ ],
+};
+
+/// Descriptor for `DoubleArray`. Decode as a `google.protobuf.DescriptorProto`.
+final $typed_data.Uint8List doubleArrayDescriptor = $convert.base64Decode(
+ 'CgtEb3VibGVBcnJheRIWCgZ2YWx1ZXMYASADKAFSBnZhbHVlcw==');
+
diff --git a/protos/lib/src/generated/kuksa/val/v1/val.pb.dart b/protos/lib/src/generated/kuksa/val/v1/val.pb.dart
new file mode 100644
index 0000000..9d3668c
--- /dev/null
+++ b/protos/lib/src/generated/kuksa/val/v1/val.pb.dart
@@ -0,0 +1,636 @@
+//
+// Generated code. Do not modify.
+// source: kuksa/val/v1/val.proto
+//
+// @dart = 2.12
+
+// ignore_for_file: annotate_overrides, camel_case_types, comment_references
+// ignore_for_file: constant_identifier_names, library_prefixes
+// ignore_for_file: non_constant_identifier_names, prefer_final_fields
+// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
+
+import 'dart:core' as $core;
+
+import 'package:protobuf/protobuf.dart' as $pb;
+
+import 'types.pb.dart' as $2;
+import 'types.pbenum.dart' as $2;
+
+/// Define which data we want
+class EntryRequest extends $pb.GeneratedMessage {
+ factory EntryRequest({
+ $core.String? path,
+ $2.View? view,
+ $core.Iterable<$2.Field>? fields,
+ }) {
+ final $result = create();
+ if (path != null) {
+ $result.path = path;
+ }
+ if (view != null) {
+ $result.view = view;
+ }
+ if (fields != null) {
+ $result.fields.addAll(fields);
+ }
+ return $result;
+ }
+ EntryRequest._() : super();
+ factory EntryRequest.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
+ factory EntryRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
+
+ static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'EntryRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'kuksa.val.v1'), createEmptyInstance: create)
+ ..aOS(1, _omitFieldNames ? '' : 'path')
+ ..e<$2.View>(2, _omitFieldNames ? '' : 'view', $pb.PbFieldType.OE, defaultOrMaker: $2.View.VIEW_UNSPECIFIED, valueOf: $2.View.valueOf, enumValues: $2.View.values)
+ ..pc<$2.Field>(3, _omitFieldNames ? '' : 'fields', $pb.PbFieldType.KE, valueOf: $2.Field.valueOf, enumValues: $2.Field.values, defaultEnumValue: $2.Field.FIELD_UNSPECIFIED)
+ ..hasRequiredFields = false
+ ;
+
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
+ 'Will be removed in next major version')
+ EntryRequest clone() => EntryRequest()..mergeFromMessage(this);
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
+ 'Will be removed in next major version')
+ EntryRequest copyWith(void Function(EntryRequest) updates) => super.copyWith((message) => updates(message as EntryRequest)) as EntryRequest;
+
+ $pb.BuilderInfo get info_ => _i;
+
+ @$core.pragma('dart2js:noInline')
+ static EntryRequest create() => EntryRequest._();
+ EntryRequest createEmptyInstance() => create();
+ static $pb.PbList<EntryRequest> createRepeated() => $pb.PbList<EntryRequest>();
+ @$core.pragma('dart2js:noInline')
+ static EntryRequest getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<EntryRequest>(create);
+ static EntryRequest? _defaultInstance;
+
+ @$pb.TagNumber(1)
+ $core.String get path => $_getSZ(0);
+ @$pb.TagNumber(1)
+ set path($core.String v) { $_setString(0, v); }
+ @$pb.TagNumber(1)
+ $core.bool hasPath() => $_has(0);
+ @$pb.TagNumber(1)
+ void clearPath() => clearField(1);
+
+ @$pb.TagNumber(2)
+ $2.View get view => $_getN(1);
+ @$pb.TagNumber(2)
+ set view($2.View v) { setField(2, v); }
+ @$pb.TagNumber(2)
+ $core.bool hasView() => $_has(1);
+ @$pb.TagNumber(2)
+ void clearView() => clearField(2);
+
+ @$pb.TagNumber(3)
+ $core.List<$2.Field> get fields => $_getList(2);
+}
+
+/// Request a set of entries.
+class GetRequest extends $pb.GeneratedMessage {
+ factory GetRequest({
+ $core.Iterable<EntryRequest>? entries,
+ }) {
+ final $result = create();
+ if (entries != null) {
+ $result.entries.addAll(entries);
+ }
+ return $result;
+ }
+ GetRequest._() : super();
+ factory GetRequest.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
+ factory GetRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
+
+ static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'kuksa.val.v1'), createEmptyInstance: create)
+ ..pc<EntryRequest>(1, _omitFieldNames ? '' : 'entries', $pb.PbFieldType.PM, subBuilder: EntryRequest.create)
+ ..hasRequiredFields = false
+ ;
+
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
+ 'Will be removed in next major version')
+ GetRequest clone() => GetRequest()..mergeFromMessage(this);
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
+ 'Will be removed in next major version')
+ GetRequest copyWith(void Function(GetRequest) updates) => super.copyWith((message) => updates(message as GetRequest)) as GetRequest;
+
+ $pb.BuilderInfo get info_ => _i;
+
+ @$core.pragma('dart2js:noInline')
+ static GetRequest create() => GetRequest._();
+ GetRequest createEmptyInstance() => create();
+ static $pb.PbList<GetRequest> createRepeated() => $pb.PbList<GetRequest>();
+ @$core.pragma('dart2js:noInline')
+ static GetRequest getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<GetRequest>(create);
+ static GetRequest? _defaultInstance;
+
+ @$pb.TagNumber(1)
+ $core.List<EntryRequest> get entries => $_getList(0);
+}
+
+/// Global errors are specified in `error`.
+/// Errors for individual entries are specified in `errors`.
+class GetResponse extends $pb.GeneratedMessage {
+ factory GetResponse({
+ $core.Iterable<$2.DataEntry>? entries,
+ $core.Iterable<$2.DataEntryError>? errors,
+ $2.Error? error,
+ }) {
+ final $result = create();
+ if (entries != null) {
+ $result.entries.addAll(entries);
+ }
+ if (errors != null) {
+ $result.errors.addAll(errors);
+ }
+ if (error != null) {
+ $result.error = error;
+ }
+ return $result;
+ }
+ GetResponse._() : super();
+ factory GetResponse.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
+ factory GetResponse.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
+
+ static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetResponse', package: const $pb.PackageName(_omitMessageNames ? '' : 'kuksa.val.v1'), createEmptyInstance: create)
+ ..pc<$2.DataEntry>(1, _omitFieldNames ? '' : 'entries', $pb.PbFieldType.PM, subBuilder: $2.DataEntry.create)
+ ..pc<$2.DataEntryError>(2, _omitFieldNames ? '' : 'errors', $pb.PbFieldType.PM, subBuilder: $2.DataEntryError.create)
+ ..aOM<$2.Error>(3, _omitFieldNames ? '' : 'error', subBuilder: $2.Error.create)
+ ..hasRequiredFields = false
+ ;
+
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
+ 'Will be removed in next major version')
+ GetResponse clone() => GetResponse()..mergeFromMessage(this);
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
+ 'Will be removed in next major version')
+ GetResponse copyWith(void Function(GetResponse) updates) => super.copyWith((message) => updates(message as GetResponse)) as GetResponse;
+
+ $pb.BuilderInfo get info_ => _i;
+
+ @$core.pragma('dart2js:noInline')
+ static GetResponse create() => GetResponse._();
+ GetResponse createEmptyInstance() => create();
+ static $pb.PbList<GetResponse> createRepeated() => $pb.PbList<GetResponse>();
+ @$core.pragma('dart2js:noInline')
+ static GetResponse getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<GetResponse>(create);
+ static GetResponse? _defaultInstance;
+
+ @$pb.TagNumber(1)
+ $core.List<$2.DataEntry> get entries => $_getList(0);
+
+ @$pb.TagNumber(2)
+ $core.List<$2.DataEntryError> get errors => $_getList(1);
+
+ @$pb.TagNumber(3)
+ $2.Error get error => $_getN(2);
+ @$pb.TagNumber(3)
+ set error($2.Error v) { setField(3, v); }
+ @$pb.TagNumber(3)
+ $core.bool hasError() => $_has(2);
+ @$pb.TagNumber(3)
+ void clearError() => clearField(3);
+ @$pb.TagNumber(3)
+ $2.Error ensureError() => $_ensure(2);
+}
+
+/// Define the data we want to set
+class EntryUpdate extends $pb.GeneratedMessage {
+ factory EntryUpdate({
+ $2.DataEntry? entry,
+ $core.Iterable<$2.Field>? fields,
+ }) {
+ final $result = create();
+ if (entry != null) {
+ $result.entry = entry;
+ }
+ if (fields != null) {
+ $result.fields.addAll(fields);
+ }
+ return $result;
+ }
+ EntryUpdate._() : super();
+ factory EntryUpdate.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
+ factory EntryUpdate.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
+
+ static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'EntryUpdate', package: const $pb.PackageName(_omitMessageNames ? '' : 'kuksa.val.v1'), createEmptyInstance: create)
+ ..aOM<$2.DataEntry>(1, _omitFieldNames ? '' : 'entry', subBuilder: $2.DataEntry.create)
+ ..pc<$2.Field>(2, _omitFieldNames ? '' : 'fields', $pb.PbFieldType.KE, valueOf: $2.Field.valueOf, enumValues: $2.Field.values, defaultEnumValue: $2.Field.FIELD_UNSPECIFIED)
+ ..hasRequiredFields = false
+ ;
+
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
+ 'Will be removed in next major version')
+ EntryUpdate clone() => EntryUpdate()..mergeFromMessage(this);
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
+ 'Will be removed in next major version')
+ EntryUpdate copyWith(void Function(EntryUpdate) updates) => super.copyWith((message) => updates(message as EntryUpdate)) as EntryUpdate;
+
+ $pb.BuilderInfo get info_ => _i;
+
+ @$core.pragma('dart2js:noInline')
+ static EntryUpdate create() => EntryUpdate._();
+ EntryUpdate createEmptyInstance() => create();
+ static $pb.PbList<EntryUpdate> createRepeated() => $pb.PbList<EntryUpdate>();
+ @$core.pragma('dart2js:noInline')
+ static EntryUpdate getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<EntryUpdate>(create);
+ static EntryUpdate? _defaultInstance;
+
+ @$pb.TagNumber(1)
+ $2.DataEntry get entry => $_getN(0);
+ @$pb.TagNumber(1)
+ set entry($2.DataEntry v) { setField(1, v); }
+ @$pb.TagNumber(1)
+ $core.bool hasEntry() => $_has(0);
+ @$pb.TagNumber(1)
+ void clearEntry() => clearField(1);
+ @$pb.TagNumber(1)
+ $2.DataEntry ensureEntry() => $_ensure(0);
+
+ @$pb.TagNumber(2)
+ $core.List<$2.Field> get fields => $_getList(1);
+}
+
+/// A list of entries to be updated
+class SetRequest extends $pb.GeneratedMessage {
+ factory SetRequest({
+ $core.Iterable<EntryUpdate>? updates,
+ }) {
+ final $result = create();
+ if (updates != null) {
+ $result.updates.addAll(updates);
+ }
+ return $result;
+ }
+ SetRequest._() : super();
+ factory SetRequest.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
+ factory SetRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
+
+ static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'SetRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'kuksa.val.v1'), createEmptyInstance: create)
+ ..pc<EntryUpdate>(1, _omitFieldNames ? '' : 'updates', $pb.PbFieldType.PM, subBuilder: EntryUpdate.create)
+ ..hasRequiredFields = false
+ ;
+
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
+ 'Will be removed in next major version')
+ SetRequest clone() => SetRequest()..mergeFromMessage(this);
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
+ 'Will be removed in next major version')
+ SetRequest copyWith(void Function(SetRequest) updates) => super.copyWith((message) => updates(message as SetRequest)) as SetRequest;
+
+ $pb.BuilderInfo get info_ => _i;
+
+ @$core.pragma('dart2js:noInline')
+ static SetRequest create() => SetRequest._();
+ SetRequest createEmptyInstance() => create();
+ static $pb.PbList<SetRequest> createRepeated() => $pb.PbList<SetRequest>();
+ @$core.pragma('dart2js:noInline')
+ static SetRequest getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<SetRequest>(create);
+ static SetRequest? _defaultInstance;
+
+ @$pb.TagNumber(1)
+ $core.List<EntryUpdate> get updates => $_getList(0);
+}
+
+/// Global errors are specified in `error`.
+/// Errors for individual entries are specified in `errors`.
+class SetResponse extends $pb.GeneratedMessage {
+ factory SetResponse({
+ $2.Error? error,
+ $core.Iterable<$2.DataEntryError>? errors,
+ }) {
+ final $result = create();
+ if (error != null) {
+ $result.error = error;
+ }
+ if (errors != null) {
+ $result.errors.addAll(errors);
+ }
+ return $result;
+ }
+ SetResponse._() : super();
+ factory SetResponse.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
+ factory SetResponse.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
+
+ static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'SetResponse', package: const $pb.PackageName(_omitMessageNames ? '' : 'kuksa.val.v1'), createEmptyInstance: create)
+ ..aOM<$2.Error>(1, _omitFieldNames ? '' : 'error', subBuilder: $2.Error.create)
+ ..pc<$2.DataEntryError>(2, _omitFieldNames ? '' : 'errors', $pb.PbFieldType.PM, subBuilder: $2.DataEntryError.create)
+ ..hasRequiredFields = false
+ ;
+
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
+ 'Will be removed in next major version')
+ SetResponse clone() => SetResponse()..mergeFromMessage(this);
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
+ 'Will be removed in next major version')
+ SetResponse copyWith(void Function(SetResponse) updates) => super.copyWith((message) => updates(message as SetResponse)) as SetResponse;
+
+ $pb.BuilderInfo get info_ => _i;
+
+ @$core.pragma('dart2js:noInline')
+ static SetResponse create() => SetResponse._();
+ SetResponse createEmptyInstance() => create();
+ static $pb.PbList<SetResponse> createRepeated() => $pb.PbList<SetResponse>();
+ @$core.pragma('dart2js:noInline')
+ static SetResponse getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<SetResponse>(create);
+ static SetResponse? _defaultInstance;
+
+ @$pb.TagNumber(1)
+ $2.Error get error => $_getN(0);
+ @$pb.TagNumber(1)
+ set error($2.Error v) { setField(1, v); }
+ @$pb.TagNumber(1)
+ $core.bool hasError() => $_has(0);
+ @$pb.TagNumber(1)
+ void clearError() => clearField(1);
+ @$pb.TagNumber(1)
+ $2.Error ensureError() => $_ensure(0);
+
+ @$pb.TagNumber(2)
+ $core.List<$2.DataEntryError> get errors => $_getList(1);
+}
+
+/// Define what to subscribe to
+class SubscribeEntry extends $pb.GeneratedMessage {
+ factory SubscribeEntry({
+ $core.String? path,
+ $2.View? view,
+ $core.Iterable<$2.Field>? fields,
+ }) {
+ final $result = create();
+ if (path != null) {
+ $result.path = path;
+ }
+ if (view != null) {
+ $result.view = view;
+ }
+ if (fields != null) {
+ $result.fields.addAll(fields);
+ }
+ return $result;
+ }
+ SubscribeEntry._() : super();
+ factory SubscribeEntry.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
+ factory SubscribeEntry.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
+
+ static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'SubscribeEntry', package: const $pb.PackageName(_omitMessageNames ? '' : 'kuksa.val.v1'), createEmptyInstance: create)
+ ..aOS(1, _omitFieldNames ? '' : 'path')
+ ..e<$2.View>(2, _omitFieldNames ? '' : 'view', $pb.PbFieldType.OE, defaultOrMaker: $2.View.VIEW_UNSPECIFIED, valueOf: $2.View.valueOf, enumValues: $2.View.values)
+ ..pc<$2.Field>(3, _omitFieldNames ? '' : 'fields', $pb.PbFieldType.KE, valueOf: $2.Field.valueOf, enumValues: $2.Field.values, defaultEnumValue: $2.Field.FIELD_UNSPECIFIED)
+ ..hasRequiredFields = false
+ ;
+
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
+ 'Will be removed in next major version')
+ SubscribeEntry clone() => SubscribeEntry()..mergeFromMessage(this);
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
+ 'Will be removed in next major version')
+ SubscribeEntry copyWith(void Function(SubscribeEntry) updates) => super.copyWith((message) => updates(message as SubscribeEntry)) as SubscribeEntry;
+
+ $pb.BuilderInfo get info_ => _i;
+
+ @$core.pragma('dart2js:noInline')
+ static SubscribeEntry create() => SubscribeEntry._();
+ SubscribeEntry createEmptyInstance() => create();
+ static $pb.PbList<SubscribeEntry> createRepeated() => $pb.PbList<SubscribeEntry>();
+ @$core.pragma('dart2js:noInline')
+ static SubscribeEntry getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<SubscribeEntry>(create);
+ static SubscribeEntry? _defaultInstance;
+
+ @$pb.TagNumber(1)
+ $core.String get path => $_getSZ(0);
+ @$pb.TagNumber(1)
+ set path($core.String v) { $_setString(0, v); }
+ @$pb.TagNumber(1)
+ $core.bool hasPath() => $_has(0);
+ @$pb.TagNumber(1)
+ void clearPath() => clearField(1);
+
+ @$pb.TagNumber(2)
+ $2.View get view => $_getN(1);
+ @$pb.TagNumber(2)
+ set view($2.View v) { setField(2, v); }
+ @$pb.TagNumber(2)
+ $core.bool hasView() => $_has(1);
+ @$pb.TagNumber(2)
+ void clearView() => clearField(2);
+
+ @$pb.TagNumber(3)
+ $core.List<$2.Field> get fields => $_getList(2);
+}
+
+/// Subscribe to changes in datapoints.
+class SubscribeRequest extends $pb.GeneratedMessage {
+ factory SubscribeRequest({
+ $core.Iterable<SubscribeEntry>? entries,
+ }) {
+ final $result = create();
+ if (entries != null) {
+ $result.entries.addAll(entries);
+ }
+ return $result;
+ }
+ SubscribeRequest._() : super();
+ factory SubscribeRequest.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
+ factory SubscribeRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
+
+ static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'SubscribeRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'kuksa.val.v1'), createEmptyInstance: create)
+ ..pc<SubscribeEntry>(1, _omitFieldNames ? '' : 'entries', $pb.PbFieldType.PM, subBuilder: SubscribeEntry.create)
+ ..hasRequiredFields = false
+ ;
+
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
+ 'Will be removed in next major version')
+ SubscribeRequest clone() => SubscribeRequest()..mergeFromMessage(this);
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
+ 'Will be removed in next major version')
+ SubscribeRequest copyWith(void Function(SubscribeRequest) updates) => super.copyWith((message) => updates(message as SubscribeRequest)) as SubscribeRequest;
+
+ $pb.BuilderInfo get info_ => _i;
+
+ @$core.pragma('dart2js:noInline')
+ static SubscribeRequest create() => SubscribeRequest._();
+ SubscribeRequest createEmptyInstance() => create();
+ static $pb.PbList<SubscribeRequest> createRepeated() => $pb.PbList<SubscribeRequest>();
+ @$core.pragma('dart2js:noInline')
+ static SubscribeRequest getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<SubscribeRequest>(create);
+ static SubscribeRequest? _defaultInstance;
+
+ @$pb.TagNumber(1)
+ $core.List<SubscribeEntry> get entries => $_getList(0);
+}
+
+/// A subscription response
+class SubscribeResponse extends $pb.GeneratedMessage {
+ factory SubscribeResponse({
+ $core.Iterable<EntryUpdate>? updates,
+ }) {
+ final $result = create();
+ if (updates != null) {
+ $result.updates.addAll(updates);
+ }
+ return $result;
+ }
+ SubscribeResponse._() : super();
+ factory SubscribeResponse.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
+ factory SubscribeResponse.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
+
+ static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'SubscribeResponse', package: const $pb.PackageName(_omitMessageNames ? '' : 'kuksa.val.v1'), createEmptyInstance: create)
+ ..pc<EntryUpdate>(1, _omitFieldNames ? '' : 'updates', $pb.PbFieldType.PM, subBuilder: EntryUpdate.create)
+ ..hasRequiredFields = false
+ ;
+
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
+ 'Will be removed in next major version')
+ SubscribeResponse clone() => SubscribeResponse()..mergeFromMessage(this);
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
+ 'Will be removed in next major version')
+ SubscribeResponse copyWith(void Function(SubscribeResponse) updates) => super.copyWith((message) => updates(message as SubscribeResponse)) as SubscribeResponse;
+
+ $pb.BuilderInfo get info_ => _i;
+
+ @$core.pragma('dart2js:noInline')
+ static SubscribeResponse create() => SubscribeResponse._();
+ SubscribeResponse createEmptyInstance() => create();
+ static $pb.PbList<SubscribeResponse> createRepeated() => $pb.PbList<SubscribeResponse>();
+ @$core.pragma('dart2js:noInline')
+ static SubscribeResponse getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<SubscribeResponse>(create);
+ static SubscribeResponse? _defaultInstance;
+
+ @$pb.TagNumber(1)
+ $core.List<EntryUpdate> get updates => $_getList(0);
+}
+
+class GetServerInfoRequest extends $pb.GeneratedMessage {
+ factory GetServerInfoRequest() => create();
+ GetServerInfoRequest._() : super();
+ factory GetServerInfoRequest.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
+ factory GetServerInfoRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
+
+ static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetServerInfoRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'kuksa.val.v1'), createEmptyInstance: create)
+ ..hasRequiredFields = false
+ ;
+
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
+ 'Will be removed in next major version')
+ GetServerInfoRequest clone() => GetServerInfoRequest()..mergeFromMessage(this);
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
+ 'Will be removed in next major version')
+ GetServerInfoRequest copyWith(void Function(GetServerInfoRequest) updates) => super.copyWith((message) => updates(message as GetServerInfoRequest)) as GetServerInfoRequest;
+
+ $pb.BuilderInfo get info_ => _i;
+
+ @$core.pragma('dart2js:noInline')
+ static GetServerInfoRequest create() => GetServerInfoRequest._();
+ GetServerInfoRequest createEmptyInstance() => create();
+ static $pb.PbList<GetServerInfoRequest> createRepeated() => $pb.PbList<GetServerInfoRequest>();
+ @$core.pragma('dart2js:noInline')
+ static GetServerInfoRequest getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<GetServerInfoRequest>(create);
+ static GetServerInfoRequest? _defaultInstance;
+}
+
+class GetServerInfoResponse extends $pb.GeneratedMessage {
+ factory GetServerInfoResponse({
+ $core.String? name,
+ $core.String? version,
+ }) {
+ final $result = create();
+ if (name != null) {
+ $result.name = name;
+ }
+ if (version != null) {
+ $result.version = version;
+ }
+ return $result;
+ }
+ GetServerInfoResponse._() : super();
+ factory GetServerInfoResponse.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
+ factory GetServerInfoResponse.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
+
+ static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetServerInfoResponse', package: const $pb.PackageName(_omitMessageNames ? '' : 'kuksa.val.v1'), createEmptyInstance: create)
+ ..aOS(1, _omitFieldNames ? '' : 'name')
+ ..aOS(2, _omitFieldNames ? '' : 'version')
+ ..hasRequiredFields = false
+ ;
+
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
+ 'Will be removed in next major version')
+ GetServerInfoResponse clone() => GetServerInfoResponse()..mergeFromMessage(this);
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
+ 'Will be removed in next major version')
+ GetServerInfoResponse copyWith(void Function(GetServerInfoResponse) updates) => super.copyWith((message) => updates(message as GetServerInfoResponse)) as GetServerInfoResponse;
+
+ $pb.BuilderInfo get info_ => _i;
+
+ @$core.pragma('dart2js:noInline')
+ static GetServerInfoResponse create() => GetServerInfoResponse._();
+ GetServerInfoResponse createEmptyInstance() => create();
+ static $pb.PbList<GetServerInfoResponse> createRepeated() => $pb.PbList<GetServerInfoResponse>();
+ @$core.pragma('dart2js:noInline')
+ static GetServerInfoResponse getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<GetServerInfoResponse>(create);
+ static GetServerInfoResponse? _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 version => $_getSZ(1);
+ @$pb.TagNumber(2)
+ set version($core.String v) { $_setString(1, v); }
+ @$pb.TagNumber(2)
+ $core.bool hasVersion() => $_has(1);
+ @$pb.TagNumber(2)
+ void clearVersion() => clearField(2);
+}
+
+
+const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names');
+const _omitMessageNames = $core.bool.fromEnvironment('protobuf.omit_message_names');
diff --git a/protos/lib/src/generated/kuksa/val/v1/val.pbenum.dart b/protos/lib/src/generated/kuksa/val/v1/val.pbenum.dart
new file mode 100644
index 0000000..ed7e401
--- /dev/null
+++ b/protos/lib/src/generated/kuksa/val/v1/val.pbenum.dart
@@ -0,0 +1,11 @@
+//
+// Generated code. Do not modify.
+// source: kuksa/val/v1/val.proto
+//
+// @dart = 2.12
+
+// ignore_for_file: annotate_overrides, camel_case_types, comment_references
+// ignore_for_file: constant_identifier_names, library_prefixes
+// ignore_for_file: non_constant_identifier_names, prefer_final_fields
+// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
+
diff --git a/protos/lib/src/generated/kuksa/val/v1/val.pbgrpc.dart b/protos/lib/src/generated/kuksa/val/v1/val.pbgrpc.dart
new file mode 100644
index 0000000..6ec7928
--- /dev/null
+++ b/protos/lib/src/generated/kuksa/val/v1/val.pbgrpc.dart
@@ -0,0 +1,119 @@
+//
+// Generated code. Do not modify.
+// source: kuksa/val/v1/val.proto
+//
+// @dart = 2.12
+
+// ignore_for_file: annotate_overrides, camel_case_types, comment_references
+// ignore_for_file: constant_identifier_names, library_prefixes
+// ignore_for_file: non_constant_identifier_names, prefer_final_fields
+// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
+
+import 'dart:async' as $async;
+import 'dart:core' as $core;
+
+import 'package:grpc/service_api.dart' as $grpc;
+import 'package:protobuf/protobuf.dart' as $pb;
+
+import 'val.pb.dart' as $0;
+
+export 'val.pb.dart';
+
+@$pb.GrpcServiceName('kuksa.val.v1.VAL')
+class VALClient extends $grpc.Client {
+ static final _$get = $grpc.ClientMethod<$0.GetRequest, $0.GetResponse>(
+ '/kuksa.val.v1.VAL/Get',
+ ($0.GetRequest value) => value.writeToBuffer(),
+ ($core.List<$core.int> value) => $0.GetResponse.fromBuffer(value));
+ static final _$set = $grpc.ClientMethod<$0.SetRequest, $0.SetResponse>(
+ '/kuksa.val.v1.VAL/Set',
+ ($0.SetRequest value) => value.writeToBuffer(),
+ ($core.List<$core.int> value) => $0.SetResponse.fromBuffer(value));
+ static final _$subscribe = $grpc.ClientMethod<$0.SubscribeRequest, $0.SubscribeResponse>(
+ '/kuksa.val.v1.VAL/Subscribe',
+ ($0.SubscribeRequest value) => value.writeToBuffer(),
+ ($core.List<$core.int> value) => $0.SubscribeResponse.fromBuffer(value));
+ static final _$getServerInfo = $grpc.ClientMethod<$0.GetServerInfoRequest, $0.GetServerInfoResponse>(
+ '/kuksa.val.v1.VAL/GetServerInfo',
+ ($0.GetServerInfoRequest value) => value.writeToBuffer(),
+ ($core.List<$core.int> value) => $0.GetServerInfoResponse.fromBuffer(value));
+
+ VALClient($grpc.ClientChannel channel,
+ {$grpc.CallOptions? options,
+ $core.Iterable<$grpc.ClientInterceptor>? interceptors})
+ : super(channel, options: options,
+ interceptors: interceptors);
+
+ $grpc.ResponseFuture<$0.GetResponse> get($0.GetRequest request, {$grpc.CallOptions? options}) {
+ return $createUnaryCall(_$get, request, options: options);
+ }
+
+ $grpc.ResponseFuture<$0.SetResponse> set($0.SetRequest request, {$grpc.CallOptions? options}) {
+ return $createUnaryCall(_$set, request, options: options);
+ }
+
+ $grpc.ResponseStream<$0.SubscribeResponse> subscribe($0.SubscribeRequest request, {$grpc.CallOptions? options}) {
+ return $createStreamingCall(_$subscribe, $async.Stream.fromIterable([request]), options: options);
+ }
+
+ $grpc.ResponseFuture<$0.GetServerInfoResponse> getServerInfo($0.GetServerInfoRequest request, {$grpc.CallOptions? options}) {
+ return $createUnaryCall(_$getServerInfo, request, options: options);
+ }
+}
+
+@$pb.GrpcServiceName('kuksa.val.v1.VAL')
+abstract class VALServiceBase extends $grpc.Service {
+ $core.String get $name => 'kuksa.val.v1.VAL';
+
+ VALServiceBase() {
+ $addMethod($grpc.ServiceMethod<$0.GetRequest, $0.GetResponse>(
+ 'Get',
+ get_Pre,
+ false,
+ false,
+ ($core.List<$core.int> value) => $0.GetRequest.fromBuffer(value),
+ ($0.GetResponse value) => value.writeToBuffer()));
+ $addMethod($grpc.ServiceMethod<$0.SetRequest, $0.SetResponse>(
+ 'Set',
+ set_Pre,
+ false,
+ false,
+ ($core.List<$core.int> value) => $0.SetRequest.fromBuffer(value),
+ ($0.SetResponse value) => value.writeToBuffer()));
+ $addMethod($grpc.ServiceMethod<$0.SubscribeRequest, $0.SubscribeResponse>(
+ 'Subscribe',
+ subscribe_Pre,
+ false,
+ true,
+ ($core.List<$core.int> value) => $0.SubscribeRequest.fromBuffer(value),
+ ($0.SubscribeResponse value) => value.writeToBuffer()));
+ $addMethod($grpc.ServiceMethod<$0.GetServerInfoRequest, $0.GetServerInfoResponse>(
+ 'GetServerInfo',
+ getServerInfo_Pre,
+ false,
+ false,
+ ($core.List<$core.int> value) => $0.GetServerInfoRequest.fromBuffer(value),
+ ($0.GetServerInfoResponse value) => value.writeToBuffer()));
+ }
+
+ $async.Future<$0.GetResponse> get_Pre($grpc.ServiceCall call, $async.Future<$0.GetRequest> request) async {
+ return get(call, await request);
+ }
+
+ $async.Future<$0.SetResponse> set_Pre($grpc.ServiceCall call, $async.Future<$0.SetRequest> request) async {
+ return set(call, await request);
+ }
+
+ $async.Stream<$0.SubscribeResponse> subscribe_Pre($grpc.ServiceCall call, $async.Future<$0.SubscribeRequest> request) async* {
+ yield* subscribe(call, await request);
+ }
+
+ $async.Future<$0.GetServerInfoResponse> getServerInfo_Pre($grpc.ServiceCall call, $async.Future<$0.GetServerInfoRequest> request) async {
+ return getServerInfo(call, await request);
+ }
+
+ $async.Future<$0.GetResponse> get($grpc.ServiceCall call, $0.GetRequest request);
+ $async.Future<$0.SetResponse> set($grpc.ServiceCall call, $0.SetRequest request);
+ $async.Stream<$0.SubscribeResponse> subscribe($grpc.ServiceCall call, $0.SubscribeRequest request);
+ $async.Future<$0.GetServerInfoResponse> getServerInfo($grpc.ServiceCall call, $0.GetServerInfoRequest request);
+}
diff --git a/protos/lib/src/generated/kuksa/val/v1/val.pbjson.dart b/protos/lib/src/generated/kuksa/val/v1/val.pbjson.dart
new file mode 100644
index 0000000..00ed07d
--- /dev/null
+++ b/protos/lib/src/generated/kuksa/val/v1/val.pbjson.dart
@@ -0,0 +1,166 @@
+//
+// Generated code. Do not modify.
+// source: kuksa/val/v1/val.proto
+//
+// @dart = 2.12
+
+// ignore_for_file: annotate_overrides, camel_case_types, comment_references
+// ignore_for_file: constant_identifier_names, library_prefixes
+// ignore_for_file: non_constant_identifier_names, prefer_final_fields
+// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
+
+import 'dart:convert' as $convert;
+import 'dart:core' as $core;
+import 'dart:typed_data' as $typed_data;
+
+@$core.Deprecated('Use entryRequestDescriptor instead')
+const EntryRequest$json = {
+ '1': 'EntryRequest',
+ '2': [
+ {'1': 'path', '3': 1, '4': 1, '5': 9, '10': 'path'},
+ {'1': 'view', '3': 2, '4': 1, '5': 14, '6': '.kuksa.val.v1.View', '10': 'view'},
+ {'1': 'fields', '3': 3, '4': 3, '5': 14, '6': '.kuksa.val.v1.Field', '10': 'fields'},
+ ],
+};
+
+/// Descriptor for `EntryRequest`. Decode as a `google.protobuf.DescriptorProto`.
+final $typed_data.Uint8List entryRequestDescriptor = $convert.base64Decode(
+ 'CgxFbnRyeVJlcXVlc3QSEgoEcGF0aBgBIAEoCVIEcGF0aBImCgR2aWV3GAIgASgOMhIua3Vrc2'
+ 'EudmFsLnYxLlZpZXdSBHZpZXcSKwoGZmllbGRzGAMgAygOMhMua3Vrc2EudmFsLnYxLkZpZWxk'
+ 'UgZmaWVsZHM=');
+
+@$core.Deprecated('Use getRequestDescriptor instead')
+const GetRequest$json = {
+ '1': 'GetRequest',
+ '2': [
+ {'1': 'entries', '3': 1, '4': 3, '5': 11, '6': '.kuksa.val.v1.EntryRequest', '10': 'entries'},
+ ],
+};
+
+/// Descriptor for `GetRequest`. Decode as a `google.protobuf.DescriptorProto`.
+final $typed_data.Uint8List getRequestDescriptor = $convert.base64Decode(
+ 'CgpHZXRSZXF1ZXN0EjQKB2VudHJpZXMYASADKAsyGi5rdWtzYS52YWwudjEuRW50cnlSZXF1ZX'
+ 'N0UgdlbnRyaWVz');
+
+@$core.Deprecated('Use getResponseDescriptor instead')
+const GetResponse$json = {
+ '1': 'GetResponse',
+ '2': [
+ {'1': 'entries', '3': 1, '4': 3, '5': 11, '6': '.kuksa.val.v1.DataEntry', '10': 'entries'},
+ {'1': 'errors', '3': 2, '4': 3, '5': 11, '6': '.kuksa.val.v1.DataEntryError', '10': 'errors'},
+ {'1': 'error', '3': 3, '4': 1, '5': 11, '6': '.kuksa.val.v1.Error', '10': 'error'},
+ ],
+};
+
+/// Descriptor for `GetResponse`. Decode as a `google.protobuf.DescriptorProto`.
+final $typed_data.Uint8List getResponseDescriptor = $convert.base64Decode(
+ 'CgtHZXRSZXNwb25zZRIxCgdlbnRyaWVzGAEgAygLMhcua3Vrc2EudmFsLnYxLkRhdGFFbnRyeV'
+ 'IHZW50cmllcxI0CgZlcnJvcnMYAiADKAsyHC5rdWtzYS52YWwudjEuRGF0YUVudHJ5RXJyb3JS'
+ 'BmVycm9ycxIpCgVlcnJvchgDIAEoCzITLmt1a3NhLnZhbC52MS5FcnJvclIFZXJyb3I=');
+
+@$core.Deprecated('Use entryUpdateDescriptor instead')
+const EntryUpdate$json = {
+ '1': 'EntryUpdate',
+ '2': [
+ {'1': 'entry', '3': 1, '4': 1, '5': 11, '6': '.kuksa.val.v1.DataEntry', '10': 'entry'},
+ {'1': 'fields', '3': 2, '4': 3, '5': 14, '6': '.kuksa.val.v1.Field', '10': 'fields'},
+ ],
+};
+
+/// Descriptor for `EntryUpdate`. Decode as a `google.protobuf.DescriptorProto`.
+final $typed_data.Uint8List entryUpdateDescriptor = $convert.base64Decode(
+ 'CgtFbnRyeVVwZGF0ZRItCgVlbnRyeRgBIAEoCzIXLmt1a3NhLnZhbC52MS5EYXRhRW50cnlSBW'
+ 'VudHJ5EisKBmZpZWxkcxgCIAMoDjITLmt1a3NhLnZhbC52MS5GaWVsZFIGZmllbGRz');
+
+@$core.Deprecated('Use setRequestDescriptor instead')
+const SetRequest$json = {
+ '1': 'SetRequest',
+ '2': [
+ {'1': 'updates', '3': 1, '4': 3, '5': 11, '6': '.kuksa.val.v1.EntryUpdate', '10': 'updates'},
+ ],
+};
+
+/// Descriptor for `SetRequest`. Decode as a `google.protobuf.DescriptorProto`.
+final $typed_data.Uint8List setRequestDescriptor = $convert.base64Decode(
+ 'CgpTZXRSZXF1ZXN0EjMKB3VwZGF0ZXMYASADKAsyGS5rdWtzYS52YWwudjEuRW50cnlVcGRhdG'
+ 'VSB3VwZGF0ZXM=');
+
+@$core.Deprecated('Use setResponseDescriptor instead')
+const SetResponse$json = {
+ '1': 'SetResponse',
+ '2': [
+ {'1': 'error', '3': 1, '4': 1, '5': 11, '6': '.kuksa.val.v1.Error', '10': 'error'},
+ {'1': 'errors', '3': 2, '4': 3, '5': 11, '6': '.kuksa.val.v1.DataEntryError', '10': 'errors'},
+ ],
+};
+
+/// Descriptor for `SetResponse`. Decode as a `google.protobuf.DescriptorProto`.
+final $typed_data.Uint8List setResponseDescriptor = $convert.base64Decode(
+ 'CgtTZXRSZXNwb25zZRIpCgVlcnJvchgBIAEoCzITLmt1a3NhLnZhbC52MS5FcnJvclIFZXJyb3'
+ 'ISNAoGZXJyb3JzGAIgAygLMhwua3Vrc2EudmFsLnYxLkRhdGFFbnRyeUVycm9yUgZlcnJvcnM=');
+
+@$core.Deprecated('Use subscribeEntryDescriptor instead')
+const SubscribeEntry$json = {
+ '1': 'SubscribeEntry',
+ '2': [
+ {'1': 'path', '3': 1, '4': 1, '5': 9, '10': 'path'},
+ {'1': 'view', '3': 2, '4': 1, '5': 14, '6': '.kuksa.val.v1.View', '10': 'view'},
+ {'1': 'fields', '3': 3, '4': 3, '5': 14, '6': '.kuksa.val.v1.Field', '10': 'fields'},
+ ],
+};
+
+/// Descriptor for `SubscribeEntry`. Decode as a `google.protobuf.DescriptorProto`.
+final $typed_data.Uint8List subscribeEntryDescriptor = $convert.base64Decode(
+ 'Cg5TdWJzY3JpYmVFbnRyeRISCgRwYXRoGAEgASgJUgRwYXRoEiYKBHZpZXcYAiABKA4yEi5rdW'
+ 'tzYS52YWwudjEuVmlld1IEdmlldxIrCgZmaWVsZHMYAyADKA4yEy5rdWtzYS52YWwudjEuRmll'
+ 'bGRSBmZpZWxkcw==');
+
+@$core.Deprecated('Use subscribeRequestDescriptor instead')
+const SubscribeRequest$json = {
+ '1': 'SubscribeRequest',
+ '2': [
+ {'1': 'entries', '3': 1, '4': 3, '5': 11, '6': '.kuksa.val.v1.SubscribeEntry', '10': 'entries'},
+ ],
+};
+
+/// Descriptor for `SubscribeRequest`. Decode as a `google.protobuf.DescriptorProto`.
+final $typed_data.Uint8List subscribeRequestDescriptor = $convert.base64Decode(
+ 'ChBTdWJzY3JpYmVSZXF1ZXN0EjYKB2VudHJpZXMYASADKAsyHC5rdWtzYS52YWwudjEuU3Vic2'
+ 'NyaWJlRW50cnlSB2VudHJpZXM=');
+
+@$core.Deprecated('Use subscribeResponseDescriptor instead')
+const SubscribeResponse$json = {
+ '1': 'SubscribeResponse',
+ '2': [
+ {'1': 'updates', '3': 1, '4': 3, '5': 11, '6': '.kuksa.val.v1.EntryUpdate', '10': 'updates'},
+ ],
+};
+
+/// Descriptor for `SubscribeResponse`. Decode as a `google.protobuf.DescriptorProto`.
+final $typed_data.Uint8List subscribeResponseDescriptor = $convert.base64Decode(
+ 'ChFTdWJzY3JpYmVSZXNwb25zZRIzCgd1cGRhdGVzGAEgAygLMhkua3Vrc2EudmFsLnYxLkVudH'
+ 'J5VXBkYXRlUgd1cGRhdGVz');
+
+@$core.Deprecated('Use getServerInfoRequestDescriptor instead')
+const GetServerInfoRequest$json = {
+ '1': 'GetServerInfoRequest',
+};
+
+/// Descriptor for `GetServerInfoRequest`. Decode as a `google.protobuf.DescriptorProto`.
+final $typed_data.Uint8List getServerInfoRequestDescriptor = $convert.base64Decode(
+ 'ChRHZXRTZXJ2ZXJJbmZvUmVxdWVzdA==');
+
+@$core.Deprecated('Use getServerInfoResponseDescriptor instead')
+const GetServerInfoResponse$json = {
+ '1': 'GetServerInfoResponse',
+ '2': [
+ {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'},
+ {'1': 'version', '3': 2, '4': 1, '5': 9, '10': 'version'},
+ ],
+};
+
+/// Descriptor for `GetServerInfoResponse`. Decode as a `google.protobuf.DescriptorProto`.
+final $typed_data.Uint8List getServerInfoResponseDescriptor = $convert.base64Decode(
+ 'ChVHZXRTZXJ2ZXJJbmZvUmVzcG9uc2USEgoEbmFtZRgBIAEoCVIEbmFtZRIYCgd2ZXJzaW9uGA'
+ 'IgASgJUgd2ZXJzaW9u');
+
diff --git a/protos/lib/src/generated/sdv/databroker/v1/broker.pb.dart b/protos/lib/src/generated/sdv/databroker/v1/broker.pb.dart
new file mode 100644
index 0000000..12b0977
--- /dev/null
+++ b/protos/lib/src/generated/sdv/databroker/v1/broker.pb.dart
@@ -0,0 +1,400 @@
+//
+// Generated code. Do not modify.
+// source: sdv/databroker/v1/broker.proto
+//
+// @dart = 2.12
+
+// ignore_for_file: annotate_overrides, camel_case_types, comment_references
+// ignore_for_file: constant_identifier_names, library_prefixes
+// ignore_for_file: non_constant_identifier_names, prefer_final_fields
+// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
+
+import 'dart:core' as $core;
+
+import 'package:protobuf/protobuf.dart' as $pb;
+
+import 'types.pb.dart' as $3;
+import 'types.pbenum.dart' as $3;
+
+class GetDatapointsRequest extends $pb.GeneratedMessage {
+ factory GetDatapointsRequest({
+ $core.Iterable<$core.String>? datapoints,
+ }) {
+ final $result = create();
+ if (datapoints != null) {
+ $result.datapoints.addAll(datapoints);
+ }
+ return $result;
+ }
+ GetDatapointsRequest._() : super();
+ factory GetDatapointsRequest.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
+ factory GetDatapointsRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
+
+ static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetDatapointsRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'sdv.databroker.v1'), createEmptyInstance: create)
+ ..pPS(1, _omitFieldNames ? '' : 'datapoints')
+ ..hasRequiredFields = false
+ ;
+
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
+ 'Will be removed in next major version')
+ GetDatapointsRequest clone() => GetDatapointsRequest()..mergeFromMessage(this);
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
+ 'Will be removed in next major version')
+ GetDatapointsRequest copyWith(void Function(GetDatapointsRequest) updates) => super.copyWith((message) => updates(message as GetDatapointsRequest)) as GetDatapointsRequest;
+
+ $pb.BuilderInfo get info_ => _i;
+
+ @$core.pragma('dart2js:noInline')
+ static GetDatapointsRequest create() => GetDatapointsRequest._();
+ GetDatapointsRequest createEmptyInstance() => create();
+ static $pb.PbList<GetDatapointsRequest> createRepeated() => $pb.PbList<GetDatapointsRequest>();
+ @$core.pragma('dart2js:noInline')
+ static GetDatapointsRequest getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<GetDatapointsRequest>(create);
+ static GetDatapointsRequest? _defaultInstance;
+
+ /// A list of requested data points.
+ @$pb.TagNumber(1)
+ $core.List<$core.String> get datapoints => $_getList(0);
+}
+
+class GetDatapointsReply extends $pb.GeneratedMessage {
+ factory GetDatapointsReply({
+ $core.Map<$core.String, $3.Datapoint>? datapoints,
+ }) {
+ final $result = create();
+ if (datapoints != null) {
+ $result.datapoints.addAll(datapoints);
+ }
+ return $result;
+ }
+ GetDatapointsReply._() : super();
+ factory GetDatapointsReply.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
+ factory GetDatapointsReply.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
+
+ static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetDatapointsReply', package: const $pb.PackageName(_omitMessageNames ? '' : 'sdv.databroker.v1'), createEmptyInstance: create)
+ ..m<$core.String, $3.Datapoint>(1, _omitFieldNames ? '' : 'datapoints', entryClassName: 'GetDatapointsReply.DatapointsEntry', keyFieldType: $pb.PbFieldType.OS, valueFieldType: $pb.PbFieldType.OM, valueCreator: $3.Datapoint.create, valueDefaultOrMaker: $3.Datapoint.getDefault, packageName: const $pb.PackageName('sdv.databroker.v1'))
+ ..hasRequiredFields = false
+ ;
+
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
+ 'Will be removed in next major version')
+ GetDatapointsReply clone() => GetDatapointsReply()..mergeFromMessage(this);
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
+ 'Will be removed in next major version')
+ GetDatapointsReply copyWith(void Function(GetDatapointsReply) updates) => super.copyWith((message) => updates(message as GetDatapointsReply)) as GetDatapointsReply;
+
+ $pb.BuilderInfo get info_ => _i;
+
+ @$core.pragma('dart2js:noInline')
+ static GetDatapointsReply create() => GetDatapointsReply._();
+ GetDatapointsReply createEmptyInstance() => create();
+ static $pb.PbList<GetDatapointsReply> createRepeated() => $pb.PbList<GetDatapointsReply>();
+ @$core.pragma('dart2js:noInline')
+ static GetDatapointsReply getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<GetDatapointsReply>(create);
+ static GetDatapointsReply? _defaultInstance;
+
+ /// Contains the values of the requested data points.
+ /// If a requested data point is not available, the corresponding Datapoint
+ /// will have the respective failure value set.
+ @$pb.TagNumber(1)
+ $core.Map<$core.String, $3.Datapoint> get datapoints => $_getMap(0);
+}
+
+class SetDatapointsRequest extends $pb.GeneratedMessage {
+ factory SetDatapointsRequest({
+ $core.Map<$core.String, $3.Datapoint>? datapoints,
+ }) {
+ final $result = create();
+ if (datapoints != null) {
+ $result.datapoints.addAll(datapoints);
+ }
+ return $result;
+ }
+ SetDatapointsRequest._() : super();
+ factory SetDatapointsRequest.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
+ factory SetDatapointsRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
+
+ static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'SetDatapointsRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'sdv.databroker.v1'), createEmptyInstance: create)
+ ..m<$core.String, $3.Datapoint>(1, _omitFieldNames ? '' : 'datapoints', entryClassName: 'SetDatapointsRequest.DatapointsEntry', keyFieldType: $pb.PbFieldType.OS, valueFieldType: $pb.PbFieldType.OM, valueCreator: $3.Datapoint.create, valueDefaultOrMaker: $3.Datapoint.getDefault, packageName: const $pb.PackageName('sdv.databroker.v1'))
+ ..hasRequiredFields = false
+ ;
+
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
+ 'Will be removed in next major version')
+ SetDatapointsRequest clone() => SetDatapointsRequest()..mergeFromMessage(this);
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
+ 'Will be removed in next major version')
+ SetDatapointsRequest copyWith(void Function(SetDatapointsRequest) updates) => super.copyWith((message) => updates(message as SetDatapointsRequest)) as SetDatapointsRequest;
+
+ $pb.BuilderInfo get info_ => _i;
+
+ @$core.pragma('dart2js:noInline')
+ static SetDatapointsRequest create() => SetDatapointsRequest._();
+ SetDatapointsRequest createEmptyInstance() => create();
+ static $pb.PbList<SetDatapointsRequest> createRepeated() => $pb.PbList<SetDatapointsRequest>();
+ @$core.pragma('dart2js:noInline')
+ static SetDatapointsRequest getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<SetDatapointsRequest>(create);
+ static SetDatapointsRequest? _defaultInstance;
+
+ /// A map of data points to set
+ @$pb.TagNumber(1)
+ $core.Map<$core.String, $3.Datapoint> get datapoints => $_getMap(0);
+}
+
+class SetDatapointsReply extends $pb.GeneratedMessage {
+ factory SetDatapointsReply({
+ $core.Map<$core.String, $3.DatapointError>? errors,
+ }) {
+ final $result = create();
+ if (errors != null) {
+ $result.errors.addAll(errors);
+ }
+ return $result;
+ }
+ SetDatapointsReply._() : super();
+ factory SetDatapointsReply.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
+ factory SetDatapointsReply.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
+
+ static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'SetDatapointsReply', package: const $pb.PackageName(_omitMessageNames ? '' : 'sdv.databroker.v1'), createEmptyInstance: create)
+ ..m<$core.String, $3.DatapointError>(1, _omitFieldNames ? '' : 'errors', entryClassName: 'SetDatapointsReply.ErrorsEntry', keyFieldType: $pb.PbFieldType.OS, valueFieldType: $pb.PbFieldType.OE, valueOf: $3.DatapointError.valueOf, enumValues: $3.DatapointError.values, valueDefaultOrMaker: $3.DatapointError.UNKNOWN_DATAPOINT, defaultEnumValue: $3.DatapointError.UNKNOWN_DATAPOINT, packageName: const $pb.PackageName('sdv.databroker.v1'))
+ ..hasRequiredFields = false
+ ;
+
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
+ 'Will be removed in next major version')
+ SetDatapointsReply clone() => SetDatapointsReply()..mergeFromMessage(this);
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
+ 'Will be removed in next major version')
+ SetDatapointsReply copyWith(void Function(SetDatapointsReply) updates) => super.copyWith((message) => updates(message as SetDatapointsReply)) as SetDatapointsReply;
+
+ $pb.BuilderInfo get info_ => _i;
+
+ @$core.pragma('dart2js:noInline')
+ static SetDatapointsReply create() => SetDatapointsReply._();
+ SetDatapointsReply createEmptyInstance() => create();
+ static $pb.PbList<SetDatapointsReply> createRepeated() => $pb.PbList<SetDatapointsReply>();
+ @$core.pragma('dart2js:noInline')
+ static SetDatapointsReply getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<SetDatapointsReply>(create);
+ static SetDatapointsReply? _defaultInstance;
+
+ /// A map of errors (if any)
+ @$pb.TagNumber(1)
+ $core.Map<$core.String, $3.DatapointError> get errors => $_getMap(0);
+}
+
+class SubscribeRequest extends $pb.GeneratedMessage {
+ factory SubscribeRequest({
+ $core.String? query,
+ }) {
+ final $result = create();
+ if (query != null) {
+ $result.query = query;
+ }
+ return $result;
+ }
+ SubscribeRequest._() : super();
+ factory SubscribeRequest.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
+ factory SubscribeRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
+
+ static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'SubscribeRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'sdv.databroker.v1'), createEmptyInstance: create)
+ ..aOS(2, _omitFieldNames ? '' : 'query')
+ ..hasRequiredFields = false
+ ;
+
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
+ 'Will be removed in next major version')
+ SubscribeRequest clone() => SubscribeRequest()..mergeFromMessage(this);
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
+ 'Will be removed in next major version')
+ SubscribeRequest copyWith(void Function(SubscribeRequest) updates) => super.copyWith((message) => updates(message as SubscribeRequest)) as SubscribeRequest;
+
+ $pb.BuilderInfo get info_ => _i;
+
+ @$core.pragma('dart2js:noInline')
+ static SubscribeRequest create() => SubscribeRequest._();
+ SubscribeRequest createEmptyInstance() => create();
+ static $pb.PbList<SubscribeRequest> createRepeated() => $pb.PbList<SubscribeRequest>();
+ @$core.pragma('dart2js:noInline')
+ static SubscribeRequest getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<SubscribeRequest>(create);
+ static SubscribeRequest? _defaultInstance;
+
+ /// Subscribe to a set of data points (or expressions) described
+ /// by the provided query.
+ /// The query syntax is a subset of SQL and is described in more
+ /// detail in the QUERY.md file.
+ @$pb.TagNumber(2)
+ $core.String get query => $_getSZ(0);
+ @$pb.TagNumber(2)
+ set query($core.String v) { $_setString(0, v); }
+ @$pb.TagNumber(2)
+ $core.bool hasQuery() => $_has(0);
+ @$pb.TagNumber(2)
+ void clearQuery() => clearField(2);
+}
+
+class SubscribeReply extends $pb.GeneratedMessage {
+ factory SubscribeReply({
+ $core.Map<$core.String, $3.Datapoint>? fields,
+ }) {
+ final $result = create();
+ if (fields != null) {
+ $result.fields.addAll(fields);
+ }
+ return $result;
+ }
+ SubscribeReply._() : super();
+ factory SubscribeReply.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
+ factory SubscribeReply.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
+
+ static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'SubscribeReply', package: const $pb.PackageName(_omitMessageNames ? '' : 'sdv.databroker.v1'), createEmptyInstance: create)
+ ..m<$core.String, $3.Datapoint>(1, _omitFieldNames ? '' : 'fields', entryClassName: 'SubscribeReply.FieldsEntry', keyFieldType: $pb.PbFieldType.OS, valueFieldType: $pb.PbFieldType.OM, valueCreator: $3.Datapoint.create, valueDefaultOrMaker: $3.Datapoint.getDefault, packageName: const $pb.PackageName('sdv.databroker.v1'))
+ ..hasRequiredFields = false
+ ;
+
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
+ 'Will be removed in next major version')
+ SubscribeReply clone() => SubscribeReply()..mergeFromMessage(this);
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
+ 'Will be removed in next major version')
+ SubscribeReply copyWith(void Function(SubscribeReply) updates) => super.copyWith((message) => updates(message as SubscribeReply)) as SubscribeReply;
+
+ $pb.BuilderInfo get info_ => _i;
+
+ @$core.pragma('dart2js:noInline')
+ static SubscribeReply create() => SubscribeReply._();
+ SubscribeReply createEmptyInstance() => create();
+ static $pb.PbList<SubscribeReply> createRepeated() => $pb.PbList<SubscribeReply>();
+ @$core.pragma('dart2js:noInline')
+ static SubscribeReply getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<SubscribeReply>(create);
+ static SubscribeReply? _defaultInstance;
+
+ /// Contains the fields specified by the query.
+ /// If a requested data point value is not available, the corresponding
+ /// Datapoint will have it's respective failure value set.
+ @$pb.TagNumber(1)
+ $core.Map<$core.String, $3.Datapoint> get fields => $_getMap(0);
+}
+
+class GetMetadataRequest extends $pb.GeneratedMessage {
+ factory GetMetadataRequest({
+ $core.Iterable<$core.String>? names,
+ }) {
+ final $result = create();
+ if (names != null) {
+ $result.names.addAll(names);
+ }
+ return $result;
+ }
+ GetMetadataRequest._() : super();
+ factory GetMetadataRequest.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
+ factory GetMetadataRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
+
+ static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetMetadataRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'sdv.databroker.v1'), createEmptyInstance: create)
+ ..pPS(1, _omitFieldNames ? '' : 'names')
+ ..hasRequiredFields = false
+ ;
+
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
+ 'Will be removed in next major version')
+ GetMetadataRequest clone() => GetMetadataRequest()..mergeFromMessage(this);
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
+ 'Will be removed in next major version')
+ GetMetadataRequest copyWith(void Function(GetMetadataRequest) updates) => super.copyWith((message) => updates(message as GetMetadataRequest)) as GetMetadataRequest;
+
+ $pb.BuilderInfo get info_ => _i;
+
+ @$core.pragma('dart2js:noInline')
+ static GetMetadataRequest create() => GetMetadataRequest._();
+ GetMetadataRequest createEmptyInstance() => create();
+ static $pb.PbList<GetMetadataRequest> createRepeated() => $pb.PbList<GetMetadataRequest>();
+ @$core.pragma('dart2js:noInline')
+ static GetMetadataRequest getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<GetMetadataRequest>(create);
+ static GetMetadataRequest? _defaultInstance;
+
+ /// Request metadata for a list of data points referenced by their names.
+ /// e.g. "Vehicle.Cabin.Seat.Row1.Pos1.Position" or "Vehicle.Speed".
+ ///
+ /// If no names are provided, metadata for all known data points will be
+ /// returned.
+ @$pb.TagNumber(1)
+ $core.List<$core.String> get names => $_getList(0);
+}
+
+class GetMetadataReply extends $pb.GeneratedMessage {
+ factory GetMetadataReply({
+ $core.Iterable<$3.Metadata>? list,
+ }) {
+ final $result = create();
+ if (list != null) {
+ $result.list.addAll(list);
+ }
+ return $result;
+ }
+ GetMetadataReply._() : super();
+ factory GetMetadataReply.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
+ factory GetMetadataReply.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
+
+ static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetMetadataReply', package: const $pb.PackageName(_omitMessageNames ? '' : 'sdv.databroker.v1'), createEmptyInstance: create)
+ ..pc<$3.Metadata>(1, _omitFieldNames ? '' : 'list', $pb.PbFieldType.PM, subBuilder: $3.Metadata.create)
+ ..hasRequiredFields = false
+ ;
+
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
+ 'Will be removed in next major version')
+ GetMetadataReply clone() => GetMetadataReply()..mergeFromMessage(this);
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
+ 'Will be removed in next major version')
+ GetMetadataReply copyWith(void Function(GetMetadataReply) updates) => super.copyWith((message) => updates(message as GetMetadataReply)) as GetMetadataReply;
+
+ $pb.BuilderInfo get info_ => _i;
+
+ @$core.pragma('dart2js:noInline')
+ static GetMetadataReply create() => GetMetadataReply._();
+ GetMetadataReply createEmptyInstance() => create();
+ static $pb.PbList<GetMetadataReply> createRepeated() => $pb.PbList<GetMetadataReply>();
+ @$core.pragma('dart2js:noInline')
+ static GetMetadataReply getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<GetMetadataReply>(create);
+ static GetMetadataReply? _defaultInstance;
+
+ /// Contains metadata of the requested data points. If a data point
+ /// doesn't exist (i.e. not known to the Data Broker) the corresponding
+ /// Metadata isn't part of the returned list.
+ @$pb.TagNumber(1)
+ $core.List<$3.Metadata> get list => $_getList(0);
+}
+
+
+const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names');
+const _omitMessageNames = $core.bool.fromEnvironment('protobuf.omit_message_names');
diff --git a/protos/lib/src/generated/sdv/databroker/v1/broker.pbenum.dart b/protos/lib/src/generated/sdv/databroker/v1/broker.pbenum.dart
new file mode 100644
index 0000000..99be056
--- /dev/null
+++ b/protos/lib/src/generated/sdv/databroker/v1/broker.pbenum.dart
@@ -0,0 +1,11 @@
+//
+// Generated code. Do not modify.
+// source: sdv/databroker/v1/broker.proto
+//
+// @dart = 2.12
+
+// ignore_for_file: annotate_overrides, camel_case_types, comment_references
+// ignore_for_file: constant_identifier_names, library_prefixes
+// ignore_for_file: non_constant_identifier_names, prefer_final_fields
+// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
+
diff --git a/protos/lib/src/generated/sdv/databroker/v1/broker.pbgrpc.dart b/protos/lib/src/generated/sdv/databroker/v1/broker.pbgrpc.dart
new file mode 100644
index 0000000..62b05c0
--- /dev/null
+++ b/protos/lib/src/generated/sdv/databroker/v1/broker.pbgrpc.dart
@@ -0,0 +1,119 @@
+//
+// Generated code. Do not modify.
+// source: sdv/databroker/v1/broker.proto
+//
+// @dart = 2.12
+
+// ignore_for_file: annotate_overrides, camel_case_types, comment_references
+// ignore_for_file: constant_identifier_names, library_prefixes
+// ignore_for_file: non_constant_identifier_names, prefer_final_fields
+// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
+
+import 'dart:async' as $async;
+import 'dart:core' as $core;
+
+import 'package:grpc/service_api.dart' as $grpc;
+import 'package:protobuf/protobuf.dart' as $pb;
+
+import 'broker.pb.dart' as $0;
+
+export 'broker.pb.dart';
+
+@$pb.GrpcServiceName('sdv.databroker.v1.Broker')
+class BrokerClient extends $grpc.Client {
+ static final _$getDatapoints = $grpc.ClientMethod<$0.GetDatapointsRequest, $0.GetDatapointsReply>(
+ '/sdv.databroker.v1.Broker/GetDatapoints',
+ ($0.GetDatapointsRequest value) => value.writeToBuffer(),
+ ($core.List<$core.int> value) => $0.GetDatapointsReply.fromBuffer(value));
+ static final _$setDatapoints = $grpc.ClientMethod<$0.SetDatapointsRequest, $0.SetDatapointsReply>(
+ '/sdv.databroker.v1.Broker/SetDatapoints',
+ ($0.SetDatapointsRequest value) => value.writeToBuffer(),
+ ($core.List<$core.int> value) => $0.SetDatapointsReply.fromBuffer(value));
+ static final _$subscribe = $grpc.ClientMethod<$0.SubscribeRequest, $0.SubscribeReply>(
+ '/sdv.databroker.v1.Broker/Subscribe',
+ ($0.SubscribeRequest value) => value.writeToBuffer(),
+ ($core.List<$core.int> value) => $0.SubscribeReply.fromBuffer(value));
+ static final _$getMetadata = $grpc.ClientMethod<$0.GetMetadataRequest, $0.GetMetadataReply>(
+ '/sdv.databroker.v1.Broker/GetMetadata',
+ ($0.GetMetadataRequest value) => value.writeToBuffer(),
+ ($core.List<$core.int> value) => $0.GetMetadataReply.fromBuffer(value));
+
+ BrokerClient($grpc.ClientChannel channel,
+ {$grpc.CallOptions? options,
+ $core.Iterable<$grpc.ClientInterceptor>? interceptors})
+ : super(channel, options: options,
+ interceptors: interceptors);
+
+ $grpc.ResponseFuture<$0.GetDatapointsReply> getDatapoints($0.GetDatapointsRequest request, {$grpc.CallOptions? options}) {
+ return $createUnaryCall(_$getDatapoints, request, options: options);
+ }
+
+ $grpc.ResponseFuture<$0.SetDatapointsReply> setDatapoints($0.SetDatapointsRequest request, {$grpc.CallOptions? options}) {
+ return $createUnaryCall(_$setDatapoints, request, options: options);
+ }
+
+ $grpc.ResponseStream<$0.SubscribeReply> subscribe($0.SubscribeRequest request, {$grpc.CallOptions? options}) {
+ return $createStreamingCall(_$subscribe, $async.Stream.fromIterable([request]), options: options);
+ }
+
+ $grpc.ResponseFuture<$0.GetMetadataReply> getMetadata($0.GetMetadataRequest request, {$grpc.CallOptions? options}) {
+ return $createUnaryCall(_$getMetadata, request, options: options);
+ }
+}
+
+@$pb.GrpcServiceName('sdv.databroker.v1.Broker')
+abstract class BrokerServiceBase extends $grpc.Service {
+ $core.String get $name => 'sdv.databroker.v1.Broker';
+
+ BrokerServiceBase() {
+ $addMethod($grpc.ServiceMethod<$0.GetDatapointsRequest, $0.GetDatapointsReply>(
+ 'GetDatapoints',
+ getDatapoints_Pre,
+ false,
+ false,
+ ($core.List<$core.int> value) => $0.GetDatapointsRequest.fromBuffer(value),
+ ($0.GetDatapointsReply value) => value.writeToBuffer()));
+ $addMethod($grpc.ServiceMethod<$0.SetDatapointsRequest, $0.SetDatapointsReply>(
+ 'SetDatapoints',
+ setDatapoints_Pre,
+ false,
+ false,
+ ($core.List<$core.int> value) => $0.SetDatapointsRequest.fromBuffer(value),
+ ($0.SetDatapointsReply value) => value.writeToBuffer()));
+ $addMethod($grpc.ServiceMethod<$0.SubscribeRequest, $0.SubscribeReply>(
+ 'Subscribe',
+ subscribe_Pre,
+ false,
+ true,
+ ($core.List<$core.int> value) => $0.SubscribeRequest.fromBuffer(value),
+ ($0.SubscribeReply value) => value.writeToBuffer()));
+ $addMethod($grpc.ServiceMethod<$0.GetMetadataRequest, $0.GetMetadataReply>(
+ 'GetMetadata',
+ getMetadata_Pre,
+ false,
+ false,
+ ($core.List<$core.int> value) => $0.GetMetadataRequest.fromBuffer(value),
+ ($0.GetMetadataReply value) => value.writeToBuffer()));
+ }
+
+ $async.Future<$0.GetDatapointsReply> getDatapoints_Pre($grpc.ServiceCall call, $async.Future<$0.GetDatapointsRequest> request) async {
+ return getDatapoints(call, await request);
+ }
+
+ $async.Future<$0.SetDatapointsReply> setDatapoints_Pre($grpc.ServiceCall call, $async.Future<$0.SetDatapointsRequest> request) async {
+ return setDatapoints(call, await request);
+ }
+
+ $async.Stream<$0.SubscribeReply> subscribe_Pre($grpc.ServiceCall call, $async.Future<$0.SubscribeRequest> request) async* {
+ yield* subscribe(call, await request);
+ }
+
+ $async.Future<$0.GetMetadataReply> getMetadata_Pre($grpc.ServiceCall call, $async.Future<$0.GetMetadataRequest> request) async {
+ return getMetadata(call, await request);
+ }
+
+ $async.Future<$0.GetDatapointsReply> getDatapoints($grpc.ServiceCall call, $0.GetDatapointsRequest request);
+ $async.Future<$0.SetDatapointsReply> setDatapoints($grpc.ServiceCall call, $0.SetDatapointsRequest request);
+ $async.Stream<$0.SubscribeReply> subscribe($grpc.ServiceCall call, $0.SubscribeRequest request);
+ $async.Future<$0.GetMetadataReply> getMetadata($grpc.ServiceCall call, $0.GetMetadataRequest request);
+}
diff --git a/protos/lib/src/generated/sdv/databroker/v1/broker.pbjson.dart b/protos/lib/src/generated/sdv/databroker/v1/broker.pbjson.dart
new file mode 100644
index 0000000..4b06fe7
--- /dev/null
+++ b/protos/lib/src/generated/sdv/databroker/v1/broker.pbjson.dart
@@ -0,0 +1,168 @@
+//
+// Generated code. Do not modify.
+// source: sdv/databroker/v1/broker.proto
+//
+// @dart = 2.12
+
+// ignore_for_file: annotate_overrides, camel_case_types, comment_references
+// ignore_for_file: constant_identifier_names, library_prefixes
+// ignore_for_file: non_constant_identifier_names, prefer_final_fields
+// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
+
+import 'dart:convert' as $convert;
+import 'dart:core' as $core;
+import 'dart:typed_data' as $typed_data;
+
+@$core.Deprecated('Use getDatapointsRequestDescriptor instead')
+const GetDatapointsRequest$json = {
+ '1': 'GetDatapointsRequest',
+ '2': [
+ {'1': 'datapoints', '3': 1, '4': 3, '5': 9, '10': 'datapoints'},
+ ],
+};
+
+/// Descriptor for `GetDatapointsRequest`. Decode as a `google.protobuf.DescriptorProto`.
+final $typed_data.Uint8List getDatapointsRequestDescriptor = $convert.base64Decode(
+ 'ChRHZXREYXRhcG9pbnRzUmVxdWVzdBIeCgpkYXRhcG9pbnRzGAEgAygJUgpkYXRhcG9pbnRz');
+
+@$core.Deprecated('Use getDatapointsReplyDescriptor instead')
+const GetDatapointsReply$json = {
+ '1': 'GetDatapointsReply',
+ '2': [
+ {'1': 'datapoints', '3': 1, '4': 3, '5': 11, '6': '.sdv.databroker.v1.GetDatapointsReply.DatapointsEntry', '10': 'datapoints'},
+ ],
+ '3': [GetDatapointsReply_DatapointsEntry$json],
+};
+
+@$core.Deprecated('Use getDatapointsReplyDescriptor instead')
+const GetDatapointsReply_DatapointsEntry$json = {
+ '1': 'DatapointsEntry',
+ '2': [
+ {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'},
+ {'1': 'value', '3': 2, '4': 1, '5': 11, '6': '.sdv.databroker.v1.Datapoint', '10': 'value'},
+ ],
+ '7': {'7': true},
+};
+
+/// Descriptor for `GetDatapointsReply`. Decode as a `google.protobuf.DescriptorProto`.
+final $typed_data.Uint8List getDatapointsReplyDescriptor = $convert.base64Decode(
+ 'ChJHZXREYXRhcG9pbnRzUmVwbHkSVQoKZGF0YXBvaW50cxgBIAMoCzI1LnNkdi5kYXRhYnJva2'
+ 'VyLnYxLkdldERhdGFwb2ludHNSZXBseS5EYXRhcG9pbnRzRW50cnlSCmRhdGFwb2ludHMaWwoP'
+ 'RGF0YXBvaW50c0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EjIKBXZhbHVlGAIgASgLMhwuc2R2Lm'
+ 'RhdGFicm9rZXIudjEuRGF0YXBvaW50UgV2YWx1ZToCOAE=');
+
+@$core.Deprecated('Use setDatapointsRequestDescriptor instead')
+const SetDatapointsRequest$json = {
+ '1': 'SetDatapointsRequest',
+ '2': [
+ {'1': 'datapoints', '3': 1, '4': 3, '5': 11, '6': '.sdv.databroker.v1.SetDatapointsRequest.DatapointsEntry', '10': 'datapoints'},
+ ],
+ '3': [SetDatapointsRequest_DatapointsEntry$json],
+};
+
+@$core.Deprecated('Use setDatapointsRequestDescriptor instead')
+const SetDatapointsRequest_DatapointsEntry$json = {
+ '1': 'DatapointsEntry',
+ '2': [
+ {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'},
+ {'1': 'value', '3': 2, '4': 1, '5': 11, '6': '.sdv.databroker.v1.Datapoint', '10': 'value'},
+ ],
+ '7': {'7': true},
+};
+
+/// Descriptor for `SetDatapointsRequest`. Decode as a `google.protobuf.DescriptorProto`.
+final $typed_data.Uint8List setDatapointsRequestDescriptor = $convert.base64Decode(
+ 'ChRTZXREYXRhcG9pbnRzUmVxdWVzdBJXCgpkYXRhcG9pbnRzGAEgAygLMjcuc2R2LmRhdGFicm'
+ '9rZXIudjEuU2V0RGF0YXBvaW50c1JlcXVlc3QuRGF0YXBvaW50c0VudHJ5UgpkYXRhcG9pbnRz'
+ 'GlsKD0RhdGFwb2ludHNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIyCgV2YWx1ZRgCIAEoCzIcLn'
+ 'Nkdi5kYXRhYnJva2VyLnYxLkRhdGFwb2ludFIFdmFsdWU6AjgB');
+
+@$core.Deprecated('Use setDatapointsReplyDescriptor instead')
+const SetDatapointsReply$json = {
+ '1': 'SetDatapointsReply',
+ '2': [
+ {'1': 'errors', '3': 1, '4': 3, '5': 11, '6': '.sdv.databroker.v1.SetDatapointsReply.ErrorsEntry', '10': 'errors'},
+ ],
+ '3': [SetDatapointsReply_ErrorsEntry$json],
+};
+
+@$core.Deprecated('Use setDatapointsReplyDescriptor instead')
+const SetDatapointsReply_ErrorsEntry$json = {
+ '1': 'ErrorsEntry',
+ '2': [
+ {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'},
+ {'1': 'value', '3': 2, '4': 1, '5': 14, '6': '.sdv.databroker.v1.DatapointError', '10': 'value'},
+ ],
+ '7': {'7': true},
+};
+
+/// Descriptor for `SetDatapointsReply`. Decode as a `google.protobuf.DescriptorProto`.
+final $typed_data.Uint8List setDatapointsReplyDescriptor = $convert.base64Decode(
+ 'ChJTZXREYXRhcG9pbnRzUmVwbHkSSQoGZXJyb3JzGAEgAygLMjEuc2R2LmRhdGFicm9rZXIudj'
+ 'EuU2V0RGF0YXBvaW50c1JlcGx5LkVycm9yc0VudHJ5UgZlcnJvcnMaXAoLRXJyb3JzRW50cnkS'
+ 'EAoDa2V5GAEgASgJUgNrZXkSNwoFdmFsdWUYAiABKA4yIS5zZHYuZGF0YWJyb2tlci52MS5EYX'
+ 'RhcG9pbnRFcnJvclIFdmFsdWU6AjgB');
+
+@$core.Deprecated('Use subscribeRequestDescriptor instead')
+const SubscribeRequest$json = {
+ '1': 'SubscribeRequest',
+ '2': [
+ {'1': 'query', '3': 2, '4': 1, '5': 9, '10': 'query'},
+ ],
+};
+
+/// Descriptor for `SubscribeRequest`. Decode as a `google.protobuf.DescriptorProto`.
+final $typed_data.Uint8List subscribeRequestDescriptor = $convert.base64Decode(
+ 'ChBTdWJzY3JpYmVSZXF1ZXN0EhQKBXF1ZXJ5GAIgASgJUgVxdWVyeQ==');
+
+@$core.Deprecated('Use subscribeReplyDescriptor instead')
+const SubscribeReply$json = {
+ '1': 'SubscribeReply',
+ '2': [
+ {'1': 'fields', '3': 1, '4': 3, '5': 11, '6': '.sdv.databroker.v1.SubscribeReply.FieldsEntry', '10': 'fields'},
+ ],
+ '3': [SubscribeReply_FieldsEntry$json],
+};
+
+@$core.Deprecated('Use subscribeReplyDescriptor instead')
+const SubscribeReply_FieldsEntry$json = {
+ '1': 'FieldsEntry',
+ '2': [
+ {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'},
+ {'1': 'value', '3': 2, '4': 1, '5': 11, '6': '.sdv.databroker.v1.Datapoint', '10': 'value'},
+ ],
+ '7': {'7': true},
+};
+
+/// Descriptor for `SubscribeReply`. Decode as a `google.protobuf.DescriptorProto`.
+final $typed_data.Uint8List subscribeReplyDescriptor = $convert.base64Decode(
+ 'Cg5TdWJzY3JpYmVSZXBseRJFCgZmaWVsZHMYASADKAsyLS5zZHYuZGF0YWJyb2tlci52MS5TdW'
+ 'JzY3JpYmVSZXBseS5GaWVsZHNFbnRyeVIGZmllbGRzGlcKC0ZpZWxkc0VudHJ5EhAKA2tleRgB'
+ 'IAEoCVIDa2V5EjIKBXZhbHVlGAIgASgLMhwuc2R2LmRhdGFicm9rZXIudjEuRGF0YXBvaW50Ug'
+ 'V2YWx1ZToCOAE=');
+
+@$core.Deprecated('Use getMetadataRequestDescriptor instead')
+const GetMetadataRequest$json = {
+ '1': 'GetMetadataRequest',
+ '2': [
+ {'1': 'names', '3': 1, '4': 3, '5': 9, '10': 'names'},
+ ],
+};
+
+/// Descriptor for `GetMetadataRequest`. Decode as a `google.protobuf.DescriptorProto`.
+final $typed_data.Uint8List getMetadataRequestDescriptor = $convert.base64Decode(
+ 'ChJHZXRNZXRhZGF0YVJlcXVlc3QSFAoFbmFtZXMYASADKAlSBW5hbWVz');
+
+@$core.Deprecated('Use getMetadataReplyDescriptor instead')
+const GetMetadataReply$json = {
+ '1': 'GetMetadataReply',
+ '2': [
+ {'1': 'list', '3': 1, '4': 3, '5': 11, '6': '.sdv.databroker.v1.Metadata', '10': 'list'},
+ ],
+};
+
+/// Descriptor for `GetMetadataReply`. Decode as a `google.protobuf.DescriptorProto`.
+final $typed_data.Uint8List getMetadataReplyDescriptor = $convert.base64Decode(
+ 'ChBHZXRNZXRhZGF0YVJlcGx5Ei8KBGxpc3QYASADKAsyGy5zZHYuZGF0YWJyb2tlci52MS5NZX'
+ 'RhZGF0YVIEbGlzdA==');
+
diff --git a/protos/lib/src/generated/sdv/databroker/v1/collector.pb.dart b/protos/lib/src/generated/sdv/databroker/v1/collector.pb.dart
new file mode 100644
index 0000000..532e01a
--- /dev/null
+++ b/protos/lib/src/generated/sdv/databroker/v1/collector.pb.dart
@@ -0,0 +1,380 @@
+//
+// Generated code. Do not modify.
+// source: sdv/databroker/v1/collector.proto
+//
+// @dart = 2.12
+
+// ignore_for_file: annotate_overrides, camel_case_types, comment_references
+// ignore_for_file: constant_identifier_names, library_prefixes
+// ignore_for_file: non_constant_identifier_names, prefer_final_fields
+// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
+
+import 'dart:core' as $core;
+
+import 'package:protobuf/protobuf.dart' as $pb;
+
+import 'types.pb.dart' as $3;
+import 'types.pbenum.dart' as $3;
+
+class UpdateDatapointsRequest extends $pb.GeneratedMessage {
+ factory UpdateDatapointsRequest({
+ $core.Map<$core.int, $3.Datapoint>? datapoints,
+ }) {
+ final $result = create();
+ if (datapoints != null) {
+ $result.datapoints.addAll(datapoints);
+ }
+ return $result;
+ }
+ UpdateDatapointsRequest._() : super();
+ factory UpdateDatapointsRequest.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
+ factory UpdateDatapointsRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
+
+ static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'UpdateDatapointsRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'sdv.databroker.v1'), createEmptyInstance: create)
+ ..m<$core.int, $3.Datapoint>(1, _omitFieldNames ? '' : 'datapoints', entryClassName: 'UpdateDatapointsRequest.DatapointsEntry', keyFieldType: $pb.PbFieldType.O3, valueFieldType: $pb.PbFieldType.OM, valueCreator: $3.Datapoint.create, valueDefaultOrMaker: $3.Datapoint.getDefault, packageName: const $pb.PackageName('sdv.databroker.v1'))
+ ..hasRequiredFields = false
+ ;
+
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
+ 'Will be removed in next major version')
+ UpdateDatapointsRequest clone() => UpdateDatapointsRequest()..mergeFromMessage(this);
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
+ 'Will be removed in next major version')
+ UpdateDatapointsRequest copyWith(void Function(UpdateDatapointsRequest) updates) => super.copyWith((message) => updates(message as UpdateDatapointsRequest)) as UpdateDatapointsRequest;
+
+ $pb.BuilderInfo get info_ => _i;
+
+ @$core.pragma('dart2js:noInline')
+ static UpdateDatapointsRequest create() => UpdateDatapointsRequest._();
+ UpdateDatapointsRequest createEmptyInstance() => create();
+ static $pb.PbList<UpdateDatapointsRequest> createRepeated() => $pb.PbList<UpdateDatapointsRequest>();
+ @$core.pragma('dart2js:noInline')
+ static UpdateDatapointsRequest getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<UpdateDatapointsRequest>(create);
+ static UpdateDatapointsRequest? _defaultInstance;
+
+ @$pb.TagNumber(1)
+ $core.Map<$core.int, $3.Datapoint> get datapoints => $_getMap(0);
+}
+
+class UpdateDatapointsReply extends $pb.GeneratedMessage {
+ factory UpdateDatapointsReply({
+ $core.Map<$core.int, $3.DatapointError>? errors,
+ }) {
+ final $result = create();
+ if (errors != null) {
+ $result.errors.addAll(errors);
+ }
+ return $result;
+ }
+ UpdateDatapointsReply._() : super();
+ factory UpdateDatapointsReply.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
+ factory UpdateDatapointsReply.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
+
+ static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'UpdateDatapointsReply', package: const $pb.PackageName(_omitMessageNames ? '' : 'sdv.databroker.v1'), createEmptyInstance: create)
+ ..m<$core.int, $3.DatapointError>(1, _omitFieldNames ? '' : 'errors', entryClassName: 'UpdateDatapointsReply.ErrorsEntry', keyFieldType: $pb.PbFieldType.O3, valueFieldType: $pb.PbFieldType.OE, valueOf: $3.DatapointError.valueOf, enumValues: $3.DatapointError.values, valueDefaultOrMaker: $3.DatapointError.UNKNOWN_DATAPOINT, defaultEnumValue: $3.DatapointError.UNKNOWN_DATAPOINT, packageName: const $pb.PackageName('sdv.databroker.v1'))
+ ..hasRequiredFields = false
+ ;
+
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
+ 'Will be removed in next major version')
+ UpdateDatapointsReply clone() => UpdateDatapointsReply()..mergeFromMessage(this);
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
+ 'Will be removed in next major version')
+ UpdateDatapointsReply copyWith(void Function(UpdateDatapointsReply) updates) => super.copyWith((message) => updates(message as UpdateDatapointsReply)) as UpdateDatapointsReply;
+
+ $pb.BuilderInfo get info_ => _i;
+
+ @$core.pragma('dart2js:noInline')
+ static UpdateDatapointsReply create() => UpdateDatapointsReply._();
+ UpdateDatapointsReply createEmptyInstance() => create();
+ static $pb.PbList<UpdateDatapointsReply> createRepeated() => $pb.PbList<UpdateDatapointsReply>();
+ @$core.pragma('dart2js:noInline')
+ static UpdateDatapointsReply getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<UpdateDatapointsReply>(create);
+ static UpdateDatapointsReply? _defaultInstance;
+
+ @$pb.TagNumber(1)
+ $core.Map<$core.int, $3.DatapointError> get errors => $_getMap(0);
+}
+
+class StreamDatapointsRequest extends $pb.GeneratedMessage {
+ factory StreamDatapointsRequest({
+ $core.Map<$core.int, $3.Datapoint>? datapoints,
+ }) {
+ final $result = create();
+ if (datapoints != null) {
+ $result.datapoints.addAll(datapoints);
+ }
+ return $result;
+ }
+ StreamDatapointsRequest._() : super();
+ factory StreamDatapointsRequest.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
+ factory StreamDatapointsRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
+
+ static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'StreamDatapointsRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'sdv.databroker.v1'), createEmptyInstance: create)
+ ..m<$core.int, $3.Datapoint>(1, _omitFieldNames ? '' : 'datapoints', entryClassName: 'StreamDatapointsRequest.DatapointsEntry', keyFieldType: $pb.PbFieldType.O3, valueFieldType: $pb.PbFieldType.OM, valueCreator: $3.Datapoint.create, valueDefaultOrMaker: $3.Datapoint.getDefault, packageName: const $pb.PackageName('sdv.databroker.v1'))
+ ..hasRequiredFields = false
+ ;
+
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
+ 'Will be removed in next major version')
+ StreamDatapointsRequest clone() => StreamDatapointsRequest()..mergeFromMessage(this);
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
+ 'Will be removed in next major version')
+ StreamDatapointsRequest copyWith(void Function(StreamDatapointsRequest) updates) => super.copyWith((message) => updates(message as StreamDatapointsRequest)) as StreamDatapointsRequest;
+
+ $pb.BuilderInfo get info_ => _i;
+
+ @$core.pragma('dart2js:noInline')
+ static StreamDatapointsRequest create() => StreamDatapointsRequest._();
+ StreamDatapointsRequest createEmptyInstance() => create();
+ static $pb.PbList<StreamDatapointsRequest> createRepeated() => $pb.PbList<StreamDatapointsRequest>();
+ @$core.pragma('dart2js:noInline')
+ static StreamDatapointsRequest getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<StreamDatapointsRequest>(create);
+ static StreamDatapointsRequest? _defaultInstance;
+
+ @$pb.TagNumber(1)
+ $core.Map<$core.int, $3.Datapoint> get datapoints => $_getMap(0);
+}
+
+class StreamDatapointsReply extends $pb.GeneratedMessage {
+ factory StreamDatapointsReply({
+ $core.Map<$core.int, $3.DatapointError>? errors,
+ }) {
+ final $result = create();
+ if (errors != null) {
+ $result.errors.addAll(errors);
+ }
+ return $result;
+ }
+ StreamDatapointsReply._() : super();
+ factory StreamDatapointsReply.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
+ factory StreamDatapointsReply.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
+
+ static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'StreamDatapointsReply', package: const $pb.PackageName(_omitMessageNames ? '' : 'sdv.databroker.v1'), createEmptyInstance: create)
+ ..m<$core.int, $3.DatapointError>(1, _omitFieldNames ? '' : 'errors', entryClassName: 'StreamDatapointsReply.ErrorsEntry', keyFieldType: $pb.PbFieldType.O3, valueFieldType: $pb.PbFieldType.OE, valueOf: $3.DatapointError.valueOf, enumValues: $3.DatapointError.values, valueDefaultOrMaker: $3.DatapointError.UNKNOWN_DATAPOINT, defaultEnumValue: $3.DatapointError.UNKNOWN_DATAPOINT, packageName: const $pb.PackageName('sdv.databroker.v1'))
+ ..hasRequiredFields = false
+ ;
+
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
+ 'Will be removed in next major version')
+ StreamDatapointsReply clone() => StreamDatapointsReply()..mergeFromMessage(this);
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
+ 'Will be removed in next major version')
+ StreamDatapointsReply copyWith(void Function(StreamDatapointsReply) updates) => super.copyWith((message) => updates(message as StreamDatapointsReply)) as StreamDatapointsReply;
+
+ $pb.BuilderInfo get info_ => _i;
+
+ @$core.pragma('dart2js:noInline')
+ static StreamDatapointsReply create() => StreamDatapointsReply._();
+ StreamDatapointsReply createEmptyInstance() => create();
+ static $pb.PbList<StreamDatapointsReply> createRepeated() => $pb.PbList<StreamDatapointsReply>();
+ @$core.pragma('dart2js:noInline')
+ static StreamDatapointsReply getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<StreamDatapointsReply>(create);
+ static StreamDatapointsReply? _defaultInstance;
+
+ @$pb.TagNumber(1)
+ $core.Map<$core.int, $3.DatapointError> get errors => $_getMap(0);
+}
+
+class RegisterDatapointsRequest extends $pb.GeneratedMessage {
+ factory RegisterDatapointsRequest({
+ $core.Iterable<RegistrationMetadata>? list,
+ }) {
+ final $result = create();
+ if (list != null) {
+ $result.list.addAll(list);
+ }
+ return $result;
+ }
+ RegisterDatapointsRequest._() : super();
+ factory RegisterDatapointsRequest.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
+ factory RegisterDatapointsRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
+
+ static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'RegisterDatapointsRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'sdv.databroker.v1'), createEmptyInstance: create)
+ ..pc<RegistrationMetadata>(1, _omitFieldNames ? '' : 'list', $pb.PbFieldType.PM, subBuilder: RegistrationMetadata.create)
+ ..hasRequiredFields = false
+ ;
+
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
+ 'Will be removed in next major version')
+ RegisterDatapointsRequest clone() => RegisterDatapointsRequest()..mergeFromMessage(this);
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
+ 'Will be removed in next major version')
+ RegisterDatapointsRequest copyWith(void Function(RegisterDatapointsRequest) updates) => super.copyWith((message) => updates(message as RegisterDatapointsRequest)) as RegisterDatapointsRequest;
+
+ $pb.BuilderInfo get info_ => _i;
+
+ @$core.pragma('dart2js:noInline')
+ static RegisterDatapointsRequest create() => RegisterDatapointsRequest._();
+ RegisterDatapointsRequest createEmptyInstance() => create();
+ static $pb.PbList<RegisterDatapointsRequest> createRepeated() => $pb.PbList<RegisterDatapointsRequest>();
+ @$core.pragma('dart2js:noInline')
+ static RegisterDatapointsRequest getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<RegisterDatapointsRequest>(create);
+ static RegisterDatapointsRequest? _defaultInstance;
+
+ @$pb.TagNumber(1)
+ $core.List<RegistrationMetadata> get list => $_getList(0);
+}
+
+class RegistrationMetadata extends $pb.GeneratedMessage {
+ factory RegistrationMetadata({
+ $core.String? name,
+ $3.DataType? dataType,
+ $core.String? description,
+ $3.ChangeType? changeType,
+ }) {
+ final $result = create();
+ if (name != null) {
+ $result.name = name;
+ }
+ if (dataType != null) {
+ $result.dataType = dataType;
+ }
+ if (description != null) {
+ $result.description = description;
+ }
+ if (changeType != null) {
+ $result.changeType = changeType;
+ }
+ return $result;
+ }
+ RegistrationMetadata._() : super();
+ factory RegistrationMetadata.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
+ factory RegistrationMetadata.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
+
+ static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'RegistrationMetadata', package: const $pb.PackageName(_omitMessageNames ? '' : 'sdv.databroker.v1'), createEmptyInstance: create)
+ ..aOS(1, _omitFieldNames ? '' : 'name')
+ ..e<$3.DataType>(2, _omitFieldNames ? '' : 'dataType', $pb.PbFieldType.OE, defaultOrMaker: $3.DataType.STRING, valueOf: $3.DataType.valueOf, enumValues: $3.DataType.values)
+ ..aOS(3, _omitFieldNames ? '' : 'description')
+ ..e<$3.ChangeType>(4, _omitFieldNames ? '' : 'changeType', $pb.PbFieldType.OE, defaultOrMaker: $3.ChangeType.STATIC, valueOf: $3.ChangeType.valueOf, enumValues: $3.ChangeType.values)
+ ..hasRequiredFields = false
+ ;
+
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
+ 'Will be removed in next major version')
+ RegistrationMetadata clone() => RegistrationMetadata()..mergeFromMessage(this);
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
+ 'Will be removed in next major version')
+ RegistrationMetadata copyWith(void Function(RegistrationMetadata) updates) => super.copyWith((message) => updates(message as RegistrationMetadata)) as RegistrationMetadata;
+
+ $pb.BuilderInfo get info_ => _i;
+
+ @$core.pragma('dart2js:noInline')
+ static RegistrationMetadata create() => RegistrationMetadata._();
+ RegistrationMetadata createEmptyInstance() => create();
+ static $pb.PbList<RegistrationMetadata> createRepeated() => $pb.PbList<RegistrationMetadata>();
+ @$core.pragma('dart2js:noInline')
+ static RegistrationMetadata getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<RegistrationMetadata>(create);
+ static RegistrationMetadata? _defaultInstance;
+
+ /// Name of the data point
+ /// (e.g. "Vehicle.Cabin.Seat.Row1.Pos1.Position" or "Vehicle.Speed")
+ @$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)
+ $3.DataType get dataType => $_getN(1);
+ @$pb.TagNumber(2)
+ set dataType($3.DataType v) { setField(2, v); }
+ @$pb.TagNumber(2)
+ $core.bool hasDataType() => $_has(1);
+ @$pb.TagNumber(2)
+ void clearDataType() => clearField(2);
+
+ @$pb.TagNumber(3)
+ $core.String get description => $_getSZ(2);
+ @$pb.TagNumber(3)
+ set description($core.String v) { $_setString(2, v); }
+ @$pb.TagNumber(3)
+ $core.bool hasDescription() => $_has(2);
+ @$pb.TagNumber(3)
+ void clearDescription() => clearField(3);
+
+ @$pb.TagNumber(4)
+ $3.ChangeType get changeType => $_getN(3);
+ @$pb.TagNumber(4)
+ set changeType($3.ChangeType v) { setField(4, v); }
+ @$pb.TagNumber(4)
+ $core.bool hasChangeType() => $_has(3);
+ @$pb.TagNumber(4)
+ void clearChangeType() => clearField(4);
+}
+
+class RegisterDatapointsReply extends $pb.GeneratedMessage {
+ factory RegisterDatapointsReply({
+ $core.Map<$core.String, $core.int>? results,
+ }) {
+ final $result = create();
+ if (results != null) {
+ $result.results.addAll(results);
+ }
+ return $result;
+ }
+ RegisterDatapointsReply._() : super();
+ factory RegisterDatapointsReply.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
+ factory RegisterDatapointsReply.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
+
+ static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'RegisterDatapointsReply', package: const $pb.PackageName(_omitMessageNames ? '' : 'sdv.databroker.v1'), createEmptyInstance: create)
+ ..m<$core.String, $core.int>(1, _omitFieldNames ? '' : 'results', entryClassName: 'RegisterDatapointsReply.ResultsEntry', keyFieldType: $pb.PbFieldType.OS, valueFieldType: $pb.PbFieldType.O3, packageName: const $pb.PackageName('sdv.databroker.v1'))
+ ..hasRequiredFields = false
+ ;
+
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
+ 'Will be removed in next major version')
+ RegisterDatapointsReply clone() => RegisterDatapointsReply()..mergeFromMessage(this);
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
+ 'Will be removed in next major version')
+ RegisterDatapointsReply copyWith(void Function(RegisterDatapointsReply) updates) => super.copyWith((message) => updates(message as RegisterDatapointsReply)) as RegisterDatapointsReply;
+
+ $pb.BuilderInfo get info_ => _i;
+
+ @$core.pragma('dart2js:noInline')
+ static RegisterDatapointsReply create() => RegisterDatapointsReply._();
+ RegisterDatapointsReply createEmptyInstance() => create();
+ static $pb.PbList<RegisterDatapointsReply> createRepeated() => $pb.PbList<RegisterDatapointsReply>();
+ @$core.pragma('dart2js:noInline')
+ static RegisterDatapointsReply getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<RegisterDatapointsReply>(create);
+ static RegisterDatapointsReply? _defaultInstance;
+
+ /// Maps each data point name passed in RegisterDatapointsRequest to a data point id
+ @$pb.TagNumber(1)
+ $core.Map<$core.String, $core.int> get results => $_getMap(0);
+}
+
+
+const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names');
+const _omitMessageNames = $core.bool.fromEnvironment('protobuf.omit_message_names');
diff --git a/protos/lib/src/generated/sdv/databroker/v1/collector.pbenum.dart b/protos/lib/src/generated/sdv/databroker/v1/collector.pbenum.dart
new file mode 100644
index 0000000..6b4cef3
--- /dev/null
+++ b/protos/lib/src/generated/sdv/databroker/v1/collector.pbenum.dart
@@ -0,0 +1,11 @@
+//
+// Generated code. Do not modify.
+// source: sdv/databroker/v1/collector.proto
+//
+// @dart = 2.12
+
+// ignore_for_file: annotate_overrides, camel_case_types, comment_references
+// ignore_for_file: constant_identifier_names, library_prefixes
+// ignore_for_file: non_constant_identifier_names, prefer_final_fields
+// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
+
diff --git a/protos/lib/src/generated/sdv/databroker/v1/collector.pbgrpc.dart b/protos/lib/src/generated/sdv/databroker/v1/collector.pbgrpc.dart
new file mode 100644
index 0000000..843cff2
--- /dev/null
+++ b/protos/lib/src/generated/sdv/databroker/v1/collector.pbgrpc.dart
@@ -0,0 +1,95 @@
+//
+// Generated code. Do not modify.
+// source: sdv/databroker/v1/collector.proto
+//
+// @dart = 2.12
+
+// ignore_for_file: annotate_overrides, camel_case_types, comment_references
+// ignore_for_file: constant_identifier_names, library_prefixes
+// ignore_for_file: non_constant_identifier_names, prefer_final_fields
+// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
+
+import 'dart:async' as $async;
+import 'dart:core' as $core;
+
+import 'package:grpc/service_api.dart' as $grpc;
+import 'package:protobuf/protobuf.dart' as $pb;
+
+import 'collector.pb.dart' as $1;
+
+export 'collector.pb.dart';
+
+@$pb.GrpcServiceName('sdv.databroker.v1.Collector')
+class CollectorClient extends $grpc.Client {
+ static final _$registerDatapoints = $grpc.ClientMethod<$1.RegisterDatapointsRequest, $1.RegisterDatapointsReply>(
+ '/sdv.databroker.v1.Collector/RegisterDatapoints',
+ ($1.RegisterDatapointsRequest value) => value.writeToBuffer(),
+ ($core.List<$core.int> value) => $1.RegisterDatapointsReply.fromBuffer(value));
+ static final _$updateDatapoints = $grpc.ClientMethod<$1.UpdateDatapointsRequest, $1.UpdateDatapointsReply>(
+ '/sdv.databroker.v1.Collector/UpdateDatapoints',
+ ($1.UpdateDatapointsRequest value) => value.writeToBuffer(),
+ ($core.List<$core.int> value) => $1.UpdateDatapointsReply.fromBuffer(value));
+ static final _$streamDatapoints = $grpc.ClientMethod<$1.StreamDatapointsRequest, $1.StreamDatapointsReply>(
+ '/sdv.databroker.v1.Collector/StreamDatapoints',
+ ($1.StreamDatapointsRequest value) => value.writeToBuffer(),
+ ($core.List<$core.int> value) => $1.StreamDatapointsReply.fromBuffer(value));
+
+ CollectorClient($grpc.ClientChannel channel,
+ {$grpc.CallOptions? options,
+ $core.Iterable<$grpc.ClientInterceptor>? interceptors})
+ : super(channel, options: options,
+ interceptors: interceptors);
+
+ $grpc.ResponseFuture<$1.RegisterDatapointsReply> registerDatapoints($1.RegisterDatapointsRequest request, {$grpc.CallOptions? options}) {
+ return $createUnaryCall(_$registerDatapoints, request, options: options);
+ }
+
+ $grpc.ResponseFuture<$1.UpdateDatapointsReply> updateDatapoints($1.UpdateDatapointsRequest request, {$grpc.CallOptions? options}) {
+ return $createUnaryCall(_$updateDatapoints, request, options: options);
+ }
+
+ $grpc.ResponseStream<$1.StreamDatapointsReply> streamDatapoints($async.Stream<$1.StreamDatapointsRequest> request, {$grpc.CallOptions? options}) {
+ return $createStreamingCall(_$streamDatapoints, request, options: options);
+ }
+}
+
+@$pb.GrpcServiceName('sdv.databroker.v1.Collector')
+abstract class CollectorServiceBase extends $grpc.Service {
+ $core.String get $name => 'sdv.databroker.v1.Collector';
+
+ CollectorServiceBase() {
+ $addMethod($grpc.ServiceMethod<$1.RegisterDatapointsRequest, $1.RegisterDatapointsReply>(
+ 'RegisterDatapoints',
+ registerDatapoints_Pre,
+ false,
+ false,
+ ($core.List<$core.int> value) => $1.RegisterDatapointsRequest.fromBuffer(value),
+ ($1.RegisterDatapointsReply value) => value.writeToBuffer()));
+ $addMethod($grpc.ServiceMethod<$1.UpdateDatapointsRequest, $1.UpdateDatapointsReply>(
+ 'UpdateDatapoints',
+ updateDatapoints_Pre,
+ false,
+ false,
+ ($core.List<$core.int> value) => $1.UpdateDatapointsRequest.fromBuffer(value),
+ ($1.UpdateDatapointsReply value) => value.writeToBuffer()));
+ $addMethod($grpc.ServiceMethod<$1.StreamDatapointsRequest, $1.StreamDatapointsReply>(
+ 'StreamDatapoints',
+ streamDatapoints,
+ true,
+ true,
+ ($core.List<$core.int> value) => $1.StreamDatapointsRequest.fromBuffer(value),
+ ($1.StreamDatapointsReply value) => value.writeToBuffer()));
+ }
+
+ $async.Future<$1.RegisterDatapointsReply> registerDatapoints_Pre($grpc.ServiceCall call, $async.Future<$1.RegisterDatapointsRequest> request) async {
+ return registerDatapoints(call, await request);
+ }
+
+ $async.Future<$1.UpdateDatapointsReply> updateDatapoints_Pre($grpc.ServiceCall call, $async.Future<$1.UpdateDatapointsRequest> request) async {
+ return updateDatapoints(call, await request);
+ }
+
+ $async.Future<$1.RegisterDatapointsReply> registerDatapoints($grpc.ServiceCall call, $1.RegisterDatapointsRequest request);
+ $async.Future<$1.UpdateDatapointsReply> updateDatapoints($grpc.ServiceCall call, $1.UpdateDatapointsRequest request);
+ $async.Stream<$1.StreamDatapointsReply> streamDatapoints($grpc.ServiceCall call, $async.Stream<$1.StreamDatapointsRequest> request);
+}
diff --git a/protos/lib/src/generated/sdv/databroker/v1/collector.pbjson.dart b/protos/lib/src/generated/sdv/databroker/v1/collector.pbjson.dart
new file mode 100644
index 0000000..91522a3
--- /dev/null
+++ b/protos/lib/src/generated/sdv/databroker/v1/collector.pbjson.dart
@@ -0,0 +1,176 @@
+//
+// Generated code. Do not modify.
+// source: sdv/databroker/v1/collector.proto
+//
+// @dart = 2.12
+
+// ignore_for_file: annotate_overrides, camel_case_types, comment_references
+// ignore_for_file: constant_identifier_names, library_prefixes
+// ignore_for_file: non_constant_identifier_names, prefer_final_fields
+// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
+
+import 'dart:convert' as $convert;
+import 'dart:core' as $core;
+import 'dart:typed_data' as $typed_data;
+
+@$core.Deprecated('Use updateDatapointsRequestDescriptor instead')
+const UpdateDatapointsRequest$json = {
+ '1': 'UpdateDatapointsRequest',
+ '2': [
+ {'1': 'datapoints', '3': 1, '4': 3, '5': 11, '6': '.sdv.databroker.v1.UpdateDatapointsRequest.DatapointsEntry', '10': 'datapoints'},
+ ],
+ '3': [UpdateDatapointsRequest_DatapointsEntry$json],
+};
+
+@$core.Deprecated('Use updateDatapointsRequestDescriptor instead')
+const UpdateDatapointsRequest_DatapointsEntry$json = {
+ '1': 'DatapointsEntry',
+ '2': [
+ {'1': 'key', '3': 1, '4': 1, '5': 5, '10': 'key'},
+ {'1': 'value', '3': 2, '4': 1, '5': 11, '6': '.sdv.databroker.v1.Datapoint', '10': 'value'},
+ ],
+ '7': {'7': true},
+};
+
+/// Descriptor for `UpdateDatapointsRequest`. Decode as a `google.protobuf.DescriptorProto`.
+final $typed_data.Uint8List updateDatapointsRequestDescriptor = $convert.base64Decode(
+ 'ChdVcGRhdGVEYXRhcG9pbnRzUmVxdWVzdBJaCgpkYXRhcG9pbnRzGAEgAygLMjouc2R2LmRhdG'
+ 'Ficm9rZXIudjEuVXBkYXRlRGF0YXBvaW50c1JlcXVlc3QuRGF0YXBvaW50c0VudHJ5UgpkYXRh'
+ 'cG9pbnRzGlsKD0RhdGFwb2ludHNFbnRyeRIQCgNrZXkYASABKAVSA2tleRIyCgV2YWx1ZRgCIA'
+ 'EoCzIcLnNkdi5kYXRhYnJva2VyLnYxLkRhdGFwb2ludFIFdmFsdWU6AjgB');
+
+@$core.Deprecated('Use updateDatapointsReplyDescriptor instead')
+const UpdateDatapointsReply$json = {
+ '1': 'UpdateDatapointsReply',
+ '2': [
+ {'1': 'errors', '3': 1, '4': 3, '5': 11, '6': '.sdv.databroker.v1.UpdateDatapointsReply.ErrorsEntry', '10': 'errors'},
+ ],
+ '3': [UpdateDatapointsReply_ErrorsEntry$json],
+};
+
+@$core.Deprecated('Use updateDatapointsReplyDescriptor instead')
+const UpdateDatapointsReply_ErrorsEntry$json = {
+ '1': 'ErrorsEntry',
+ '2': [
+ {'1': 'key', '3': 1, '4': 1, '5': 5, '10': 'key'},
+ {'1': 'value', '3': 2, '4': 1, '5': 14, '6': '.sdv.databroker.v1.DatapointError', '10': 'value'},
+ ],
+ '7': {'7': true},
+};
+
+/// Descriptor for `UpdateDatapointsReply`. Decode as a `google.protobuf.DescriptorProto`.
+final $typed_data.Uint8List updateDatapointsReplyDescriptor = $convert.base64Decode(
+ 'ChVVcGRhdGVEYXRhcG9pbnRzUmVwbHkSTAoGZXJyb3JzGAEgAygLMjQuc2R2LmRhdGFicm9rZX'
+ 'IudjEuVXBkYXRlRGF0YXBvaW50c1JlcGx5LkVycm9yc0VudHJ5UgZlcnJvcnMaXAoLRXJyb3Jz'
+ 'RW50cnkSEAoDa2V5GAEgASgFUgNrZXkSNwoFdmFsdWUYAiABKA4yIS5zZHYuZGF0YWJyb2tlci'
+ '52MS5EYXRhcG9pbnRFcnJvclIFdmFsdWU6AjgB');
+
+@$core.Deprecated('Use streamDatapointsRequestDescriptor instead')
+const StreamDatapointsRequest$json = {
+ '1': 'StreamDatapointsRequest',
+ '2': [
+ {'1': 'datapoints', '3': 1, '4': 3, '5': 11, '6': '.sdv.databroker.v1.StreamDatapointsRequest.DatapointsEntry', '10': 'datapoints'},
+ ],
+ '3': [StreamDatapointsRequest_DatapointsEntry$json],
+};
+
+@$core.Deprecated('Use streamDatapointsRequestDescriptor instead')
+const StreamDatapointsRequest_DatapointsEntry$json = {
+ '1': 'DatapointsEntry',
+ '2': [
+ {'1': 'key', '3': 1, '4': 1, '5': 5, '10': 'key'},
+ {'1': 'value', '3': 2, '4': 1, '5': 11, '6': '.sdv.databroker.v1.Datapoint', '10': 'value'},
+ ],
+ '7': {'7': true},
+};
+
+/// Descriptor for `StreamDatapointsRequest`. Decode as a `google.protobuf.DescriptorProto`.
+final $typed_data.Uint8List streamDatapointsRequestDescriptor = $convert.base64Decode(
+ 'ChdTdHJlYW1EYXRhcG9pbnRzUmVxdWVzdBJaCgpkYXRhcG9pbnRzGAEgAygLMjouc2R2LmRhdG'
+ 'Ficm9rZXIudjEuU3RyZWFtRGF0YXBvaW50c1JlcXVlc3QuRGF0YXBvaW50c0VudHJ5UgpkYXRh'
+ 'cG9pbnRzGlsKD0RhdGFwb2ludHNFbnRyeRIQCgNrZXkYASABKAVSA2tleRIyCgV2YWx1ZRgCIA'
+ 'EoCzIcLnNkdi5kYXRhYnJva2VyLnYxLkRhdGFwb2ludFIFdmFsdWU6AjgB');
+
+@$core.Deprecated('Use streamDatapointsReplyDescriptor instead')
+const StreamDatapointsReply$json = {
+ '1': 'StreamDatapointsReply',
+ '2': [
+ {'1': 'errors', '3': 1, '4': 3, '5': 11, '6': '.sdv.databroker.v1.StreamDatapointsReply.ErrorsEntry', '10': 'errors'},
+ ],
+ '3': [StreamDatapointsReply_ErrorsEntry$json],
+};
+
+@$core.Deprecated('Use streamDatapointsReplyDescriptor instead')
+const StreamDatapointsReply_ErrorsEntry$json = {
+ '1': 'ErrorsEntry',
+ '2': [
+ {'1': 'key', '3': 1, '4': 1, '5': 5, '10': 'key'},
+ {'1': 'value', '3': 2, '4': 1, '5': 14, '6': '.sdv.databroker.v1.DatapointError', '10': 'value'},
+ ],
+ '7': {'7': true},
+};
+
+/// Descriptor for `StreamDatapointsReply`. Decode as a `google.protobuf.DescriptorProto`.
+final $typed_data.Uint8List streamDatapointsReplyDescriptor = $convert.base64Decode(
+ 'ChVTdHJlYW1EYXRhcG9pbnRzUmVwbHkSTAoGZXJyb3JzGAEgAygLMjQuc2R2LmRhdGFicm9rZX'
+ 'IudjEuU3RyZWFtRGF0YXBvaW50c1JlcGx5LkVycm9yc0VudHJ5UgZlcnJvcnMaXAoLRXJyb3Jz'
+ 'RW50cnkSEAoDa2V5GAEgASgFUgNrZXkSNwoFdmFsdWUYAiABKA4yIS5zZHYuZGF0YWJyb2tlci'
+ '52MS5EYXRhcG9pbnRFcnJvclIFdmFsdWU6AjgB');
+
+@$core.Deprecated('Use registerDatapointsRequestDescriptor instead')
+const RegisterDatapointsRequest$json = {
+ '1': 'RegisterDatapointsRequest',
+ '2': [
+ {'1': 'list', '3': 1, '4': 3, '5': 11, '6': '.sdv.databroker.v1.RegistrationMetadata', '10': 'list'},
+ ],
+};
+
+/// Descriptor for `RegisterDatapointsRequest`. Decode as a `google.protobuf.DescriptorProto`.
+final $typed_data.Uint8List registerDatapointsRequestDescriptor = $convert.base64Decode(
+ 'ChlSZWdpc3RlckRhdGFwb2ludHNSZXF1ZXN0EjsKBGxpc3QYASADKAsyJy5zZHYuZGF0YWJyb2'
+ 'tlci52MS5SZWdpc3RyYXRpb25NZXRhZGF0YVIEbGlzdA==');
+
+@$core.Deprecated('Use registrationMetadataDescriptor instead')
+const RegistrationMetadata$json = {
+ '1': 'RegistrationMetadata',
+ '2': [
+ {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'},
+ {'1': 'data_type', '3': 2, '4': 1, '5': 14, '6': '.sdv.databroker.v1.DataType', '10': 'dataType'},
+ {'1': 'description', '3': 3, '4': 1, '5': 9, '10': 'description'},
+ {'1': 'change_type', '3': 4, '4': 1, '5': 14, '6': '.sdv.databroker.v1.ChangeType', '10': 'changeType'},
+ ],
+};
+
+/// Descriptor for `RegistrationMetadata`. Decode as a `google.protobuf.DescriptorProto`.
+final $typed_data.Uint8List registrationMetadataDescriptor = $convert.base64Decode(
+ 'ChRSZWdpc3RyYXRpb25NZXRhZGF0YRISCgRuYW1lGAEgASgJUgRuYW1lEjgKCWRhdGFfdHlwZR'
+ 'gCIAEoDjIbLnNkdi5kYXRhYnJva2VyLnYxLkRhdGFUeXBlUghkYXRhVHlwZRIgCgtkZXNjcmlw'
+ 'dGlvbhgDIAEoCVILZGVzY3JpcHRpb24SPgoLY2hhbmdlX3R5cGUYBCABKA4yHS5zZHYuZGF0YW'
+ 'Jyb2tlci52MS5DaGFuZ2VUeXBlUgpjaGFuZ2VUeXBl');
+
+@$core.Deprecated('Use registerDatapointsReplyDescriptor instead')
+const RegisterDatapointsReply$json = {
+ '1': 'RegisterDatapointsReply',
+ '2': [
+ {'1': 'results', '3': 1, '4': 3, '5': 11, '6': '.sdv.databroker.v1.RegisterDatapointsReply.ResultsEntry', '10': 'results'},
+ ],
+ '3': [RegisterDatapointsReply_ResultsEntry$json],
+};
+
+@$core.Deprecated('Use registerDatapointsReplyDescriptor instead')
+const RegisterDatapointsReply_ResultsEntry$json = {
+ '1': 'ResultsEntry',
+ '2': [
+ {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'},
+ {'1': 'value', '3': 2, '4': 1, '5': 5, '10': 'value'},
+ ],
+ '7': {'7': true},
+};
+
+/// Descriptor for `RegisterDatapointsReply`. Decode as a `google.protobuf.DescriptorProto`.
+final $typed_data.Uint8List registerDatapointsReplyDescriptor = $convert.base64Decode(
+ 'ChdSZWdpc3RlckRhdGFwb2ludHNSZXBseRJRCgdyZXN1bHRzGAEgAygLMjcuc2R2LmRhdGFicm'
+ '9rZXIudjEuUmVnaXN0ZXJEYXRhcG9pbnRzUmVwbHkuUmVzdWx0c0VudHJ5UgdyZXN1bHRzGjoK'
+ 'DFJlc3VsdHNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoBVIFdmFsdWU6Aj'
+ 'gB');
+
diff --git a/protos/lib/src/generated/sdv/databroker/v1/types.pb.dart b/protos/lib/src/generated/sdv/databroker/v1/types.pb.dart
new file mode 100644
index 0000000..03ee374
--- /dev/null
+++ b/protos/lib/src/generated/sdv/databroker/v1/types.pb.dart
@@ -0,0 +1,851 @@
+//
+// Generated code. Do not modify.
+// source: sdv/databroker/v1/types.proto
+//
+// @dart = 2.12
+
+// ignore_for_file: annotate_overrides, camel_case_types, comment_references
+// ignore_for_file: constant_identifier_names, library_prefixes
+// ignore_for_file: non_constant_identifier_names, prefer_final_fields
+// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
+
+import 'dart:core' as $core;
+
+// ignore: depend_on_referenced_packages
+import 'package:fixnum/fixnum.dart' as $fixnum;
+import 'package:protobuf/protobuf.dart' as $pb;
+
+import '../../../google/protobuf/timestamp.pb.dart' as $2;
+import 'types.pbenum.dart';
+
+export 'types.pbenum.dart';
+
+class StringArray extends $pb.GeneratedMessage {
+ factory StringArray({
+ $core.Iterable<$core.String>? values,
+ }) {
+ final $result = create();
+ if (values != null) {
+ $result.values.addAll(values);
+ }
+ return $result;
+ }
+ StringArray._() : super();
+ factory StringArray.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
+ factory StringArray.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
+
+ static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'StringArray', package: const $pb.PackageName(_omitMessageNames ? '' : 'sdv.databroker.v1'), createEmptyInstance: create)
+ ..pPS(1, _omitFieldNames ? '' : 'values')
+ ..hasRequiredFields = false
+ ;
+
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
+ 'Will be removed in next major version')
+ StringArray clone() => StringArray()..mergeFromMessage(this);
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
+ 'Will be removed in next major version')
+ StringArray copyWith(void Function(StringArray) updates) => super.copyWith((message) => updates(message as StringArray)) as StringArray;
+
+ $pb.BuilderInfo get info_ => _i;
+
+ @$core.pragma('dart2js:noInline')
+ static StringArray create() => StringArray._();
+ StringArray createEmptyInstance() => create();
+ static $pb.PbList<StringArray> createRepeated() => $pb.PbList<StringArray>();
+ @$core.pragma('dart2js:noInline')
+ static StringArray getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<StringArray>(create);
+ static StringArray? _defaultInstance;
+
+ @$pb.TagNumber(1)
+ $core.List<$core.String> get values => $_getList(0);
+}
+
+class BoolArray extends $pb.GeneratedMessage {
+ factory BoolArray({
+ $core.Iterable<$core.bool>? values,
+ }) {
+ final $result = create();
+ if (values != null) {
+ $result.values.addAll(values);
+ }
+ return $result;
+ }
+ BoolArray._() : super();
+ factory BoolArray.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
+ factory BoolArray.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
+
+ static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'BoolArray', package: const $pb.PackageName(_omitMessageNames ? '' : 'sdv.databroker.v1'), createEmptyInstance: create)
+ ..p<$core.bool>(1, _omitFieldNames ? '' : 'values', $pb.PbFieldType.KB)
+ ..hasRequiredFields = false
+ ;
+
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
+ 'Will be removed in next major version')
+ BoolArray clone() => BoolArray()..mergeFromMessage(this);
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
+ 'Will be removed in next major version')
+ BoolArray copyWith(void Function(BoolArray) updates) => super.copyWith((message) => updates(message as BoolArray)) as BoolArray;
+
+ $pb.BuilderInfo get info_ => _i;
+
+ @$core.pragma('dart2js:noInline')
+ static BoolArray create() => BoolArray._();
+ BoolArray createEmptyInstance() => create();
+ static $pb.PbList<BoolArray> createRepeated() => $pb.PbList<BoolArray>();
+ @$core.pragma('dart2js:noInline')
+ static BoolArray getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<BoolArray>(create);
+ static BoolArray? _defaultInstance;
+
+ @$pb.TagNumber(1)
+ $core.List<$core.bool> get values => $_getList(0);
+}
+
+class Int32Array extends $pb.GeneratedMessage {
+ factory Int32Array({
+ $core.Iterable<$core.int>? values,
+ }) {
+ final $result = create();
+ if (values != null) {
+ $result.values.addAll(values);
+ }
+ return $result;
+ }
+ Int32Array._() : super();
+ factory Int32Array.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
+ factory Int32Array.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
+
+ static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'Int32Array', package: const $pb.PackageName(_omitMessageNames ? '' : 'sdv.databroker.v1'), createEmptyInstance: create)
+ ..p<$core.int>(1, _omitFieldNames ? '' : 'values', $pb.PbFieldType.KS3)
+ ..hasRequiredFields = false
+ ;
+
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
+ 'Will be removed in next major version')
+ Int32Array clone() => Int32Array()..mergeFromMessage(this);
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
+ 'Will be removed in next major version')
+ Int32Array copyWith(void Function(Int32Array) updates) => super.copyWith((message) => updates(message as Int32Array)) as Int32Array;
+
+ $pb.BuilderInfo get info_ => _i;
+
+ @$core.pragma('dart2js:noInline')
+ static Int32Array create() => Int32Array._();
+ Int32Array createEmptyInstance() => create();
+ static $pb.PbList<Int32Array> createRepeated() => $pb.PbList<Int32Array>();
+ @$core.pragma('dart2js:noInline')
+ static Int32Array getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<Int32Array>(create);
+ static Int32Array? _defaultInstance;
+
+ @$pb.TagNumber(1)
+ $core.List<$core.int> get values => $_getList(0);
+}
+
+class Int64Array extends $pb.GeneratedMessage {
+ factory Int64Array({
+ $core.Iterable<$fixnum.Int64>? values,
+ }) {
+ final $result = create();
+ if (values != null) {
+ $result.values.addAll(values);
+ }
+ return $result;
+ }
+ Int64Array._() : super();
+ factory Int64Array.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
+ factory Int64Array.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
+
+ static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'Int64Array', package: const $pb.PackageName(_omitMessageNames ? '' : 'sdv.databroker.v1'), createEmptyInstance: create)
+ ..p<$fixnum.Int64>(1, _omitFieldNames ? '' : 'values', $pb.PbFieldType.KS6)
+ ..hasRequiredFields = false
+ ;
+
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
+ 'Will be removed in next major version')
+ Int64Array clone() => Int64Array()..mergeFromMessage(this);
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
+ 'Will be removed in next major version')
+ Int64Array copyWith(void Function(Int64Array) updates) => super.copyWith((message) => updates(message as Int64Array)) as Int64Array;
+
+ $pb.BuilderInfo get info_ => _i;
+
+ @$core.pragma('dart2js:noInline')
+ static Int64Array create() => Int64Array._();
+ Int64Array createEmptyInstance() => create();
+ static $pb.PbList<Int64Array> createRepeated() => $pb.PbList<Int64Array>();
+ @$core.pragma('dart2js:noInline')
+ static Int64Array getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<Int64Array>(create);
+ static Int64Array? _defaultInstance;
+
+ @$pb.TagNumber(1)
+ $core.List<$fixnum.Int64> get values => $_getList(0);
+}
+
+class Uint32Array extends $pb.GeneratedMessage {
+ factory Uint32Array({
+ $core.Iterable<$core.int>? values,
+ }) {
+ final $result = create();
+ if (values != null) {
+ $result.values.addAll(values);
+ }
+ return $result;
+ }
+ Uint32Array._() : super();
+ factory Uint32Array.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
+ factory Uint32Array.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
+
+ static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'Uint32Array', package: const $pb.PackageName(_omitMessageNames ? '' : 'sdv.databroker.v1'), createEmptyInstance: create)
+ ..p<$core.int>(1, _omitFieldNames ? '' : 'values', $pb.PbFieldType.KU3)
+ ..hasRequiredFields = false
+ ;
+
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
+ 'Will be removed in next major version')
+ Uint32Array clone() => Uint32Array()..mergeFromMessage(this);
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
+ 'Will be removed in next major version')
+ Uint32Array copyWith(void Function(Uint32Array) updates) => super.copyWith((message) => updates(message as Uint32Array)) as Uint32Array;
+
+ $pb.BuilderInfo get info_ => _i;
+
+ @$core.pragma('dart2js:noInline')
+ static Uint32Array create() => Uint32Array._();
+ Uint32Array createEmptyInstance() => create();
+ static $pb.PbList<Uint32Array> createRepeated() => $pb.PbList<Uint32Array>();
+ @$core.pragma('dart2js:noInline')
+ static Uint32Array getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<Uint32Array>(create);
+ static Uint32Array? _defaultInstance;
+
+ @$pb.TagNumber(1)
+ $core.List<$core.int> get values => $_getList(0);
+}
+
+class Uint64Array extends $pb.GeneratedMessage {
+ factory Uint64Array({
+ $core.Iterable<$fixnum.Int64>? values,
+ }) {
+ final $result = create();
+ if (values != null) {
+ $result.values.addAll(values);
+ }
+ return $result;
+ }
+ Uint64Array._() : super();
+ factory Uint64Array.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
+ factory Uint64Array.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
+
+ static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'Uint64Array', package: const $pb.PackageName(_omitMessageNames ? '' : 'sdv.databroker.v1'), createEmptyInstance: create)
+ ..p<$fixnum.Int64>(1, _omitFieldNames ? '' : 'values', $pb.PbFieldType.KU6)
+ ..hasRequiredFields = false
+ ;
+
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
+ 'Will be removed in next major version')
+ Uint64Array clone() => Uint64Array()..mergeFromMessage(this);
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
+ 'Will be removed in next major version')
+ Uint64Array copyWith(void Function(Uint64Array) updates) => super.copyWith((message) => updates(message as Uint64Array)) as Uint64Array;
+
+ $pb.BuilderInfo get info_ => _i;
+
+ @$core.pragma('dart2js:noInline')
+ static Uint64Array create() => Uint64Array._();
+ Uint64Array createEmptyInstance() => create();
+ static $pb.PbList<Uint64Array> createRepeated() => $pb.PbList<Uint64Array>();
+ @$core.pragma('dart2js:noInline')
+ static Uint64Array getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<Uint64Array>(create);
+ static Uint64Array? _defaultInstance;
+
+ @$pb.TagNumber(1)
+ $core.List<$fixnum.Int64> get values => $_getList(0);
+}
+
+class FloatArray extends $pb.GeneratedMessage {
+ factory FloatArray({
+ $core.Iterable<$core.double>? values,
+ }) {
+ final $result = create();
+ if (values != null) {
+ $result.values.addAll(values);
+ }
+ return $result;
+ }
+ FloatArray._() : super();
+ factory FloatArray.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
+ factory FloatArray.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
+
+ static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'FloatArray', package: const $pb.PackageName(_omitMessageNames ? '' : 'sdv.databroker.v1'), createEmptyInstance: create)
+ ..p<$core.double>(1, _omitFieldNames ? '' : 'values', $pb.PbFieldType.KF)
+ ..hasRequiredFields = false
+ ;
+
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
+ 'Will be removed in next major version')
+ FloatArray clone() => FloatArray()..mergeFromMessage(this);
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
+ 'Will be removed in next major version')
+ FloatArray copyWith(void Function(FloatArray) updates) => super.copyWith((message) => updates(message as FloatArray)) as FloatArray;
+
+ $pb.BuilderInfo get info_ => _i;
+
+ @$core.pragma('dart2js:noInline')
+ static FloatArray create() => FloatArray._();
+ FloatArray createEmptyInstance() => create();
+ static $pb.PbList<FloatArray> createRepeated() => $pb.PbList<FloatArray>();
+ @$core.pragma('dart2js:noInline')
+ static FloatArray getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<FloatArray>(create);
+ static FloatArray? _defaultInstance;
+
+ @$pb.TagNumber(1)
+ $core.List<$core.double> get values => $_getList(0);
+}
+
+class DoubleArray extends $pb.GeneratedMessage {
+ factory DoubleArray({
+ $core.Iterable<$core.double>? values,
+ }) {
+ final $result = create();
+ if (values != null) {
+ $result.values.addAll(values);
+ }
+ return $result;
+ }
+ DoubleArray._() : super();
+ factory DoubleArray.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
+ factory DoubleArray.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
+
+ static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'DoubleArray', package: const $pb.PackageName(_omitMessageNames ? '' : 'sdv.databroker.v1'), createEmptyInstance: create)
+ ..p<$core.double>(1, _omitFieldNames ? '' : 'values', $pb.PbFieldType.KD)
+ ..hasRequiredFields = false
+ ;
+
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
+ 'Will be removed in next major version')
+ DoubleArray clone() => DoubleArray()..mergeFromMessage(this);
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
+ 'Will be removed in next major version')
+ DoubleArray copyWith(void Function(DoubleArray) updates) => super.copyWith((message) => updates(message as DoubleArray)) as DoubleArray;
+
+ $pb.BuilderInfo get info_ => _i;
+
+ @$core.pragma('dart2js:noInline')
+ static DoubleArray create() => DoubleArray._();
+ DoubleArray createEmptyInstance() => create();
+ static $pb.PbList<DoubleArray> createRepeated() => $pb.PbList<DoubleArray>();
+ @$core.pragma('dart2js:noInline')
+ static DoubleArray getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<DoubleArray>(create);
+ static DoubleArray? _defaultInstance;
+
+ @$pb.TagNumber(1)
+ $core.List<$core.double> get values => $_getList(0);
+}
+
+enum Datapoint_Value {
+ failureValue,
+ stringValue,
+ boolValue,
+ int32Value,
+ int64Value,
+ uint32Value,
+ uint64Value,
+ floatValue,
+ doubleValue,
+ stringArray,
+ boolArray,
+ int32Array,
+ int64Array,
+ uint32Array,
+ uint64Array,
+ floatArray,
+ doubleArray,
+ notSet
+}
+
+class Datapoint extends $pb.GeneratedMessage {
+ factory Datapoint({
+ $2.Timestamp? timestamp,
+ Datapoint_Failure? failureValue,
+ $core.String? stringValue,
+ $core.bool? boolValue,
+ $core.int? int32Value,
+ $fixnum.Int64? int64Value,
+ $core.int? uint32Value,
+ $fixnum.Int64? uint64Value,
+ $core.double? floatValue,
+ $core.double? doubleValue,
+ StringArray? stringArray,
+ BoolArray? boolArray,
+ Int32Array? int32Array,
+ Int64Array? int64Array,
+ Uint32Array? uint32Array,
+ Uint64Array? uint64Array,
+ FloatArray? floatArray,
+ DoubleArray? doubleArray,
+ }) {
+ final $result = create();
+ if (timestamp != null) {
+ $result.timestamp = timestamp;
+ }
+ if (failureValue != null) {
+ $result.failureValue = failureValue;
+ }
+ if (stringValue != null) {
+ $result.stringValue = stringValue;
+ }
+ if (boolValue != null) {
+ $result.boolValue = boolValue;
+ }
+ if (int32Value != null) {
+ $result.int32Value = int32Value;
+ }
+ if (int64Value != null) {
+ $result.int64Value = int64Value;
+ }
+ if (uint32Value != null) {
+ $result.uint32Value = uint32Value;
+ }
+ if (uint64Value != null) {
+ $result.uint64Value = uint64Value;
+ }
+ if (floatValue != null) {
+ $result.floatValue = floatValue;
+ }
+ if (doubleValue != null) {
+ $result.doubleValue = doubleValue;
+ }
+ if (stringArray != null) {
+ $result.stringArray = stringArray;
+ }
+ if (boolArray != null) {
+ $result.boolArray = boolArray;
+ }
+ if (int32Array != null) {
+ $result.int32Array = int32Array;
+ }
+ if (int64Array != null) {
+ $result.int64Array = int64Array;
+ }
+ if (uint32Array != null) {
+ $result.uint32Array = uint32Array;
+ }
+ if (uint64Array != null) {
+ $result.uint64Array = uint64Array;
+ }
+ if (floatArray != null) {
+ $result.floatArray = floatArray;
+ }
+ if (doubleArray != null) {
+ $result.doubleArray = doubleArray;
+ }
+ return $result;
+ }
+ Datapoint._() : super();
+ factory Datapoint.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
+ factory Datapoint.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
+
+ static const $core.Map<$core.int, Datapoint_Value> _Datapoint_ValueByTag = {
+ 10 : Datapoint_Value.failureValue,
+ 11 : Datapoint_Value.stringValue,
+ 12 : Datapoint_Value.boolValue,
+ 13 : Datapoint_Value.int32Value,
+ 14 : Datapoint_Value.int64Value,
+ 15 : Datapoint_Value.uint32Value,
+ 16 : Datapoint_Value.uint64Value,
+ 17 : Datapoint_Value.floatValue,
+ 18 : Datapoint_Value.doubleValue,
+ 21 : Datapoint_Value.stringArray,
+ 22 : Datapoint_Value.boolArray,
+ 23 : Datapoint_Value.int32Array,
+ 24 : Datapoint_Value.int64Array,
+ 25 : Datapoint_Value.uint32Array,
+ 26 : Datapoint_Value.uint64Array,
+ 27 : Datapoint_Value.floatArray,
+ 28 : Datapoint_Value.doubleArray,
+ 0 : Datapoint_Value.notSet
+ };
+ static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'Datapoint', package: const $pb.PackageName(_omitMessageNames ? '' : 'sdv.databroker.v1'), createEmptyInstance: create)
+ ..oo(0, [10, 11, 12, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24, 25, 26, 27, 28])
+ ..aOM<$2.Timestamp>(1, _omitFieldNames ? '' : 'timestamp', subBuilder: $2.Timestamp.create)
+ ..e<Datapoint_Failure>(10, _omitFieldNames ? '' : 'failureValue', $pb.PbFieldType.OE, defaultOrMaker: Datapoint_Failure.INVALID_VALUE, valueOf: Datapoint_Failure.valueOf, enumValues: Datapoint_Failure.values)
+ ..aOS(11, _omitFieldNames ? '' : 'stringValue')
+ ..aOB(12, _omitFieldNames ? '' : 'boolValue')
+ ..a<$core.int>(13, _omitFieldNames ? '' : 'int32Value', $pb.PbFieldType.OS3)
+ ..a<$fixnum.Int64>(14, _omitFieldNames ? '' : 'int64Value', $pb.PbFieldType.OS6, defaultOrMaker: $fixnum.Int64.ZERO)
+ ..a<$core.int>(15, _omitFieldNames ? '' : 'uint32Value', $pb.PbFieldType.OU3)
+ ..a<$fixnum.Int64>(16, _omitFieldNames ? '' : 'uint64Value', $pb.PbFieldType.OU6, defaultOrMaker: $fixnum.Int64.ZERO)
+ ..a<$core.double>(17, _omitFieldNames ? '' : 'floatValue', $pb.PbFieldType.OF)
+ ..a<$core.double>(18, _omitFieldNames ? '' : 'doubleValue', $pb.PbFieldType.OD)
+ ..aOM<StringArray>(21, _omitFieldNames ? '' : 'stringArray', subBuilder: StringArray.create)
+ ..aOM<BoolArray>(22, _omitFieldNames ? '' : 'boolArray', subBuilder: BoolArray.create)
+ ..aOM<Int32Array>(23, _omitFieldNames ? '' : 'int32Array', subBuilder: Int32Array.create)
+ ..aOM<Int64Array>(24, _omitFieldNames ? '' : 'int64Array', subBuilder: Int64Array.create)
+ ..aOM<Uint32Array>(25, _omitFieldNames ? '' : 'uint32Array', subBuilder: Uint32Array.create)
+ ..aOM<Uint64Array>(26, _omitFieldNames ? '' : 'uint64Array', subBuilder: Uint64Array.create)
+ ..aOM<FloatArray>(27, _omitFieldNames ? '' : 'floatArray', subBuilder: FloatArray.create)
+ ..aOM<DoubleArray>(28, _omitFieldNames ? '' : 'doubleArray', subBuilder: DoubleArray.create)
+ ..hasRequiredFields = false
+ ;
+
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
+ 'Will be removed in next major version')
+ Datapoint clone() => Datapoint()..mergeFromMessage(this);
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
+ 'Will be removed in next major version')
+ Datapoint copyWith(void Function(Datapoint) updates) => super.copyWith((message) => updates(message as Datapoint)) as Datapoint;
+
+ $pb.BuilderInfo get info_ => _i;
+
+ @$core.pragma('dart2js:noInline')
+ static Datapoint create() => Datapoint._();
+ Datapoint createEmptyInstance() => create();
+ static $pb.PbList<Datapoint> createRepeated() => $pb.PbList<Datapoint>();
+ @$core.pragma('dart2js:noInline')
+ static Datapoint getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<Datapoint>(create);
+ static Datapoint? _defaultInstance;
+
+ Datapoint_Value whichValue() => _Datapoint_ValueByTag[$_whichOneof(0)]!;
+ void clearValue() => clearField($_whichOneof(0));
+
+ /// Timestamp of the value
+ @$pb.TagNumber(1)
+ $2.Timestamp get timestamp => $_getN(0);
+ @$pb.TagNumber(1)
+ set timestamp($2.Timestamp v) { setField(1, v); }
+ @$pb.TagNumber(1)
+ $core.bool hasTimestamp() => $_has(0);
+ @$pb.TagNumber(1)
+ void clearTimestamp() => clearField(1);
+ @$pb.TagNumber(1)
+ $2.Timestamp ensureTimestamp() => $_ensure(0);
+
+ @$pb.TagNumber(10)
+ Datapoint_Failure get failureValue => $_getN(1);
+ @$pb.TagNumber(10)
+ set failureValue(Datapoint_Failure v) { setField(10, v); }
+ @$pb.TagNumber(10)
+ $core.bool hasFailureValue() => $_has(1);
+ @$pb.TagNumber(10)
+ void clearFailureValue() => clearField(10);
+
+ @$pb.TagNumber(11)
+ $core.String get stringValue => $_getSZ(2);
+ @$pb.TagNumber(11)
+ set stringValue($core.String v) { $_setString(2, v); }
+ @$pb.TagNumber(11)
+ $core.bool hasStringValue() => $_has(2);
+ @$pb.TagNumber(11)
+ void clearStringValue() => clearField(11);
+
+ @$pb.TagNumber(12)
+ $core.bool get boolValue => $_getBF(3);
+ @$pb.TagNumber(12)
+ set boolValue($core.bool v) { $_setBool(3, v); }
+ @$pb.TagNumber(12)
+ $core.bool hasBoolValue() => $_has(3);
+ @$pb.TagNumber(12)
+ void clearBoolValue() => clearField(12);
+
+ @$pb.TagNumber(13)
+ $core.int get int32Value => $_getIZ(4);
+ @$pb.TagNumber(13)
+ set int32Value($core.int v) { $_setSignedInt32(4, v); }
+ @$pb.TagNumber(13)
+ $core.bool hasInt32Value() => $_has(4);
+ @$pb.TagNumber(13)
+ void clearInt32Value() => clearField(13);
+
+ @$pb.TagNumber(14)
+ $fixnum.Int64 get int64Value => $_getI64(5);
+ @$pb.TagNumber(14)
+ set int64Value($fixnum.Int64 v) { $_setInt64(5, v); }
+ @$pb.TagNumber(14)
+ $core.bool hasInt64Value() => $_has(5);
+ @$pb.TagNumber(14)
+ void clearInt64Value() => clearField(14);
+
+ @$pb.TagNumber(15)
+ $core.int get uint32Value => $_getIZ(6);
+ @$pb.TagNumber(15)
+ set uint32Value($core.int v) { $_setUnsignedInt32(6, v); }
+ @$pb.TagNumber(15)
+ $core.bool hasUint32Value() => $_has(6);
+ @$pb.TagNumber(15)
+ void clearUint32Value() => clearField(15);
+
+ @$pb.TagNumber(16)
+ $fixnum.Int64 get uint64Value => $_getI64(7);
+ @$pb.TagNumber(16)
+ set uint64Value($fixnum.Int64 v) { $_setInt64(7, v); }
+ @$pb.TagNumber(16)
+ $core.bool hasUint64Value() => $_has(7);
+ @$pb.TagNumber(16)
+ void clearUint64Value() => clearField(16);
+
+ @$pb.TagNumber(17)
+ $core.double get floatValue => $_getN(8);
+ @$pb.TagNumber(17)
+ set floatValue($core.double v) { $_setFloat(8, v); }
+ @$pb.TagNumber(17)
+ $core.bool hasFloatValue() => $_has(8);
+ @$pb.TagNumber(17)
+ void clearFloatValue() => clearField(17);
+
+ @$pb.TagNumber(18)
+ $core.double get doubleValue => $_getN(9);
+ @$pb.TagNumber(18)
+ set doubleValue($core.double v) { $_setDouble(9, v); }
+ @$pb.TagNumber(18)
+ $core.bool hasDoubleValue() => $_has(9);
+ @$pb.TagNumber(18)
+ void clearDoubleValue() => clearField(18);
+
+ @$pb.TagNumber(21)
+ StringArray get stringArray => $_getN(10);
+ @$pb.TagNumber(21)
+ set stringArray(StringArray v) { setField(21, v); }
+ @$pb.TagNumber(21)
+ $core.bool hasStringArray() => $_has(10);
+ @$pb.TagNumber(21)
+ void clearStringArray() => clearField(21);
+ @$pb.TagNumber(21)
+ StringArray ensureStringArray() => $_ensure(10);
+
+ @$pb.TagNumber(22)
+ BoolArray get boolArray => $_getN(11);
+ @$pb.TagNumber(22)
+ set boolArray(BoolArray v) { setField(22, v); }
+ @$pb.TagNumber(22)
+ $core.bool hasBoolArray() => $_has(11);
+ @$pb.TagNumber(22)
+ void clearBoolArray() => clearField(22);
+ @$pb.TagNumber(22)
+ BoolArray ensureBoolArray() => $_ensure(11);
+
+ @$pb.TagNumber(23)
+ Int32Array get int32Array => $_getN(12);
+ @$pb.TagNumber(23)
+ set int32Array(Int32Array v) { setField(23, v); }
+ @$pb.TagNumber(23)
+ $core.bool hasInt32Array() => $_has(12);
+ @$pb.TagNumber(23)
+ void clearInt32Array() => clearField(23);
+ @$pb.TagNumber(23)
+ Int32Array ensureInt32Array() => $_ensure(12);
+
+ @$pb.TagNumber(24)
+ Int64Array get int64Array => $_getN(13);
+ @$pb.TagNumber(24)
+ set int64Array(Int64Array v) { setField(24, v); }
+ @$pb.TagNumber(24)
+ $core.bool hasInt64Array() => $_has(13);
+ @$pb.TagNumber(24)
+ void clearInt64Array() => clearField(24);
+ @$pb.TagNumber(24)
+ Int64Array ensureInt64Array() => $_ensure(13);
+
+ @$pb.TagNumber(25)
+ Uint32Array get uint32Array => $_getN(14);
+ @$pb.TagNumber(25)
+ set uint32Array(Uint32Array v) { setField(25, v); }
+ @$pb.TagNumber(25)
+ $core.bool hasUint32Array() => $_has(14);
+ @$pb.TagNumber(25)
+ void clearUint32Array() => clearField(25);
+ @$pb.TagNumber(25)
+ Uint32Array ensureUint32Array() => $_ensure(14);
+
+ @$pb.TagNumber(26)
+ Uint64Array get uint64Array => $_getN(15);
+ @$pb.TagNumber(26)
+ set uint64Array(Uint64Array v) { setField(26, v); }
+ @$pb.TagNumber(26)
+ $core.bool hasUint64Array() => $_has(15);
+ @$pb.TagNumber(26)
+ void clearUint64Array() => clearField(26);
+ @$pb.TagNumber(26)
+ Uint64Array ensureUint64Array() => $_ensure(15);
+
+ @$pb.TagNumber(27)
+ FloatArray get floatArray => $_getN(16);
+ @$pb.TagNumber(27)
+ set floatArray(FloatArray v) { setField(27, v); }
+ @$pb.TagNumber(27)
+ $core.bool hasFloatArray() => $_has(16);
+ @$pb.TagNumber(27)
+ void clearFloatArray() => clearField(27);
+ @$pb.TagNumber(27)
+ FloatArray ensureFloatArray() => $_ensure(16);
+
+ @$pb.TagNumber(28)
+ DoubleArray get doubleArray => $_getN(17);
+ @$pb.TagNumber(28)
+ set doubleArray(DoubleArray v) { setField(28, v); }
+ @$pb.TagNumber(28)
+ $core.bool hasDoubleArray() => $_has(17);
+ @$pb.TagNumber(28)
+ void clearDoubleArray() => clearField(28);
+ @$pb.TagNumber(28)
+ DoubleArray ensureDoubleArray() => $_ensure(17);
+}
+
+class Metadata extends $pb.GeneratedMessage {
+ factory Metadata({
+ $core.int? id,
+ EntryType? entryType,
+ $core.String? name,
+ DataType? dataType,
+ ChangeType? changeType,
+ $core.String? description,
+ }) {
+ final $result = create();
+ if (id != null) {
+ $result.id = id;
+ }
+ if (entryType != null) {
+ $result.entryType = entryType;
+ }
+ if (name != null) {
+ $result.name = name;
+ }
+ if (dataType != null) {
+ $result.dataType = dataType;
+ }
+ if (changeType != null) {
+ $result.changeType = changeType;
+ }
+ if (description != null) {
+ $result.description = description;
+ }
+ return $result;
+ }
+ Metadata._() : super();
+ factory Metadata.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
+ factory Metadata.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
+
+ static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'Metadata', package: const $pb.PackageName(_omitMessageNames ? '' : 'sdv.databroker.v1'), createEmptyInstance: create)
+ ..a<$core.int>(1, _omitFieldNames ? '' : 'id', $pb.PbFieldType.O3)
+ ..e<EntryType>(2, _omitFieldNames ? '' : 'entryType', $pb.PbFieldType.OE, defaultOrMaker: EntryType.ENTRY_TYPE_UNSPECIFIED, valueOf: EntryType.valueOf, enumValues: EntryType.values)
+ ..aOS(4, _omitFieldNames ? '' : 'name')
+ ..e<DataType>(5, _omitFieldNames ? '' : 'dataType', $pb.PbFieldType.OE, defaultOrMaker: DataType.STRING, valueOf: DataType.valueOf, enumValues: DataType.values)
+ ..e<ChangeType>(6, _omitFieldNames ? '' : 'changeType', $pb.PbFieldType.OE, defaultOrMaker: ChangeType.STATIC, valueOf: ChangeType.valueOf, enumValues: ChangeType.values)
+ ..aOS(7, _omitFieldNames ? '' : 'description')
+ ..hasRequiredFields = false
+ ;
+
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
+ 'Will be removed in next major version')
+ Metadata clone() => Metadata()..mergeFromMessage(this);
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
+ 'Will be removed in next major version')
+ Metadata copyWith(void Function(Metadata) updates) => super.copyWith((message) => updates(message as Metadata)) as Metadata;
+
+ $pb.BuilderInfo get info_ => _i;
+
+ @$core.pragma('dart2js:noInline')
+ static Metadata create() => Metadata._();
+ Metadata createEmptyInstance() => create();
+ static $pb.PbList<Metadata> createRepeated() => $pb.PbList<Metadata>();
+ @$core.pragma('dart2js:noInline')
+ static Metadata getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<Metadata>(create);
+ static Metadata? _defaultInstance;
+
+ /// Id to be used in "get" and "subscribe" requests. Ids stay valid during
+ /// one power cycle, only.
+ @$pb.TagNumber(1)
+ $core.int get id => $_getIZ(0);
+ @$pb.TagNumber(1)
+ set id($core.int v) { $_setSignedInt32(0, v); }
+ @$pb.TagNumber(1)
+ $core.bool hasId() => $_has(0);
+ @$pb.TagNumber(1)
+ void clearId() => clearField(1);
+
+ @$pb.TagNumber(2)
+ EntryType get entryType => $_getN(1);
+ @$pb.TagNumber(2)
+ set entryType(EntryType v) { setField(2, v); }
+ @$pb.TagNumber(2)
+ $core.bool hasEntryType() => $_has(1);
+ @$pb.TagNumber(2)
+ void clearEntryType() => clearField(2);
+
+ @$pb.TagNumber(4)
+ $core.String get name => $_getSZ(2);
+ @$pb.TagNumber(4)
+ set name($core.String v) { $_setString(2, v); }
+ @$pb.TagNumber(4)
+ $core.bool hasName() => $_has(2);
+ @$pb.TagNumber(4)
+ void clearName() => clearField(4);
+
+ @$pb.TagNumber(5)
+ DataType get dataType => $_getN(3);
+ @$pb.TagNumber(5)
+ set dataType(DataType v) { setField(5, v); }
+ @$pb.TagNumber(5)
+ $core.bool hasDataType() => $_has(3);
+ @$pb.TagNumber(5)
+ void clearDataType() => clearField(5);
+
+ @$pb.TagNumber(6)
+ ChangeType get changeType => $_getN(4);
+ @$pb.TagNumber(6)
+ set changeType(ChangeType v) { setField(6, v); }
+ @$pb.TagNumber(6)
+ $core.bool hasChangeType() => $_has(4);
+ @$pb.TagNumber(6)
+ void clearChangeType() => clearField(6);
+
+ @$pb.TagNumber(7)
+ $core.String get description => $_getSZ(5);
+ @$pb.TagNumber(7)
+ set description($core.String v) { $_setString(5, v); }
+ @$pb.TagNumber(7)
+ $core.bool hasDescription() => $_has(5);
+ @$pb.TagNumber(7)
+ void clearDescription() => clearField(7);
+}
+
+
+const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names');
+const _omitMessageNames = $core.bool.fromEnvironment('protobuf.omit_message_names');
diff --git a/protos/lib/src/generated/sdv/databroker/v1/types.pbenum.dart b/protos/lib/src/generated/sdv/databroker/v1/types.pbenum.dart
new file mode 100644
index 0000000..b3fc8b4
--- /dev/null
+++ b/protos/lib/src/generated/sdv/databroker/v1/types.pbenum.dart
@@ -0,0 +1,162 @@
+//
+// Generated code. Do not modify.
+// source: sdv/databroker/v1/types.proto
+//
+// @dart = 2.12
+
+// ignore_for_file: annotate_overrides, camel_case_types, comment_references
+// ignore_for_file: constant_identifier_names, library_prefixes
+// ignore_for_file: non_constant_identifier_names, prefer_final_fields
+// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
+
+import 'dart:core' as $core;
+
+import 'package:protobuf/protobuf.dart' as $pb;
+
+/// Data type of a signal
+///
+/// Protobuf doesn't support int8, int16, uint8 or uint16.
+/// These are mapped to sint32 and uint32 respectively.
+class DataType extends $pb.ProtobufEnum {
+ static const DataType STRING = DataType._(0, _omitEnumNames ? '' : 'STRING');
+ static const DataType BOOL = DataType._(1, _omitEnumNames ? '' : 'BOOL');
+ static const DataType INT8 = DataType._(2, _omitEnumNames ? '' : 'INT8');
+ static const DataType INT16 = DataType._(3, _omitEnumNames ? '' : 'INT16');
+ static const DataType INT32 = DataType._(4, _omitEnumNames ? '' : 'INT32');
+ static const DataType INT64 = DataType._(5, _omitEnumNames ? '' : 'INT64');
+ static const DataType UINT8 = DataType._(6, _omitEnumNames ? '' : 'UINT8');
+ static const DataType UINT16 = DataType._(7, _omitEnumNames ? '' : 'UINT16');
+ static const DataType UINT32 = DataType._(8, _omitEnumNames ? '' : 'UINT32');
+ static const DataType UINT64 = DataType._(9, _omitEnumNames ? '' : 'UINT64');
+ static const DataType FLOAT = DataType._(10, _omitEnumNames ? '' : 'FLOAT');
+ static const DataType DOUBLE = DataType._(11, _omitEnumNames ? '' : 'DOUBLE');
+ static const DataType TIMESTAMP = DataType._(12, _omitEnumNames ? '' : 'TIMESTAMP');
+ static const DataType STRING_ARRAY = DataType._(20, _omitEnumNames ? '' : 'STRING_ARRAY');
+ static const DataType BOOL_ARRAY = DataType._(21, _omitEnumNames ? '' : 'BOOL_ARRAY');
+ static const DataType INT8_ARRAY = DataType._(22, _omitEnumNames ? '' : 'INT8_ARRAY');
+ static const DataType INT16_ARRAY = DataType._(23, _omitEnumNames ? '' : 'INT16_ARRAY');
+ static const DataType INT32_ARRAY = DataType._(24, _omitEnumNames ? '' : 'INT32_ARRAY');
+ static const DataType INT64_ARRAY = DataType._(25, _omitEnumNames ? '' : 'INT64_ARRAY');
+ static const DataType UINT8_ARRAY = DataType._(26, _omitEnumNames ? '' : 'UINT8_ARRAY');
+ static const DataType UINT16_ARRAY = DataType._(27, _omitEnumNames ? '' : 'UINT16_ARRAY');
+ static const DataType UINT32_ARRAY = DataType._(28, _omitEnumNames ? '' : 'UINT32_ARRAY');
+ static const DataType UINT64_ARRAY = DataType._(29, _omitEnumNames ? '' : 'UINT64_ARRAY');
+ static const DataType FLOAT_ARRAY = DataType._(30, _omitEnumNames ? '' : 'FLOAT_ARRAY');
+ static const DataType DOUBLE_ARRAY = DataType._(31, _omitEnumNames ? '' : 'DOUBLE_ARRAY');
+ static const DataType TIMESTAMP_ARRAY = DataType._(32, _omitEnumNames ? '' : 'TIMESTAMP_ARRAY');
+
+ static const $core.List<DataType> values = <DataType> [
+ STRING,
+ BOOL,
+ INT8,
+ INT16,
+ INT32,
+ INT64,
+ UINT8,
+ UINT16,
+ UINT32,
+ UINT64,
+ FLOAT,
+ DOUBLE,
+ TIMESTAMP,
+ STRING_ARRAY,
+ BOOL_ARRAY,
+ INT8_ARRAY,
+ INT16_ARRAY,
+ INT32_ARRAY,
+ INT64_ARRAY,
+ UINT8_ARRAY,
+ UINT16_ARRAY,
+ UINT32_ARRAY,
+ UINT64_ARRAY,
+ FLOAT_ARRAY,
+ DOUBLE_ARRAY,
+ TIMESTAMP_ARRAY,
+ ];
+
+ static final $core.Map<$core.int, DataType> _byValue = $pb.ProtobufEnum.initByValue(values);
+ static DataType? valueOf($core.int value) => _byValue[value];
+
+ const DataType._($core.int v, $core.String n) : super(v, n);
+}
+
+class DatapointError extends $pb.ProtobufEnum {
+ static const DatapointError UNKNOWN_DATAPOINT = DatapointError._(0, _omitEnumNames ? '' : 'UNKNOWN_DATAPOINT');
+ static const DatapointError INVALID_TYPE = DatapointError._(1, _omitEnumNames ? '' : 'INVALID_TYPE');
+ static const DatapointError ACCESS_DENIED = DatapointError._(2, _omitEnumNames ? '' : 'ACCESS_DENIED');
+ static const DatapointError INTERNAL_ERROR = DatapointError._(3, _omitEnumNames ? '' : 'INTERNAL_ERROR');
+ static const DatapointError OUT_OF_BOUNDS = DatapointError._(4, _omitEnumNames ? '' : 'OUT_OF_BOUNDS');
+
+ static const $core.List<DatapointError> values = <DatapointError> [
+ UNKNOWN_DATAPOINT,
+ INVALID_TYPE,
+ ACCESS_DENIED,
+ INTERNAL_ERROR,
+ OUT_OF_BOUNDS,
+ ];
+
+ static final $core.Map<$core.int, DatapointError> _byValue = $pb.ProtobufEnum.initByValue(values);
+ static DatapointError? valueOf($core.int value) => _byValue[value];
+
+ const DatapointError._($core.int v, $core.String n) : super(v, n);
+}
+
+class EntryType extends $pb.ProtobufEnum {
+ static const EntryType ENTRY_TYPE_UNSPECIFIED = EntryType._(0, _omitEnumNames ? '' : 'ENTRY_TYPE_UNSPECIFIED');
+ static const EntryType ENTRY_TYPE_SENSOR = EntryType._(1, _omitEnumNames ? '' : 'ENTRY_TYPE_SENSOR');
+ static const EntryType ENTRY_TYPE_ACTUATOR = EntryType._(2, _omitEnumNames ? '' : 'ENTRY_TYPE_ACTUATOR');
+ static const EntryType ENTRY_TYPE_ATTRIBUTE = EntryType._(3, _omitEnumNames ? '' : 'ENTRY_TYPE_ATTRIBUTE');
+
+ static const $core.List<EntryType> values = <EntryType> [
+ ENTRY_TYPE_UNSPECIFIED,
+ ENTRY_TYPE_SENSOR,
+ ENTRY_TYPE_ACTUATOR,
+ ENTRY_TYPE_ATTRIBUTE,
+ ];
+
+ static final $core.Map<$core.int, EntryType> _byValue = $pb.ProtobufEnum.initByValue(values);
+ static EntryType? valueOf($core.int value) => _byValue[value];
+
+ const EntryType._($core.int v, $core.String n) : super(v, n);
+}
+
+class ChangeType extends $pb.ProtobufEnum {
+ static const ChangeType STATIC = ChangeType._(0, _omitEnumNames ? '' : 'STATIC');
+ static const ChangeType ON_CHANGE = ChangeType._(1, _omitEnumNames ? '' : 'ON_CHANGE');
+ static const ChangeType CONTINUOUS = ChangeType._(2, _omitEnumNames ? '' : 'CONTINUOUS');
+
+ static const $core.List<ChangeType> values = <ChangeType> [
+ STATIC,
+ ON_CHANGE,
+ CONTINUOUS,
+ ];
+
+ static final $core.Map<$core.int, ChangeType> _byValue = $pb.ProtobufEnum.initByValue(values);
+ static ChangeType? valueOf($core.int value) => _byValue[value];
+
+ const ChangeType._($core.int v, $core.String n) : super(v, n);
+}
+
+class Datapoint_Failure extends $pb.ProtobufEnum {
+ static const Datapoint_Failure INVALID_VALUE = Datapoint_Failure._(0, _omitEnumNames ? '' : 'INVALID_VALUE');
+ static const Datapoint_Failure NOT_AVAILABLE = Datapoint_Failure._(1, _omitEnumNames ? '' : 'NOT_AVAILABLE');
+ static const Datapoint_Failure UNKNOWN_DATAPOINT = Datapoint_Failure._(2, _omitEnumNames ? '' : 'UNKNOWN_DATAPOINT');
+ static const Datapoint_Failure ACCESS_DENIED = Datapoint_Failure._(3, _omitEnumNames ? '' : 'ACCESS_DENIED');
+ static const Datapoint_Failure INTERNAL_ERROR = Datapoint_Failure._(4, _omitEnumNames ? '' : 'INTERNAL_ERROR');
+
+ static const $core.List<Datapoint_Failure> values = <Datapoint_Failure> [
+ INVALID_VALUE,
+ NOT_AVAILABLE,
+ UNKNOWN_DATAPOINT,
+ ACCESS_DENIED,
+ INTERNAL_ERROR,
+ ];
+
+ static final $core.Map<$core.int, Datapoint_Failure> _byValue = $pb.ProtobufEnum.initByValue(values);
+ static Datapoint_Failure? valueOf($core.int value) => _byValue[value];
+
+ const Datapoint_Failure._($core.int v, $core.String n) : super(v, n);
+}
+
+
+const _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names');
diff --git a/protos/lib/src/generated/sdv/databroker/v1/types.pbjson.dart b/protos/lib/src/generated/sdv/databroker/v1/types.pbjson.dart
new file mode 100644
index 0000000..2cb774f
--- /dev/null
+++ b/protos/lib/src/generated/sdv/databroker/v1/types.pbjson.dart
@@ -0,0 +1,290 @@
+//
+// Generated code. Do not modify.
+// source: sdv/databroker/v1/types.proto
+//
+// @dart = 2.12
+
+// ignore_for_file: annotate_overrides, camel_case_types, comment_references
+// ignore_for_file: constant_identifier_names, library_prefixes
+// ignore_for_file: non_constant_identifier_names, prefer_final_fields
+// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
+
+import 'dart:convert' as $convert;
+import 'dart:core' as $core;
+import 'dart:typed_data' as $typed_data;
+
+@$core.Deprecated('Use dataTypeDescriptor instead')
+const DataType$json = {
+ '1': 'DataType',
+ '2': [
+ {'1': 'STRING', '2': 0},
+ {'1': 'BOOL', '2': 1},
+ {'1': 'INT8', '2': 2},
+ {'1': 'INT16', '2': 3},
+ {'1': 'INT32', '2': 4},
+ {'1': 'INT64', '2': 5},
+ {'1': 'UINT8', '2': 6},
+ {'1': 'UINT16', '2': 7},
+ {'1': 'UINT32', '2': 8},
+ {'1': 'UINT64', '2': 9},
+ {'1': 'FLOAT', '2': 10},
+ {'1': 'DOUBLE', '2': 11},
+ {'1': 'TIMESTAMP', '2': 12},
+ {'1': 'STRING_ARRAY', '2': 20},
+ {'1': 'BOOL_ARRAY', '2': 21},
+ {'1': 'INT8_ARRAY', '2': 22},
+ {'1': 'INT16_ARRAY', '2': 23},
+ {'1': 'INT32_ARRAY', '2': 24},
+ {'1': 'INT64_ARRAY', '2': 25},
+ {'1': 'UINT8_ARRAY', '2': 26},
+ {'1': 'UINT16_ARRAY', '2': 27},
+ {'1': 'UINT32_ARRAY', '2': 28},
+ {'1': 'UINT64_ARRAY', '2': 29},
+ {'1': 'FLOAT_ARRAY', '2': 30},
+ {'1': 'DOUBLE_ARRAY', '2': 31},
+ {'1': 'TIMESTAMP_ARRAY', '2': 32},
+ ],
+};
+
+/// Descriptor for `DataType`. Decode as a `google.protobuf.EnumDescriptorProto`.
+final $typed_data.Uint8List dataTypeDescriptor = $convert.base64Decode(
+ 'CghEYXRhVHlwZRIKCgZTVFJJTkcQABIICgRCT09MEAESCAoESU5UOBACEgkKBUlOVDE2EAMSCQ'
+ 'oFSU5UMzIQBBIJCgVJTlQ2NBAFEgkKBVVJTlQ4EAYSCgoGVUlOVDE2EAcSCgoGVUlOVDMyEAgS'
+ 'CgoGVUlOVDY0EAkSCQoFRkxPQVQQChIKCgZET1VCTEUQCxINCglUSU1FU1RBTVAQDBIQCgxTVF'
+ 'JJTkdfQVJSQVkQFBIOCgpCT09MX0FSUkFZEBUSDgoKSU5UOF9BUlJBWRAWEg8KC0lOVDE2X0FS'
+ 'UkFZEBcSDwoLSU5UMzJfQVJSQVkQGBIPCgtJTlQ2NF9BUlJBWRAZEg8KC1VJTlQ4X0FSUkFZEB'
+ 'oSEAoMVUlOVDE2X0FSUkFZEBsSEAoMVUlOVDMyX0FSUkFZEBwSEAoMVUlOVDY0X0FSUkFZEB0S'
+ 'DwoLRkxPQVRfQVJSQVkQHhIQCgxET1VCTEVfQVJSQVkQHxITCg9USU1FU1RBTVBfQVJSQVkQIA'
+ '==');
+
+@$core.Deprecated('Use datapointErrorDescriptor instead')
+const DatapointError$json = {
+ '1': 'DatapointError',
+ '2': [
+ {'1': 'UNKNOWN_DATAPOINT', '2': 0},
+ {'1': 'INVALID_TYPE', '2': 1},
+ {'1': 'ACCESS_DENIED', '2': 2},
+ {'1': 'INTERNAL_ERROR', '2': 3},
+ {'1': 'OUT_OF_BOUNDS', '2': 4},
+ ],
+};
+
+/// Descriptor for `DatapointError`. Decode as a `google.protobuf.EnumDescriptorProto`.
+final $typed_data.Uint8List datapointErrorDescriptor = $convert.base64Decode(
+ 'Cg5EYXRhcG9pbnRFcnJvchIVChFVTktOT1dOX0RBVEFQT0lOVBAAEhAKDElOVkFMSURfVFlQRR'
+ 'ABEhEKDUFDQ0VTU19ERU5JRUQQAhISCg5JTlRFUk5BTF9FUlJPUhADEhEKDU9VVF9PRl9CT1VO'
+ 'RFMQBA==');
+
+@$core.Deprecated('Use entryTypeDescriptor instead')
+const EntryType$json = {
+ '1': 'EntryType',
+ '2': [
+ {'1': 'ENTRY_TYPE_UNSPECIFIED', '2': 0},
+ {'1': 'ENTRY_TYPE_SENSOR', '2': 1},
+ {'1': 'ENTRY_TYPE_ACTUATOR', '2': 2},
+ {'1': 'ENTRY_TYPE_ATTRIBUTE', '2': 3},
+ ],
+};
+
+/// Descriptor for `EntryType`. Decode as a `google.protobuf.EnumDescriptorProto`.
+final $typed_data.Uint8List entryTypeDescriptor = $convert.base64Decode(
+ 'CglFbnRyeVR5cGUSGgoWRU5UUllfVFlQRV9VTlNQRUNJRklFRBAAEhUKEUVOVFJZX1RZUEVfU0'
+ 'VOU09SEAESFwoTRU5UUllfVFlQRV9BQ1RVQVRPUhACEhgKFEVOVFJZX1RZUEVfQVRUUklCVVRF'
+ 'EAM=');
+
+@$core.Deprecated('Use changeTypeDescriptor instead')
+const ChangeType$json = {
+ '1': 'ChangeType',
+ '2': [
+ {'1': 'STATIC', '2': 0},
+ {'1': 'ON_CHANGE', '2': 1},
+ {'1': 'CONTINUOUS', '2': 2},
+ ],
+};
+
+/// Descriptor for `ChangeType`. Decode as a `google.protobuf.EnumDescriptorProto`.
+final $typed_data.Uint8List changeTypeDescriptor = $convert.base64Decode(
+ 'CgpDaGFuZ2VUeXBlEgoKBlNUQVRJQxAAEg0KCU9OX0NIQU5HRRABEg4KCkNPTlRJTlVPVVMQAg'
+ '==');
+
+@$core.Deprecated('Use stringArrayDescriptor instead')
+const StringArray$json = {
+ '1': 'StringArray',
+ '2': [
+ {'1': 'values', '3': 1, '4': 3, '5': 9, '10': 'values'},
+ ],
+};
+
+/// Descriptor for `StringArray`. Decode as a `google.protobuf.DescriptorProto`.
+final $typed_data.Uint8List stringArrayDescriptor = $convert.base64Decode(
+ 'CgtTdHJpbmdBcnJheRIWCgZ2YWx1ZXMYASADKAlSBnZhbHVlcw==');
+
+@$core.Deprecated('Use boolArrayDescriptor instead')
+const BoolArray$json = {
+ '1': 'BoolArray',
+ '2': [
+ {'1': 'values', '3': 1, '4': 3, '5': 8, '10': 'values'},
+ ],
+};
+
+/// Descriptor for `BoolArray`. Decode as a `google.protobuf.DescriptorProto`.
+final $typed_data.Uint8List boolArrayDescriptor = $convert.base64Decode(
+ 'CglCb29sQXJyYXkSFgoGdmFsdWVzGAEgAygIUgZ2YWx1ZXM=');
+
+@$core.Deprecated('Use int32ArrayDescriptor instead')
+const Int32Array$json = {
+ '1': 'Int32Array',
+ '2': [
+ {'1': 'values', '3': 1, '4': 3, '5': 17, '10': 'values'},
+ ],
+};
+
+/// Descriptor for `Int32Array`. Decode as a `google.protobuf.DescriptorProto`.
+final $typed_data.Uint8List int32ArrayDescriptor = $convert.base64Decode(
+ 'CgpJbnQzMkFycmF5EhYKBnZhbHVlcxgBIAMoEVIGdmFsdWVz');
+
+@$core.Deprecated('Use int64ArrayDescriptor instead')
+const Int64Array$json = {
+ '1': 'Int64Array',
+ '2': [
+ {'1': 'values', '3': 1, '4': 3, '5': 18, '10': 'values'},
+ ],
+};
+
+/// Descriptor for `Int64Array`. Decode as a `google.protobuf.DescriptorProto`.
+final $typed_data.Uint8List int64ArrayDescriptor = $convert.base64Decode(
+ 'CgpJbnQ2NEFycmF5EhYKBnZhbHVlcxgBIAMoElIGdmFsdWVz');
+
+@$core.Deprecated('Use uint32ArrayDescriptor instead')
+const Uint32Array$json = {
+ '1': 'Uint32Array',
+ '2': [
+ {'1': 'values', '3': 1, '4': 3, '5': 13, '10': 'values'},
+ ],
+};
+
+/// Descriptor for `Uint32Array`. Decode as a `google.protobuf.DescriptorProto`.
+final $typed_data.Uint8List uint32ArrayDescriptor = $convert.base64Decode(
+ 'CgtVaW50MzJBcnJheRIWCgZ2YWx1ZXMYASADKA1SBnZhbHVlcw==');
+
+@$core.Deprecated('Use uint64ArrayDescriptor instead')
+const Uint64Array$json = {
+ '1': 'Uint64Array',
+ '2': [
+ {'1': 'values', '3': 1, '4': 3, '5': 4, '10': 'values'},
+ ],
+};
+
+/// Descriptor for `Uint64Array`. Decode as a `google.protobuf.DescriptorProto`.
+final $typed_data.Uint8List uint64ArrayDescriptor = $convert.base64Decode(
+ 'CgtVaW50NjRBcnJheRIWCgZ2YWx1ZXMYASADKARSBnZhbHVlcw==');
+
+@$core.Deprecated('Use floatArrayDescriptor instead')
+const FloatArray$json = {
+ '1': 'FloatArray',
+ '2': [
+ {'1': 'values', '3': 1, '4': 3, '5': 2, '10': 'values'},
+ ],
+};
+
+/// Descriptor for `FloatArray`. Decode as a `google.protobuf.DescriptorProto`.
+final $typed_data.Uint8List floatArrayDescriptor = $convert.base64Decode(
+ 'CgpGbG9hdEFycmF5EhYKBnZhbHVlcxgBIAMoAlIGdmFsdWVz');
+
+@$core.Deprecated('Use doubleArrayDescriptor instead')
+const DoubleArray$json = {
+ '1': 'DoubleArray',
+ '2': [
+ {'1': 'values', '3': 1, '4': 3, '5': 1, '10': 'values'},
+ ],
+};
+
+/// Descriptor for `DoubleArray`. Decode as a `google.protobuf.DescriptorProto`.
+final $typed_data.Uint8List doubleArrayDescriptor = $convert.base64Decode(
+ 'CgtEb3VibGVBcnJheRIWCgZ2YWx1ZXMYASADKAFSBnZhbHVlcw==');
+
+@$core.Deprecated('Use datapointDescriptor instead')
+const Datapoint$json = {
+ '1': 'Datapoint',
+ '2': [
+ {'1': 'timestamp', '3': 1, '4': 1, '5': 11, '6': '.google.protobuf.Timestamp', '10': 'timestamp'},
+ {'1': 'failure_value', '3': 10, '4': 1, '5': 14, '6': '.sdv.databroker.v1.Datapoint.Failure', '9': 0, '10': 'failureValue'},
+ {'1': 'string_value', '3': 11, '4': 1, '5': 9, '9': 0, '10': 'stringValue'},
+ {'1': 'bool_value', '3': 12, '4': 1, '5': 8, '9': 0, '10': 'boolValue'},
+ {'1': 'int32_value', '3': 13, '4': 1, '5': 17, '9': 0, '10': 'int32Value'},
+ {'1': 'int64_value', '3': 14, '4': 1, '5': 18, '9': 0, '10': 'int64Value'},
+ {'1': 'uint32_value', '3': 15, '4': 1, '5': 13, '9': 0, '10': 'uint32Value'},
+ {'1': 'uint64_value', '3': 16, '4': 1, '5': 4, '9': 0, '10': 'uint64Value'},
+ {'1': 'float_value', '3': 17, '4': 1, '5': 2, '9': 0, '10': 'floatValue'},
+ {'1': 'double_value', '3': 18, '4': 1, '5': 1, '9': 0, '10': 'doubleValue'},
+ {'1': 'string_array', '3': 21, '4': 1, '5': 11, '6': '.sdv.databroker.v1.StringArray', '9': 0, '10': 'stringArray'},
+ {'1': 'bool_array', '3': 22, '4': 1, '5': 11, '6': '.sdv.databroker.v1.BoolArray', '9': 0, '10': 'boolArray'},
+ {'1': 'int32_array', '3': 23, '4': 1, '5': 11, '6': '.sdv.databroker.v1.Int32Array', '9': 0, '10': 'int32Array'},
+ {'1': 'int64_array', '3': 24, '4': 1, '5': 11, '6': '.sdv.databroker.v1.Int64Array', '9': 0, '10': 'int64Array'},
+ {'1': 'uint32_array', '3': 25, '4': 1, '5': 11, '6': '.sdv.databroker.v1.Uint32Array', '9': 0, '10': 'uint32Array'},
+ {'1': 'uint64_array', '3': 26, '4': 1, '5': 11, '6': '.sdv.databroker.v1.Uint64Array', '9': 0, '10': 'uint64Array'},
+ {'1': 'float_array', '3': 27, '4': 1, '5': 11, '6': '.sdv.databroker.v1.FloatArray', '9': 0, '10': 'floatArray'},
+ {'1': 'double_array', '3': 28, '4': 1, '5': 11, '6': '.sdv.databroker.v1.DoubleArray', '9': 0, '10': 'doubleArray'},
+ ],
+ '4': [Datapoint_Failure$json],
+ '8': [
+ {'1': 'value'},
+ ],
+};
+
+@$core.Deprecated('Use datapointDescriptor instead')
+const Datapoint_Failure$json = {
+ '1': 'Failure',
+ '2': [
+ {'1': 'INVALID_VALUE', '2': 0},
+ {'1': 'NOT_AVAILABLE', '2': 1},
+ {'1': 'UNKNOWN_DATAPOINT', '2': 2},
+ {'1': 'ACCESS_DENIED', '2': 3},
+ {'1': 'INTERNAL_ERROR', '2': 4},
+ ],
+};
+
+/// Descriptor for `Datapoint`. Decode as a `google.protobuf.DescriptorProto`.
+final $typed_data.Uint8List datapointDescriptor = $convert.base64Decode(
+ 'CglEYXRhcG9pbnQSOAoJdGltZXN0YW1wGAEgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdG'
+ 'FtcFIJdGltZXN0YW1wEksKDWZhaWx1cmVfdmFsdWUYCiABKA4yJC5zZHYuZGF0YWJyb2tlci52'
+ 'MS5EYXRhcG9pbnQuRmFpbHVyZUgAUgxmYWlsdXJlVmFsdWUSIwoMc3RyaW5nX3ZhbHVlGAsgAS'
+ 'gJSABSC3N0cmluZ1ZhbHVlEh8KCmJvb2xfdmFsdWUYDCABKAhIAFIJYm9vbFZhbHVlEiEKC2lu'
+ 'dDMyX3ZhbHVlGA0gASgRSABSCmludDMyVmFsdWUSIQoLaW50NjRfdmFsdWUYDiABKBJIAFIKaW'
+ '50NjRWYWx1ZRIjCgx1aW50MzJfdmFsdWUYDyABKA1IAFILdWludDMyVmFsdWUSIwoMdWludDY0'
+ 'X3ZhbHVlGBAgASgESABSC3VpbnQ2NFZhbHVlEiEKC2Zsb2F0X3ZhbHVlGBEgASgCSABSCmZsb2'
+ 'F0VmFsdWUSIwoMZG91YmxlX3ZhbHVlGBIgASgBSABSC2RvdWJsZVZhbHVlEkMKDHN0cmluZ19h'
+ 'cnJheRgVIAEoCzIeLnNkdi5kYXRhYnJva2VyLnYxLlN0cmluZ0FycmF5SABSC3N0cmluZ0Fycm'
+ 'F5Ej0KCmJvb2xfYXJyYXkYFiABKAsyHC5zZHYuZGF0YWJyb2tlci52MS5Cb29sQXJyYXlIAFIJ'
+ 'Ym9vbEFycmF5EkAKC2ludDMyX2FycmF5GBcgASgLMh0uc2R2LmRhdGFicm9rZXIudjEuSW50Mz'
+ 'JBcnJheUgAUgppbnQzMkFycmF5EkAKC2ludDY0X2FycmF5GBggASgLMh0uc2R2LmRhdGFicm9r'
+ 'ZXIudjEuSW50NjRBcnJheUgAUgppbnQ2NEFycmF5EkMKDHVpbnQzMl9hcnJheRgZIAEoCzIeLn'
+ 'Nkdi5kYXRhYnJva2VyLnYxLlVpbnQzMkFycmF5SABSC3VpbnQzMkFycmF5EkMKDHVpbnQ2NF9h'
+ 'cnJheRgaIAEoCzIeLnNkdi5kYXRhYnJva2VyLnYxLlVpbnQ2NEFycmF5SABSC3VpbnQ2NEFycm'
+ 'F5EkAKC2Zsb2F0X2FycmF5GBsgASgLMh0uc2R2LmRhdGFicm9rZXIudjEuRmxvYXRBcnJheUgA'
+ 'UgpmbG9hdEFycmF5EkMKDGRvdWJsZV9hcnJheRgcIAEoCzIeLnNkdi5kYXRhYnJva2VyLnYxLk'
+ 'RvdWJsZUFycmF5SABSC2RvdWJsZUFycmF5Im0KB0ZhaWx1cmUSEQoNSU5WQUxJRF9WQUxVRRAA'
+ 'EhEKDU5PVF9BVkFJTEFCTEUQARIVChFVTktOT1dOX0RBVEFQT0lOVBACEhEKDUFDQ0VTU19ERU'
+ '5JRUQQAxISCg5JTlRFUk5BTF9FUlJPUhAEQgcKBXZhbHVl');
+
+@$core.Deprecated('Use metadataDescriptor instead')
+const Metadata$json = {
+ '1': 'Metadata',
+ '2': [
+ {'1': 'id', '3': 1, '4': 1, '5': 5, '10': 'id'},
+ {'1': 'entry_type', '3': 2, '4': 1, '5': 14, '6': '.sdv.databroker.v1.EntryType', '10': 'entryType'},
+ {'1': 'name', '3': 4, '4': 1, '5': 9, '10': 'name'},
+ {'1': 'data_type', '3': 5, '4': 1, '5': 14, '6': '.sdv.databroker.v1.DataType', '10': 'dataType'},
+ {'1': 'change_type', '3': 6, '4': 1, '5': 14, '6': '.sdv.databroker.v1.ChangeType', '10': 'changeType'},
+ {'1': 'description', '3': 7, '4': 1, '5': 9, '10': 'description'},
+ ],
+};
+
+/// Descriptor for `Metadata`. Decode as a `google.protobuf.DescriptorProto`.
+final $typed_data.Uint8List metadataDescriptor = $convert.base64Decode(
+ 'CghNZXRhZGF0YRIOCgJpZBgBIAEoBVICaWQSOwoKZW50cnlfdHlwZRgCIAEoDjIcLnNkdi5kYX'
+ 'RhYnJva2VyLnYxLkVudHJ5VHlwZVIJZW50cnlUeXBlEhIKBG5hbWUYBCABKAlSBG5hbWUSOAoJ'
+ 'ZGF0YV90eXBlGAUgASgOMhsuc2R2LmRhdGFicm9rZXIudjEuRGF0YVR5cGVSCGRhdGFUeXBlEj'
+ '4KC2NoYW5nZV90eXBlGAYgASgOMh0uc2R2LmRhdGFicm9rZXIudjEuQ2hhbmdlVHlwZVIKY2hh'
+ 'bmdlVHlwZRIgCgtkZXNjcmlwdGlvbhgHIAEoCVILZGVzY3JpcHRpb24=');
+
diff --git a/protos/lib/src/generated/todo.pb.dart b/protos/lib/src/generated/todo.pb.dart
new file mode 100644
index 0000000..d42a385
--- /dev/null
+++ b/protos/lib/src/generated/todo.pb.dart
@@ -0,0 +1,146 @@
+//
+// Generated code. Do not modify.
+// source: todo.proto
+//
+// @dart = 2.12
+
+// ignore_for_file: annotate_overrides, camel_case_types, comment_references
+// ignore_for_file: constant_identifier_names, library_prefixes
+// ignore_for_file: non_constant_identifier_names, prefer_final_fields
+// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
+
+import 'dart:core' as $core;
+
+import 'package:protobuf/protobuf.dart' as $pb;
+
+class Todo extends $pb.GeneratedMessage {
+ factory Todo({
+ $core.int? id,
+ $core.String? title,
+ $core.bool? completed,
+ }) {
+ final $result = create();
+ if (id != null) {
+ $result.id = id;
+ }
+ if (title != null) {
+ $result.title = title;
+ }
+ if (completed != null) {
+ $result.completed = completed;
+ }
+ return $result;
+ }
+ Todo._() : super();
+ factory Todo.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
+ factory Todo.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
+
+ static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'Todo', createEmptyInstance: create)
+ ..a<$core.int>(1, _omitFieldNames ? '' : 'id', $pb.PbFieldType.O3)
+ ..aOS(2, _omitFieldNames ? '' : 'title')
+ ..aOB(3, _omitFieldNames ? '' : 'completed')
+ ..hasRequiredFields = false
+ ;
+
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
+ 'Will be removed in next major version')
+ Todo clone() => Todo()..mergeFromMessage(this);
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
+ 'Will be removed in next major version')
+ Todo copyWith(void Function(Todo) updates) => super.copyWith((message) => updates(message as Todo)) as Todo;
+
+ $pb.BuilderInfo get info_ => _i;
+
+ @$core.pragma('dart2js:noInline')
+ static Todo create() => Todo._();
+ Todo createEmptyInstance() => create();
+ static $pb.PbList<Todo> createRepeated() => $pb.PbList<Todo>();
+ @$core.pragma('dart2js:noInline')
+ static Todo getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<Todo>(create);
+ static Todo? _defaultInstance;
+
+ @$pb.TagNumber(1)
+ $core.int get id => $_getIZ(0);
+ @$pb.TagNumber(1)
+ set id($core.int v) { $_setSignedInt32(0, v); }
+ @$pb.TagNumber(1)
+ $core.bool hasId() => $_has(0);
+ @$pb.TagNumber(1)
+ void clearId() => clearField(1);
+
+ @$pb.TagNumber(2)
+ $core.String get title => $_getSZ(1);
+ @$pb.TagNumber(2)
+ set title($core.String v) { $_setString(1, v); }
+ @$pb.TagNumber(2)
+ $core.bool hasTitle() => $_has(1);
+ @$pb.TagNumber(2)
+ void clearTitle() => clearField(2);
+
+ @$pb.TagNumber(3)
+ $core.bool get completed => $_getBF(2);
+ @$pb.TagNumber(3)
+ set completed($core.bool v) { $_setBool(2, v); }
+ @$pb.TagNumber(3)
+ $core.bool hasCompleted() => $_has(2);
+ @$pb.TagNumber(3)
+ void clearCompleted() => clearField(3);
+}
+
+class GetTodoByIdRequest extends $pb.GeneratedMessage {
+ factory GetTodoByIdRequest({
+ $core.int? id,
+ }) {
+ final $result = create();
+ if (id != null) {
+ $result.id = id;
+ }
+ return $result;
+ }
+ GetTodoByIdRequest._() : super();
+ factory GetTodoByIdRequest.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
+ factory GetTodoByIdRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
+
+ static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetTodoByIdRequest', createEmptyInstance: create)
+ ..a<$core.int>(1, _omitFieldNames ? '' : 'id', $pb.PbFieldType.O3)
+ ..hasRequiredFields = false
+ ;
+
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
+ 'Will be removed in next major version')
+ GetTodoByIdRequest clone() => GetTodoByIdRequest()..mergeFromMessage(this);
+ @$core.Deprecated(
+ 'Using this can add significant overhead to your binary. '
+ 'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
+ 'Will be removed in next major version')
+ GetTodoByIdRequest copyWith(void Function(GetTodoByIdRequest) updates) => super.copyWith((message) => updates(message as GetTodoByIdRequest)) as GetTodoByIdRequest;
+
+ $pb.BuilderInfo get info_ => _i;
+
+ @$core.pragma('dart2js:noInline')
+ static GetTodoByIdRequest create() => GetTodoByIdRequest._();
+ GetTodoByIdRequest createEmptyInstance() => create();
+ static $pb.PbList<GetTodoByIdRequest> createRepeated() => $pb.PbList<GetTodoByIdRequest>();
+ @$core.pragma('dart2js:noInline')
+ static GetTodoByIdRequest getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<GetTodoByIdRequest>(create);
+ static GetTodoByIdRequest? _defaultInstance;
+
+ @$pb.TagNumber(1)
+ $core.int get id => $_getIZ(0);
+ @$pb.TagNumber(1)
+ set id($core.int v) { $_setSignedInt32(0, v); }
+ @$pb.TagNumber(1)
+ $core.bool hasId() => $_has(0);
+ @$pb.TagNumber(1)
+ void clearId() => clearField(1);
+}
+
+
+const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names');
+const _omitMessageNames = $core.bool.fromEnvironment('protobuf.omit_message_names');
diff --git a/protos/lib/src/generated/todo.pbenum.dart b/protos/lib/src/generated/todo.pbenum.dart
new file mode 100644
index 0000000..9569c62
--- /dev/null
+++ b/protos/lib/src/generated/todo.pbenum.dart
@@ -0,0 +1,11 @@
+//
+// Generated code. Do not modify.
+// source: todo.proto
+//
+// @dart = 2.12
+
+// ignore_for_file: annotate_overrides, camel_case_types, comment_references
+// ignore_for_file: constant_identifier_names, library_prefixes
+// ignore_for_file: non_constant_identifier_names, prefer_final_fields
+// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
+
diff --git a/protos/lib/src/generated/todo.pbgrpc.dart b/protos/lib/src/generated/todo.pbgrpc.dart
new file mode 100644
index 0000000..35e0860
--- /dev/null
+++ b/protos/lib/src/generated/todo.pbgrpc.dart
@@ -0,0 +1,79 @@
+//
+// Generated code. Do not modify.
+// source: todo.proto
+//
+// @dart = 2.12
+
+// ignore_for_file: annotate_overrides, camel_case_types, comment_references
+// ignore_for_file: constant_identifier_names, library_prefixes
+// ignore_for_file: non_constant_identifier_names, prefer_final_fields
+// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
+
+import 'dart:async' as $async;
+import 'dart:core' as $core;
+
+import 'package:grpc/service_api.dart' as $grpc;
+import 'package:protobuf/protobuf.dart' as $pb;
+
+import 'todo.pb.dart' as $0;
+
+export 'todo.pb.dart';
+
+@$pb.GrpcServiceName('TodoService')
+class TodoServiceClient extends $grpc.Client {
+ static final _$getTodo = $grpc.ClientMethod<$0.GetTodoByIdRequest, $0.Todo>(
+ '/TodoService/getTodo',
+ ($0.GetTodoByIdRequest value) => value.writeToBuffer(),
+ ($core.List<$core.int> value) => $0.Todo.fromBuffer(value));
+ static final _$getTodoStream = $grpc.ClientMethod<$0.GetTodoByIdRequest, $0.Todo>(
+ '/TodoService/getTodoStream',
+ ($0.GetTodoByIdRequest value) => value.writeToBuffer(),
+ ($core.List<$core.int> value) => $0.Todo.fromBuffer(value));
+
+ TodoServiceClient($grpc.ClientChannel channel,
+ {$grpc.CallOptions? options,
+ $core.Iterable<$grpc.ClientInterceptor>? interceptors})
+ : super(channel, options: options,
+ interceptors: interceptors);
+
+ $grpc.ResponseFuture<$0.Todo> getTodo($0.GetTodoByIdRequest request, {$grpc.CallOptions? options}) {
+ return $createUnaryCall(_$getTodo, request, options: options);
+ }
+
+ $grpc.ResponseStream<$0.Todo> getTodoStream($0.GetTodoByIdRequest request, {$grpc.CallOptions? options}) {
+ return $createStreamingCall(_$getTodoStream, $async.Stream.fromIterable([request]), options: options);
+ }
+}
+
+@$pb.GrpcServiceName('TodoService')
+abstract class TodoServiceBase extends $grpc.Service {
+ $core.String get $name => 'TodoService';
+
+ TodoServiceBase() {
+ $addMethod($grpc.ServiceMethod<$0.GetTodoByIdRequest, $0.Todo>(
+ 'getTodo',
+ getTodo_Pre,
+ false,
+ false,
+ ($core.List<$core.int> value) => $0.GetTodoByIdRequest.fromBuffer(value),
+ ($0.Todo value) => value.writeToBuffer()));
+ $addMethod($grpc.ServiceMethod<$0.GetTodoByIdRequest, $0.Todo>(
+ 'getTodoStream',
+ getTodoStream_Pre,
+ false,
+ true,
+ ($core.List<$core.int> value) => $0.GetTodoByIdRequest.fromBuffer(value),
+ ($0.Todo value) => value.writeToBuffer()));
+ }
+
+ $async.Future<$0.Todo> getTodo_Pre($grpc.ServiceCall call, $async.Future<$0.GetTodoByIdRequest> request) async {
+ return getTodo(call, await request);
+ }
+
+ $async.Stream<$0.Todo> getTodoStream_Pre($grpc.ServiceCall call, $async.Future<$0.GetTodoByIdRequest> request) async* {
+ yield* getTodoStream(call, await request);
+ }
+
+ $async.Future<$0.Todo> getTodo($grpc.ServiceCall call, $0.GetTodoByIdRequest request);
+ $async.Stream<$0.Todo> getTodoStream($grpc.ServiceCall call, $0.GetTodoByIdRequest request);
+}
diff --git a/protos/lib/src/generated/todo.pbjson.dart b/protos/lib/src/generated/todo.pbjson.dart
new file mode 100644
index 0000000..8d6afaa
--- /dev/null
+++ b/protos/lib/src/generated/todo.pbjson.dart
@@ -0,0 +1,42 @@
+//
+// Generated code. Do not modify.
+// source: todo.proto
+//
+// @dart = 2.12
+
+// ignore_for_file: annotate_overrides, camel_case_types, comment_references
+// ignore_for_file: constant_identifier_names, library_prefixes
+// ignore_for_file: non_constant_identifier_names, prefer_final_fields
+// ignore_for_file: unnecessary_import, unnecessary_this, unused_import
+
+import 'dart:convert' as $convert;
+import 'dart:core' as $core;
+import 'dart:typed_data' as $typed_data;
+
+@$core.Deprecated('Use todoDescriptor instead')
+const Todo$json = {
+ '1': 'Todo',
+ '2': [
+ {'1': 'id', '3': 1, '4': 1, '5': 5, '10': 'id'},
+ {'1': 'title', '3': 2, '4': 1, '5': 9, '10': 'title'},
+ {'1': 'completed', '3': 3, '4': 1, '5': 8, '10': 'completed'},
+ ],
+};
+
+/// Descriptor for `Todo`. Decode as a `google.protobuf.DescriptorProto`.
+final $typed_data.Uint8List todoDescriptor = $convert.base64Decode(
+ 'CgRUb2RvEg4KAmlkGAEgASgFUgJpZBIUCgV0aXRsZRgCIAEoCVIFdGl0bGUSHAoJY29tcGxldG'
+ 'VkGAMgASgIUgljb21wbGV0ZWQ=');
+
+@$core.Deprecated('Use getTodoByIdRequestDescriptor instead')
+const GetTodoByIdRequest$json = {
+ '1': 'GetTodoByIdRequest',
+ '2': [
+ {'1': 'id', '3': 1, '4': 1, '5': 5, '10': 'id'},
+ ],
+};
+
+/// Descriptor for `GetTodoByIdRequest`. Decode as a `google.protobuf.DescriptorProto`.
+final $typed_data.Uint8List getTodoByIdRequestDescriptor = $convert.base64Decode(
+ 'ChJHZXRUb2RvQnlJZFJlcXVlc3QSDgoCaWQYASABKAVSAmlk');
+
diff --git a/protos/protos/car.proto b/protos/protos/car.proto
new file mode 100644
index 0000000..0182ac7
--- /dev/null
+++ b/protos/protos/car.proto
@@ -0,0 +1,24 @@
+syntax = 'proto3';
+
+message Car {
+ int32 id = 1;
+ string title = 2;
+ bool isDriving = 3;
+ int32 carSpeed = 4;
+}
+
+message Temperature{
+ double insideTemp = 1;
+ double outsideTemp = 2;
+}
+
+message GetCarByIdRequest {
+ int32 id = 1;
+}
+service CarService {
+ rpc getCar(GetCarByIdRequest) returns (Car);
+ rpc getCarStream(GetCarByIdRequest) returns (stream Car);
+ rpc getCarTempStream(Temperature) returns (stream Temperature);
+
+}
+
diff --git a/protos/protos/kuksa/val/v1/types.proto b/protos/protos/kuksa/val/v1/types.proto
new file mode 100644
index 0000000..7d309f9
--- /dev/null
+++ b/protos/protos/kuksa/val/v1/types.proto
@@ -0,0 +1,289 @@
+/********************************************************************************
+ * Copyright (c) 2022 Contributors to the Eclipse Foundation
+ *
+ * See the NOTICE file(s) distributed with this work for additional
+ * information regarding copyright ownership.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Apache License 2.0 which is available at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ ********************************************************************************/
+
+ syntax = "proto3";
+
+ // I added V1 as in databroker. Is this good practice?
+ package kuksa.val.v1;
+ import "google/protobuf/timestamp.proto";
+
+ option go_package = "kuksa/val/v1";
+
+ // Describes a VSS entry
+ // When requesting an entry, the amount of information returned can
+ // be controlled by specifying either a `View` or a set of `Field`s.
+ message DataEntry {
+ // Defines the full VSS path of the entry.
+ string path = 1; // [field: FIELD_PATH]
+
+ // The value (datapoint)
+ Datapoint value = 2; // [field: FIELD_VALUE]
+
+ // Actuator target (only used if the entry is an actuator)
+ Datapoint actuator_target = 3; // [field: FIELD_ACTUATOR_TARGET]
+
+ // Metadata for this entry
+ Metadata metadata = 10; // [field: FIELD_METADATA]
+ }
+
+ message Datapoint {
+ google.protobuf.Timestamp timestamp = 1;
+
+ oneof value {
+ string string = 11;
+ bool bool = 12;
+ sint32 int32 = 13;
+ sint64 int64 = 14;
+ uint32 uint32 = 15;
+ uint64 uint64 = 16;
+ float float = 17;
+ double double = 18;
+ StringArray string_array = 21;
+ BoolArray bool_array = 22;
+ Int32Array int32_array = 23;
+ Int64Array int64_array = 24;
+ Uint32Array uint32_array = 25;
+ Uint64Array uint64_array = 26;
+ FloatArray float_array = 27;
+ DoubleArray double_array = 28;
+ }
+ }
+
+ message Metadata {
+ // Data type
+ // The VSS data type of the entry (i.e. the value, min, max etc).
+ //
+ // NOTE: protobuf doesn't have int8, int16, uint8 or uint16 which means
+ // that these values must be serialized as int32 and uint32 respectively.
+ DataType data_type = 11; // [field: FIELD_METADATA_DATA_TYPE]
+
+ // Entry type
+ EntryType entry_type = 12; // [field: FIELD_METADATA_ENTRY_TYPE]
+
+ // Description
+ // Describes the meaning and content of the entry.
+ optional string description = 13; // [field: FIELD_METADATA_DESCRIPTION]
+
+ // Comment [optional]
+ // A comment can be used to provide additional informal information
+ // on a entry.
+ optional string comment = 14; // [field: FIELD_METADATA_COMMENT]
+
+ // Deprecation [optional]
+ // Whether this entry is deprecated. Can contain recommendations of what
+ // to use instead.
+ optional string deprecation = 15; // [field: FIELD_METADATA_DEPRECATION]
+
+ // Unit [optional]
+ // The unit of measurement
+ optional string unit = 16; // [field: FIELD_METADATA_UNIT]
+
+ // Value restrictions [optional]
+ // Restrict which values are allowed.
+ // Only restrictions matching the DataType {datatype} above are valid.
+ ValueRestriction value_restriction = 17; // [field: FIELD_METADATA_VALUE_RESTRICTION]
+
+ // Entry type specific metadata
+ oneof entry_specific {
+ Actuator actuator = 20; // [field: FIELD_METADATA_ACTUATOR]
+ Sensor sensor = 30; // [field: FIELD_METADATA_SENSOR]
+ Attribute attribute = 40; // [field: FIELD_METADATA_ATTRIBUTE]
+ }
+ }
+
+ ///////////////////////
+ // Actuator specific fields
+ message Actuator {
+ // Nothing for now
+ }
+
+ ////////////////////////
+ // Sensor specific
+ message Sensor {
+ // Nothing for now
+ }
+
+ ////////////////////////
+ // Attribute specific
+ message Attribute {
+ // Nothing for now.
+ }
+
+ // Value restriction
+ //
+ // One ValueRestriction{type} for each type, since
+ // they don't make sense unless the types match
+ //
+ message ValueRestriction {
+ oneof type {
+ ValueRestrictionString string = 21;
+ // For signed VSS integers
+ ValueRestrictionInt signed = 22;
+ // For unsigned VSS integers
+ ValueRestrictionUint unsigned = 23;
+ // For floating point VSS values (float and double)
+ ValueRestrictionFloat floating_point = 24;
+ }
+ }
+
+ message ValueRestrictionInt {
+ optional sint64 min = 1;
+ optional sint64 max = 2;
+ repeated sint64 allowed_values = 3;
+ }
+
+ message ValueRestrictionUint {
+ optional uint64 min = 1;
+ optional uint64 max = 2;
+ repeated uint64 allowed_values = 3;
+ }
+
+ message ValueRestrictionFloat {
+ optional double min = 1;
+ optional double max = 2;
+
+ // allowed for doubles/floats not recommended
+ repeated double allowed_values = 3;
+ }
+
+ // min, max doesn't make much sense for a string
+ message ValueRestrictionString {
+ repeated string allowed_values = 3;
+ }
+
+ // VSS Data type of a signal
+ //
+ // Protobuf doesn't support int8, int16, uint8 or uint16.
+ // These are mapped to int32 and uint32 respectively.
+ //
+ enum DataType {
+ DATA_TYPE_UNSPECIFIED = 0;
+ DATA_TYPE_STRING = 1;
+ DATA_TYPE_BOOLEAN = 2;
+ DATA_TYPE_INT8 = 3;
+ DATA_TYPE_INT16 = 4;
+ DATA_TYPE_INT32 = 5;
+ DATA_TYPE_INT64 = 6;
+ DATA_TYPE_UINT8 = 7;
+ DATA_TYPE_UINT16 = 8;
+ DATA_TYPE_UINT32 = 9;
+ DATA_TYPE_UINT64 = 10;
+ DATA_TYPE_FLOAT = 11;
+ DATA_TYPE_DOUBLE = 12;
+ DATA_TYPE_TIMESTAMP = 13;
+ DATA_TYPE_STRING_ARRAY = 20;
+ DATA_TYPE_BOOLEAN_ARRAY = 21;
+ DATA_TYPE_INT8_ARRAY = 22;
+ DATA_TYPE_INT16_ARRAY = 23;
+ DATA_TYPE_INT32_ARRAY = 24;
+ DATA_TYPE_INT64_ARRAY = 25;
+ DATA_TYPE_UINT8_ARRAY = 26;
+ DATA_TYPE_UINT16_ARRAY = 27;
+ DATA_TYPE_UINT32_ARRAY = 28;
+ DATA_TYPE_UINT64_ARRAY = 29;
+ DATA_TYPE_FLOAT_ARRAY = 30;
+ DATA_TYPE_DOUBLE_ARRAY = 31;
+ DATA_TYPE_TIMESTAMP_ARRAY = 32;
+ }
+
+ // Entry type
+ enum EntryType {
+ ENTRY_TYPE_UNSPECIFIED = 0;
+ ENTRY_TYPE_ATTRIBUTE = 1;
+ ENTRY_TYPE_SENSOR = 2;
+ ENTRY_TYPE_ACTUATOR = 3;
+ }
+
+ // A `View` specifies a set of fields which should
+ // be populated in a `DataEntry` (in a response message)
+ enum View {
+ VIEW_UNSPECIFIED = 0; // Unspecified. Equivalent to VIEW_CURRENT_VALUE unless `fields` are explicitly set.
+ VIEW_CURRENT_VALUE = 1; // Populate DataEntry with value.
+ VIEW_TARGET_VALUE = 2; // Populate DataEntry with actuator target.
+ VIEW_METADATA = 3; // Populate DataEntry with metadata.
+ VIEW_FIELDS = 10; // Populate DataEntry only with requested fields.
+ VIEW_ALL = 20; // Populate DataEntry with everything.
+ }
+
+ // A `Field` corresponds to a specific field of a `DataEntry`.
+ //
+ // It can be used to:
+ // * populate only specific fields of a `DataEntry` response.
+ // * specify which fields of a `DataEntry` should be set as
+ // part of a `Set` request.
+ // * subscribe to only specific fields of a data entry.
+ // * convey which fields of an updated `DataEntry` have changed.
+ enum Field {
+ FIELD_UNSPECIFIED = 0; // "*" i.e. everything
+ FIELD_PATH = 1; // path
+ FIELD_VALUE = 2; // value
+ FIELD_ACTUATOR_TARGET = 3; // actuator_target
+ FIELD_METADATA = 10; // metadata.*
+ FIELD_METADATA_DATA_TYPE = 11; // metadata.data_type
+ FIELD_METADATA_DESCRIPTION = 12; // metadata.description
+ FIELD_METADATA_ENTRY_TYPE = 13; // metadata.entry_type
+ FIELD_METADATA_COMMENT = 14; // metadata.comment
+ FIELD_METADATA_DEPRECATION = 15; // metadata.deprecation
+ FIELD_METADATA_UNIT = 16; // metadata.unit
+ FIELD_METADATA_VALUE_RESTRICTION = 17; // metadata.value_restriction.*
+ FIELD_METADATA_ACTUATOR = 20; // metadata.actuator.*
+ FIELD_METADATA_SENSOR = 30; // metadata.sensor.*
+ FIELD_METADATA_ATTRIBUTE = 40; // metadata.attribute.*
+ }
+
+ // Error response shall be an HTTP-like code.
+ // Should follow https://www.w3.org/TR/viss2-transport/#status-codes.
+ message Error {
+ uint32 code = 1;
+ string reason = 2;
+ string message = 3;
+ }
+
+ // Used in get/set requests to report errors for specific entries
+ message DataEntryError {
+ string path = 1; // vss path
+ Error error = 2;
+ }
+
+ message StringArray {
+ repeated string values = 1;
+ }
+
+ message BoolArray {
+ repeated bool values = 1;
+ }
+
+ message Int32Array {
+ repeated sint32 values = 1;
+ }
+
+ message Int64Array {
+ repeated sint64 values = 1;
+ }
+
+ message Uint32Array {
+ repeated uint32 values = 1;
+ }
+
+ message Uint64Array {
+ repeated uint64 values = 1;
+ }
+
+ message FloatArray {
+ repeated float values = 1;
+ }
+
+ message DoubleArray {
+ repeated double values = 1;
+ }
+ \ No newline at end of file
diff --git a/protos/protos/kuksa/val/v1/val.proto b/protos/protos/kuksa/val/v1/val.proto
new file mode 100644
index 0000000..000cc12
--- /dev/null
+++ b/protos/protos/kuksa/val/v1/val.proto
@@ -0,0 +1,115 @@
+/********************************************************************************
+ * Copyright (c) 2022 Contributors to the Eclipse Foundation
+ *
+ * See the NOTICE file(s) distributed with this work for additional
+ * information regarding copyright ownership.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Apache License 2.0 which is available at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ ********************************************************************************/
+
+ syntax = "proto3";
+
+ package kuksa.val.v1;
+
+ option go_package = "kuksa/val/v1";
+
+ import "kuksa/val/v1/types.proto";
+
+ // Note on authorization:
+ // Tokens (auth-token or auth-uuid) are sent as (GRPC / http2) metadata.
+ //
+ // The auth-token is a JWT compliant token as the examples found here:
+ // https://github.com/eclipse/kuksa.val/tree/master/kuksa_certificates/jwt
+ //
+ // See also https://github.com/eclipse/kuksa.val/blob/master/doc/jwt.md
+ //
+ // Upon reception of auth-token, server shall generate an auth-uuid in metadata
+ // that the client can use instead of auth-token in subsequent calls.
+
+ service VAL {
+ // Get entries
+ rpc Get(GetRequest) returns (GetResponse);
+
+ // Set entries
+ rpc Set(SetRequest) returns (SetResponse);
+
+ // Subscribe to a set of entries
+ //
+ // Returns a stream of notifications.
+ //
+ // InvalidArgument is returned if the request is malformed.
+ rpc Subscribe(SubscribeRequest) returns (stream SubscribeResponse);
+
+ // Shall return information that allows the client to determine
+ // what server/server implementation/version it is talking to
+ // eg. kuksa-databroker 0.5.1
+ rpc GetServerInfo(GetServerInfoRequest) returns (GetServerInfoResponse);
+ }
+
+ // Define which data we want
+ message EntryRequest {
+ string path = 1;
+ View view = 2;
+ repeated Field fields = 3;
+ }
+
+ // Request a set of entries.
+ message GetRequest {
+ repeated EntryRequest entries = 1;
+ }
+
+ // Global errors are specified in `error`.
+ // Errors for individual entries are specified in `errors`.
+ message GetResponse {
+ repeated DataEntry entries = 1;
+ repeated DataEntryError errors = 2;
+ Error error = 3;
+ }
+
+ // Define the data we want to set
+ message EntryUpdate {
+ DataEntry entry = 1;
+ repeated Field fields = 2;
+ }
+
+ // A list of entries to be updated
+ message SetRequest {
+ repeated EntryUpdate updates = 1;
+ }
+
+ // Global errors are specified in `error`.
+ // Errors for individual entries are specified in `errors`.
+ message SetResponse {
+ Error error = 1;
+ repeated DataEntryError errors = 2;
+ }
+
+ // Define what to subscribe to
+ message SubscribeEntry {
+ string path = 1;
+ View view = 2;
+ repeated Field fields = 3;
+ }
+
+ // Subscribe to changes in datapoints.
+ message SubscribeRequest {
+ repeated SubscribeEntry entries = 1;
+ }
+
+ // A subscription response
+ message SubscribeResponse {
+ repeated EntryUpdate updates = 1;
+ }
+
+ message GetServerInfoRequest {
+ // Nothing yet
+ }
+
+ message GetServerInfoResponse {
+ string name = 1;
+ string version = 2;
+ } \ No newline at end of file
diff --git a/protos/protos/sdv/databroker/v1/broker.proto b/protos/protos/sdv/databroker/v1/broker.proto
new file mode 100644
index 0000000..f8ffaf8
--- /dev/null
+++ b/protos/protos/sdv/databroker/v1/broker.proto
@@ -0,0 +1,96 @@
+/********************************************************************************
+ * Copyright (c) 2022 Contributors to the Eclipse Foundation
+ *
+ * See the NOTICE file(s) distributed with this work for additional
+ * information regarding copyright ownership.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Apache License 2.0 which is available at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ ********************************************************************************/
+
+syntax = "proto3";
+
+package sdv.databroker.v1;
+
+import "sdv/databroker/v1/types.proto";
+
+service Broker {
+ // Request a set of datapoints (values)
+ //
+ // Returns a list of requested data points.
+ //
+ // InvalidArgument is returned if the request is malformed.
+ rpc GetDatapoints(GetDatapointsRequest) returns (GetDatapointsReply);
+
+ // Set a datapoint (values)
+ rpc SetDatapoints(SetDatapointsRequest) returns (SetDatapointsReply);
+
+ // Subscribe to a set of data points or conditional expressions
+ // using the Data Broker Query Syntax (described in QUERY.md)
+ //
+ // Returns a stream of replies.
+ //
+ // InvalidArgument is returned if the request is malformed.
+ rpc Subscribe(SubscribeRequest) returns (stream SubscribeReply);
+
+ // Request the metadata of a set of datapoints
+ //
+ // Returns metadata of the requested data points that exist.
+ rpc GetMetadata(GetMetadataRequest) returns (GetMetadataReply);
+}
+
+message GetDatapointsRequest {
+ // A list of requested data points.
+ repeated string datapoints = 1;
+}
+
+message GetDatapointsReply {
+ // Contains the values of the requested data points.
+ // If a requested data point is not available, the corresponding Datapoint
+ // will have the respective failure value set.
+ map<string, Datapoint> datapoints = 1;
+}
+
+message SetDatapointsRequest {
+ // A map of data points to set
+ map<string, Datapoint> datapoints = 1;
+}
+
+message SetDatapointsReply {
+ // A map of errors (if any)
+ map<string, DatapointError> errors = 1;
+}
+
+message SubscribeRequest {
+ // Subscribe to a set of data points (or expressions) described
+ // by the provided query.
+ // The query syntax is a subset of SQL and is described in more
+ // detail in the QUERY.md file.
+ string query = 2;
+}
+
+message SubscribeReply {
+ // Contains the fields specified by the query.
+ // If a requested data point value is not available, the corresponding
+ // Datapoint will have it's respective failure value set.
+ map<string, Datapoint> fields = 1;
+}
+
+message GetMetadataRequest {
+ // Request metadata for a list of data points referenced by their names.
+ // e.g. "Vehicle.Cabin.Seat.Row1.Pos1.Position" or "Vehicle.Speed".
+ //
+ // If no names are provided, metadata for all known data points will be
+ // returned.
+ repeated string names = 1;
+}
+
+message GetMetadataReply {
+ // Contains metadata of the requested data points. If a data point
+ // doesn't exist (i.e. not known to the Data Broker) the corresponding
+ // Metadata isn't part of the returned list.
+ repeated Metadata list = 1;
+}
diff --git a/protos/protos/sdv/databroker/v1/collector.proto b/protos/protos/sdv/databroker/v1/collector.proto
new file mode 100644
index 0000000..c67a5de
--- /dev/null
+++ b/protos/protos/sdv/databroker/v1/collector.proto
@@ -0,0 +1,97 @@
+/********************************************************************************
+ * Copyright (c) 2022 Contributors to the Eclipse Foundation
+ *
+ * See the NOTICE file(s) distributed with this work for additional
+ * information regarding copyright ownership.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Apache License 2.0 which is available at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ ********************************************************************************/
+
+syntax = "proto3";
+
+import "sdv/databroker/v1/types.proto";
+
+package sdv.databroker.v1;
+
+service Collector {
+ // Register new datapoint (metadata)
+ //
+ // If the registration of at least one of the passed data point fails, the overall registration
+ // is rejected and the gRPC status code ABORTED is returned (to indicate the "aborted" registration).
+ // The details, which data point(s) caused the failure and the reason, is passed in back in human-
+ // readable form in the status message. Possible failure resaons are:
+ // * PERMISSION_DENIED - Not allowed to register this name
+ // * ALREADY_REGISTERED - The data point is already registered by some other feeder
+ // * RE_REGISTRATION_MISMATCH - Already registered by this feeder but with differing metadata
+ // * INVALID_NAME - The passed name of the datapoint has an invalid structure
+ // * INVALID_VALUE_TYPE - The passed ValueType is not supported
+ // * INVALID_CHANGE_TYPE - The passed ChangeType is not supported
+ rpc RegisterDatapoints(RegisterDatapointsRequest) returns (RegisterDatapointsReply);
+
+ // Provide a set of updated datapoint values to the broker.
+ // This is the unary equivalent of `StreamDatapoints` below and is better suited for cases
+ // where the frequency of updates is rather low.
+ //
+ // NOTE: The values provided in a single request are handled as a single update in the
+ // data broker. This ensures that any clients requesting (or subscribing to) a set of
+ // datapoints will get a consistent update, i.e. that either all values are updated or
+ // none are.
+ //
+ // Returns: any errors encountered updating the datapoints
+ //
+ rpc UpdateDatapoints(UpdateDatapointsRequest) returns (UpdateDatapointsReply);
+
+ // Provide a stream with updated datapoint values to the broker.
+ // This is the streaming equivalent of `UpdateDatapoints` above and is better suited for
+ // cases where the frequency of updates is high.
+ //
+ // NOTE: The values provided in a single request are handled as a single update in the
+ // data broker. This ensures that any clients requesting (or subscribing to) a set of
+ // datapoints will get a consistent update, i.e. that either all values are updated or
+ // none are.
+ //
+ // Returns: any errors encountered updating the datapoints
+ //
+ rpc StreamDatapoints(stream StreamDatapointsRequest) returns (stream StreamDatapointsReply);
+}
+
+message UpdateDatapointsRequest {
+ map<int32, Datapoint> datapoints = 1;
+}
+
+message UpdateDatapointsReply {
+ map<int32, DatapointError> errors = 1; // If empty, everything went well
+}
+
+message StreamDatapointsRequest {
+ map<int32, Datapoint> datapoints = 1;
+}
+
+message StreamDatapointsReply {
+ map<int32, DatapointError> errors = 1; // If empty, everything went well
+}
+
+message RegisterDatapointsRequest {
+ repeated RegistrationMetadata list = 1;
+}
+
+message RegistrationMetadata {
+ // Name of the data point
+ // (e.g. "Vehicle.Cabin.Seat.Row1.Pos1.Position" or "Vehicle.Speed")
+ string name = 1;
+ DataType data_type = 2;
+ string description = 3;
+ ChangeType change_type = 4;
+
+ // int32 min_update_hz = 10; // Only for CONTINUOUS
+ // int32 max_update_hz = 11; // Only for CONTINUOUS
+};
+
+message RegisterDatapointsReply {
+ // Maps each data point name passed in RegisterDatapointsRequest to a data point id
+ map<string, int32> results = 1;
+}
diff --git a/protos/protos/sdv/databroker/v1/types.proto b/protos/protos/sdv/databroker/v1/types.proto
new file mode 100644
index 0000000..af8a033
--- /dev/null
+++ b/protos/protos/sdv/databroker/v1/types.proto
@@ -0,0 +1,160 @@
+/********************************************************************************
+ * Copyright (c) 2022 Contributors to the Eclipse Foundation
+ *
+ * See the NOTICE file(s) distributed with this work for additional
+ * information regarding copyright ownership.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Apache License 2.0 which is available at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ ********************************************************************************/
+
+syntax = "proto3";
+
+import "google/protobuf/timestamp.proto";
+
+package sdv.databroker.v1;
+
+// Data type of a signal
+//
+// Protobuf doesn't support int8, int16, uint8 or uint16.
+// These are mapped to sint32 and uint32 respectively.
+//
+enum DataType {
+ STRING = 0;
+ BOOL = 1;
+ INT8 = 2;
+ INT16 = 3;
+ INT32 = 4;
+ INT64 = 5;
+ UINT8 = 6;
+ UINT16 = 7;
+ UINT32 = 8;
+ UINT64 = 9;
+ FLOAT = 10;
+ DOUBLE = 11;
+ TIMESTAMP = 12;
+ STRING_ARRAY = 20;
+ BOOL_ARRAY = 21;
+ INT8_ARRAY = 22;
+ INT16_ARRAY = 23;
+ INT32_ARRAY = 24;
+ INT64_ARRAY = 25;
+ UINT8_ARRAY = 26;
+ UINT16_ARRAY = 27;
+ UINT32_ARRAY = 28;
+ UINT64_ARRAY = 29;
+ FLOAT_ARRAY = 30;
+ DOUBLE_ARRAY = 31;
+ TIMESTAMP_ARRAY = 32;
+}
+
+enum DatapointError {
+ UNKNOWN_DATAPOINT = 0;
+ INVALID_TYPE = 1;
+ ACCESS_DENIED = 2;
+ INTERNAL_ERROR = 3;
+ OUT_OF_BOUNDS = 4;
+}
+
+enum EntryType {
+ ENTRY_TYPE_UNSPECIFIED = 0;
+ ENTRY_TYPE_SENSOR = 1;
+ ENTRY_TYPE_ACTUATOR = 2;
+ ENTRY_TYPE_ATTRIBUTE = 3;
+}
+
+enum ChangeType {
+ STATIC = 0; // Value never changes
+ ON_CHANGE = 1; // Updates are provided every time the value changes (i.e.
+ // window is open / closed)
+ CONTINUOUS = 2; // Value is updated continuously. Broker needs to tell
+ // provider the preferred (update) frequency.
+}
+
+message StringArray {
+ repeated string values = 1;
+}
+
+message BoolArray {
+ repeated bool values = 1;
+}
+
+message Int32Array {
+ repeated sint32 values = 1;
+}
+
+message Int64Array {
+ repeated sint64 values = 1;
+}
+
+message Uint32Array {
+ repeated uint32 values = 1;
+}
+
+message Uint64Array {
+ repeated uint64 values = 1;
+}
+
+message FloatArray {
+ repeated float values = 1;
+}
+
+message DoubleArray {
+ repeated double values = 1;
+}
+
+message Datapoint {
+ // Timestamp of the value
+ google.protobuf.Timestamp timestamp = 1;
+
+ // values
+ oneof value {
+ Failure failure_value = 10;
+ string string_value = 11;
+ bool bool_value = 12;
+ sint32 int32_value = 13;
+ sint64 int64_value = 14;
+ uint32 uint32_value = 15;
+ uint64 uint64_value = 16;
+ float float_value = 17;
+ double double_value = 18;
+ StringArray string_array = 21;
+ BoolArray bool_array = 22;
+ Int32Array int32_array = 23;
+ Int64Array int64_array = 24;
+ Uint32Array uint32_array = 25;
+ Uint64Array uint64_array = 26;
+ FloatArray float_array = 27;
+ DoubleArray double_array = 28;
+ }
+
+ enum Failure {
+ // The data point is known, but doesn't have a valid value
+ INVALID_VALUE = 0;
+ // The data point is known, but no value is available
+ NOT_AVAILABLE = 1;
+ // Unknown datapoint
+ UNKNOWN_DATAPOINT = 2;
+ // Access denied
+ ACCESS_DENIED = 3;
+ // Unexpected internal error
+ INTERNAL_ERROR = 4;
+ }
+}
+
+message Metadata {
+ // Id to be used in "get" and "subscribe" requests. Ids stay valid during
+ // one power cycle, only.
+ int32 id = 1;
+ EntryType entry_type = 2;
+ string name = 4;
+ DataType data_type = 5;
+ ChangeType change_type = 6; // CONTINUOUS or STATIC or ON_CHANGE
+ string description = 7;
+
+ // int32 min_update_hz = 10; // Only for CONTINUOUS
+ // int32 max_update_hz = 11; // Only for CONTINUOUS
+};
diff --git a/protos/protos/timestamp.proto b/protos/protos/timestamp.proto
new file mode 100644
index 0000000..d0698db
--- /dev/null
+++ b/protos/protos/timestamp.proto
@@ -0,0 +1,144 @@
+// Protocol Buffers - Google's data interchange format
+// Copyright 2008 Google Inc. All rights reserved.
+// https://developers.google.com/protocol-buffers/
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+// * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following disclaimer
+// in the documentation and/or other materials provided with the
+// distribution.
+// * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+syntax = "proto3";
+
+package google.protobuf;
+
+option cc_enable_arenas = true;
+option go_package = "google.golang.org/protobuf/types/known/timestamppb";
+option java_package = "com.google.protobuf";
+option java_outer_classname = "TimestampProto";
+option java_multiple_files = true;
+option objc_class_prefix = "GPB";
+option csharp_namespace = "Google.Protobuf.WellKnownTypes";
+
+// A Timestamp represents a point in time independent of any time zone or local
+// calendar, encoded as a count of seconds and fractions of seconds at
+// nanosecond resolution. The count is relative to an epoch at UTC midnight on
+// January 1, 1970, in the proleptic Gregorian calendar which extends the
+// Gregorian calendar backwards to year one.
+//
+// All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
+// second table is needed for interpretation, using a [24-hour linear
+// smear](https://developers.google.com/time/smear).
+//
+// The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
+// restricting to that range, we ensure that we can convert to and from [RFC
+// 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.
+//
+// # Examples
+//
+// Example 1: Compute Timestamp from POSIX `time()`.
+//
+// Timestamp timestamp;
+// timestamp.set_seconds(time(NULL));
+// timestamp.set_nanos(0);
+//
+// Example 2: Compute Timestamp from POSIX `gettimeofday()`.
+//
+// struct timeval tv;
+// gettimeofday(&tv, NULL);
+//
+// Timestamp timestamp;
+// timestamp.set_seconds(tv.tv_sec);
+// timestamp.set_nanos(tv.tv_usec * 1000);
+//
+// Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
+//
+// FILETIME ft;
+// GetSystemTimeAsFileTime(&ft);
+// UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
+//
+// // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z
+// // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.
+// Timestamp timestamp;
+// timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
+// timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
+//
+// Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
+//
+// long millis = System.currentTimeMillis();
+//
+// Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
+// .setNanos((int) ((millis % 1000) * 1000000)).build();
+//
+// Example 5: Compute Timestamp from Java `Instant.now()`.
+//
+// Instant now = Instant.now();
+//
+// Timestamp timestamp =
+// Timestamp.newBuilder().setSeconds(now.getEpochSecond())
+// .setNanos(now.getNano()).build();
+//
+// Example 6: Compute Timestamp from current time in Python.
+//
+// timestamp = Timestamp()
+// timestamp.GetCurrentTime()
+//
+// # JSON Mapping
+//
+// In JSON format, the Timestamp type is encoded as a string in the
+// [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the
+// format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z"
+// where {year} is always expressed using four digits while {month}, {day},
+// {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional
+// seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),
+// are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone
+// is required. A proto3 JSON serializer should always use UTC (as indicated by
+// "Z") when printing the Timestamp type and a proto3 JSON parser should be
+// able to accept both UTC and other timezones (as indicated by an offset).
+//
+// For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past
+// 01:30 UTC on January 15, 2017.
+//
+// In JavaScript, one can convert a Date object to this format using the
+// standard
+// [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)
+// method. In Python, a standard `datetime.datetime` object can be converted
+// to this format using
+// [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with
+// the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use
+// the Joda Time's [`ISODateTimeFormat.dateTime()`](
+// http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()
+// ) to obtain a formatter capable of generating timestamps in this format.
+//
+message Timestamp {
+ // Represents seconds of UTC time since Unix epoch
+ // 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to
+ // 9999-12-31T23:59:59Z inclusive.
+ int64 seconds = 1;
+
+ // Non-negative fractions of a second at nanosecond resolution. Negative
+ // second values with fractions must still have non-negative nanos values
+ // that count forward in time. Must be from 0 to 999,999,999
+ // inclusive.
+ int32 nanos = 2;
+} \ No newline at end of file
diff --git a/protos/protos/todo.proto b/protos/protos/todo.proto
new file mode 100644
index 0000000..9152814
--- /dev/null
+++ b/protos/protos/todo.proto
@@ -0,0 +1,16 @@
+syntax = 'proto3';
+
+message Todo {
+ int32 id = 1;
+ string title = 2;
+ bool completed = 3;
+}
+
+message GetTodoByIdRequest {
+ int32 id = 1;
+}
+service TodoService {
+ rpc getTodo(GetTodoByIdRequest) returns (Todo);
+ rpc getTodoStream(GetTodoByIdRequest) returns (stream Todo);
+}
+
diff --git a/protos/pubspec.yaml b/protos/pubspec.yaml
new file mode 100644
index 0000000..fcccfe9
--- /dev/null
+++ b/protos/pubspec.yaml
@@ -0,0 +1,17 @@
+name: protos
+description: A starting point for Dart libraries or applications.
+version: 1.0.0
+# repository: https://github.com/my_org/my_repo
+
+environment:
+ sdk: ^3.1.0
+
+# Add regular dependencies here.
+dependencies:
+ grpc: ^3.2.4
+ protobuf: ^3.1.0
+ # path: ^1.8.0
+
+dev_dependencies:
+ lints: ^2.0.0
+ test: ^1.21.0