feat: implement BLE provisioning protocol, rudimentary UI
This commit is contained in:
@@ -1,7 +1,13 @@
|
||||
// Uses flutter_blue_plus to drive the ESP-IDF Unified Provisioning GATT protocol.
|
||||
// No BLE pairing or password required.
|
||||
//
|
||||
// Android: minSdkVersion must be ≥ 21 in android/app/build.gradle.
|
||||
import 'dart:async';
|
||||
import 'dart:convert';
|
||||
|
||||
import 'package:flutter_blue_plus/flutter_blue_plus.dart';
|
||||
import 'package:permission_handler/permission_handler.dart';
|
||||
|
||||
import '../../../generated/constants.pbenum.dart';
|
||||
import '../../../generated/network_config.pb.dart';
|
||||
import '../../../generated/sec0.pb.dart';
|
||||
import '../../../generated/session.pb.dart';
|
||||
|
||||
class BleScanResult {
|
||||
const BleScanResult({
|
||||
@@ -16,22 +22,223 @@ class BleScanResult {
|
||||
}
|
||||
|
||||
class BleProvisioner {
|
||||
// TODO: implement using flutter_blue_plus.
|
||||
// Filter scan by the ESP-IDF provisioning service UUID advertised by your firmware.
|
||||
// Default service UUID from ESP-IDF scheme_ble.c (bytes reversed from LSB-first array).
|
||||
// Verify this matches by scanning and logging serviceUuids on first test.
|
||||
static const _serviceUuid = '1775244d-6b43-439b-877c-060f2d9bed07';
|
||||
|
||||
/// Starts a BLE scan and emits discovered ESP32 provisioning devices.
|
||||
Stream<BleScanResult> scan() => throw UnimplementedError();
|
||||
// UUID 0x2901 — User Description GATT descriptor; maps endpoint names to chars.
|
||||
static const _userDescUuid = '2901';
|
||||
|
||||
Future<void> stopScan() async => throw UnimplementedError();
|
||||
BluetoothDevice? _connectedDevice;
|
||||
|
||||
Stream<BleScanResult> scan() async* {
|
||||
await _requestScanPermissions();
|
||||
|
||||
await FlutterBluePlus.startScan(
|
||||
withServices: [Guid(_serviceUuid)],
|
||||
timeout: const Duration(seconds: 30),
|
||||
);
|
||||
|
||||
await for (final results in FlutterBluePlus.scanResults) {
|
||||
for (final r in results) {
|
||||
final name = r.device.platformName;
|
||||
if (name.startsWith('anchor_')) {
|
||||
yield BleScanResult(
|
||||
deviceId: r.device.remoteId.str,
|
||||
name: name,
|
||||
rssi: r.rssi,
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Future<void> stopScan() => FlutterBluePlus.stopScan();
|
||||
|
||||
/// Connects to [deviceId] and sends WiFi credentials via the ESP-IDF
|
||||
/// Unified Provisioning GATT profile (protobuf over BLE characteristic).
|
||||
Future<void> provision(
|
||||
String deviceId, {
|
||||
required String ssid,
|
||||
required String wifiPassword,
|
||||
}) async =>
|
||||
throw UnimplementedError();
|
||||
String? mqttHost,
|
||||
int? mqttPort,
|
||||
}) async {
|
||||
await _requestConnectPermissions();
|
||||
|
||||
void dispose() {}
|
||||
final device = BluetoothDevice.fromId(deviceId);
|
||||
_connectedDevice = device;
|
||||
|
||||
await device.connect(timeout: const Duration(seconds: 15));
|
||||
|
||||
try {
|
||||
await device.requestMtu(512);
|
||||
final services = await device.discoverServices();
|
||||
|
||||
final service = services.firstWhere(
|
||||
(s) => s.uuid == Guid(_serviceUuid),
|
||||
orElse: () => throw Exception('Provisioning service not found'),
|
||||
);
|
||||
|
||||
final charMap = await _buildCharMap(service);
|
||||
|
||||
await _probeVersion(charMap);
|
||||
await _initSession(charMap);
|
||||
await _setWifiConfig(charMap, ssid: ssid, password: wifiPassword);
|
||||
await _applyWifiConfig(charMap);
|
||||
|
||||
if (mqttHost != null) {
|
||||
await _sendMqttConfig(charMap, host: mqttHost, port: mqttPort ?? 1883);
|
||||
}
|
||||
} finally {
|
||||
await device.disconnect();
|
||||
_connectedDevice = null;
|
||||
}
|
||||
}
|
||||
|
||||
void dispose() {
|
||||
FlutterBluePlus.stopScan();
|
||||
_connectedDevice?.disconnect();
|
||||
_connectedDevice = null;
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// Protocol steps
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
// Reads the User Description (0x2901) descriptor on each characteristic to
|
||||
// build a map of endpoint name -> characteristic
|
||||
Future<Map<String, BluetoothCharacteristic>> _buildCharMap(
|
||||
BluetoothService service) async {
|
||||
final map = <String, BluetoothCharacteristic>{};
|
||||
for (final char in service.characteristics) {
|
||||
for (final desc in char.descriptors) {
|
||||
if (desc.uuid == Guid(_userDescUuid)) {
|
||||
try {
|
||||
final value = await desc.read();
|
||||
final name = utf8.decode(value, allowMalformed: true).trim();
|
||||
if (name.isNotEmpty) map[name] = char;
|
||||
} catch (_) {}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return map;
|
||||
}
|
||||
|
||||
Future<void> _probeVersion(
|
||||
Map<String, BluetoothCharacteristic> charMap) async {
|
||||
final char = _require(charMap, 'proto-ver');
|
||||
final resp = await _writeRead(char, utf8.encode('ESP'));
|
||||
try {
|
||||
final json = jsonDecode(utf8.decode(resp)) as Map<String, dynamic>;
|
||||
final prov = json['prov'] as Map<String, dynamic>?;
|
||||
if (prov != null) {
|
||||
// ignore: avoid_print
|
||||
print('[BleProvisioner] device ver=${prov['ver']} cap=${prov['cap']}');
|
||||
}
|
||||
} catch (_) {}
|
||||
}
|
||||
|
||||
Future<void> _initSession(
|
||||
Map<String, BluetoothCharacteristic> charMap) async {
|
||||
final char = _require(charMap, 'prov-session');
|
||||
final request = SessionData(
|
||||
secVer: SecSchemeVersion.SecScheme0,
|
||||
sec0: Sec0Payload(
|
||||
msg: Sec0MsgType.S0_Session_Command,
|
||||
sc: S0SessionCmd(),
|
||||
),
|
||||
);
|
||||
final respBytes = await _writeRead(char, request.writeToBuffer());
|
||||
final resp = SessionData.fromBuffer(respBytes);
|
||||
final status = resp.sec0.sr.status;
|
||||
if (status != Status.Success) {
|
||||
throw Exception('Session init failed: $status');
|
||||
}
|
||||
}
|
||||
|
||||
Future<void> _setWifiConfig(
|
||||
Map<String, BluetoothCharacteristic> charMap, {
|
||||
required String ssid,
|
||||
required String password,
|
||||
}) async {
|
||||
final char = _require(charMap, 'prov-config');
|
||||
final payload = NetworkConfigPayload(
|
||||
msg: NetworkConfigMsgType.TypeCmdSetWifiConfig,
|
||||
cmdSetWifiConfig: CmdSetWifiConfig(
|
||||
ssid: utf8.encode(ssid),
|
||||
passphrase: utf8.encode(password),
|
||||
),
|
||||
);
|
||||
final respBytes = await _writeRead(char, payload.writeToBuffer());
|
||||
final resp = NetworkConfigPayload.fromBuffer(respBytes);
|
||||
if (resp.respSetWifiConfig.status != Status.Success) {
|
||||
throw Exception(
|
||||
'Set WiFi config failed: ${resp.respSetWifiConfig.status}');
|
||||
}
|
||||
}
|
||||
|
||||
Future<void> _applyWifiConfig(
|
||||
Map<String, BluetoothCharacteristic> charMap) async {
|
||||
final char = _require(charMap, 'prov-config');
|
||||
final payload = NetworkConfigPayload(
|
||||
msg: NetworkConfigMsgType.TypeCmdApplyWifiConfig,
|
||||
cmdApplyWifiConfig: CmdApplyWifiConfig(),
|
||||
);
|
||||
final respBytes = await _writeRead(char, payload.writeToBuffer());
|
||||
final resp = NetworkConfigPayload.fromBuffer(respBytes);
|
||||
if (resp.respApplyWifiConfig.status != Status.Success) {
|
||||
throw Exception(
|
||||
'Apply WiFi config failed: ${resp.respApplyWifiConfig.status}');
|
||||
}
|
||||
}
|
||||
|
||||
Future<void> _sendMqttConfig(
|
||||
Map<String, BluetoothCharacteristic> charMap, {
|
||||
required String host,
|
||||
required int port,
|
||||
}) async {
|
||||
final char = _require(charMap, 'custom-mqtt-config');
|
||||
final json = '{"host":"$host","port":$port}';
|
||||
await _writeRead(char, utf8.encode(json));
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// Utilities
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
Future<List<int>> _writeRead(
|
||||
BluetoothCharacteristic char, List<int> data) async {
|
||||
await char.write(data, withoutResponse: false);
|
||||
return char.read();
|
||||
}
|
||||
|
||||
BluetoothCharacteristic _require(
|
||||
Map<String, BluetoothCharacteristic> charMap, String name) {
|
||||
final char = charMap[name];
|
||||
if (char == null) throw Exception('BLE endpoint "$name" not found');
|
||||
return char;
|
||||
}
|
||||
|
||||
Future<void> _requestScanPermissions() async {
|
||||
final statuses = await [
|
||||
Permission.bluetoothScan,
|
||||
Permission.bluetoothConnect,
|
||||
Permission.locationWhenInUse,
|
||||
].request();
|
||||
|
||||
// Only BLE-specific permissions are required on API 31+ where BLUETOOTH_SCAN
|
||||
// is declared neverForLocation. On API 31+, ACCESS_FINE_LOCATION is absent from
|
||||
// the manifest and auto-denied without prompting, so location denial is not fatal.
|
||||
if ([Permission.bluetoothScan, Permission.bluetoothConnect]
|
||||
.any((p) => statuses[p]?.isDenied == true || statuses[p]?.isPermanentlyDenied == true)) {
|
||||
throw Exception('BLE permissions denied');
|
||||
}
|
||||
}
|
||||
|
||||
Future<void> _requestConnectPermissions() async {
|
||||
final status = await Permission.bluetoothConnect.request();
|
||||
if (status.isDenied || status.isPermanentlyDenied) {
|
||||
throw Exception('Bluetooth connect permission denied');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_blue_plus/flutter_blue_plus.dart';
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
import 'package:go_router/go_router.dart';
|
||||
|
||||
import '../../data/sources/ble/ble_provisioner.dart';
|
||||
import '../../providers.dart';
|
||||
|
||||
enum _Step { provision, done }
|
||||
|
||||
@@ -20,11 +22,19 @@ class _BleProvisionSheetState extends ConsumerState<BleProvisionSheet> {
|
||||
final _ssidController = TextEditingController();
|
||||
final _wifiPasswordController = TextEditingController();
|
||||
|
||||
late final Stream<BleScanResult> _scanStream;
|
||||
|
||||
_Step _step = _Step.provision;
|
||||
BleScanResult? _selected;
|
||||
bool _provisioning = false;
|
||||
String? _error;
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
_scanStream = _provisioner.scan();
|
||||
}
|
||||
|
||||
@override
|
||||
void dispose() {
|
||||
_provisioner.dispose();
|
||||
@@ -40,10 +50,13 @@ class _BleProvisionSheetState extends ConsumerState<BleProvisionSheet> {
|
||||
_error = null;
|
||||
});
|
||||
try {
|
||||
final mqttBroker = await ref.read(mqttBrokerProvider.future);
|
||||
await _provisioner.provision(
|
||||
_selected!.deviceId,
|
||||
ssid: _ssidController.text.trim(),
|
||||
wifiPassword: _wifiPasswordController.text,
|
||||
mqttHost: mqttBroker?.host,
|
||||
mqttPort: mqttBroker?.port,
|
||||
);
|
||||
if (mounted) setState(() => _step = _Step.done);
|
||||
} catch (e) {
|
||||
@@ -88,7 +101,7 @@ class _BleProvisionSheetState extends ConsumerState<BleProvisionSheet> {
|
||||
)
|
||||
: _ProvisionStep(
|
||||
scrollController: scrollController,
|
||||
provisioner: _provisioner,
|
||||
scanStream: _scanStream,
|
||||
selected: _selected,
|
||||
onSelected: (r) => setState(() => _selected = r),
|
||||
ssidController: _ssidController,
|
||||
@@ -102,10 +115,10 @@ class _BleProvisionSheetState extends ConsumerState<BleProvisionSheet> {
|
||||
}
|
||||
}
|
||||
|
||||
class _ProvisionStep extends StatelessWidget {
|
||||
class _ProvisionStep extends StatefulWidget {
|
||||
const _ProvisionStep({
|
||||
required this.scrollController,
|
||||
required this.provisioner,
|
||||
required this.scanStream,
|
||||
required this.selected,
|
||||
required this.onSelected,
|
||||
required this.ssidController,
|
||||
@@ -116,7 +129,7 @@ class _ProvisionStep extends StatelessWidget {
|
||||
});
|
||||
|
||||
final ScrollController scrollController;
|
||||
final BleProvisioner provisioner;
|
||||
final Stream<BleScanResult> scanStream;
|
||||
final BleScanResult? selected;
|
||||
final ValueChanged<BleScanResult> onSelected;
|
||||
final TextEditingController ssidController;
|
||||
@@ -125,27 +138,73 @@ class _ProvisionStep extends StatelessWidget {
|
||||
final String? error;
|
||||
final VoidCallback onProvision;
|
||||
|
||||
@override
|
||||
State<_ProvisionStep> createState() => _ProvisionStepState();
|
||||
}
|
||||
|
||||
class _ProvisionStepState extends State<_ProvisionStep> {
|
||||
final _discovered = <String, BleScanResult>{};
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return ListView(
|
||||
controller: scrollController,
|
||||
controller: widget.scrollController,
|
||||
children: [
|
||||
Text('Add sensor', style: Theme.of(context).textTheme.titleLarge),
|
||||
const SizedBox(height: 16),
|
||||
|
||||
// Scan results
|
||||
// TODO: StreamBuilder on provisioner.scan() — show a list of
|
||||
// BleScanResult tiles; tapping one calls onSelected.
|
||||
const Text('Nearby ESP32 devices'),
|
||||
Text('Nearby ESP32 devices',
|
||||
style: Theme.of(context).textTheme.labelLarge),
|
||||
const SizedBox(height: 8),
|
||||
const Placeholder(fallbackHeight: 120),
|
||||
|
||||
StreamBuilder<BleScanResult>(
|
||||
stream: widget.scanStream,
|
||||
builder: (context, snapshot) {
|
||||
if (snapshot.hasData) {
|
||||
final r = snapshot.data!;
|
||||
_discovered[r.deviceId] = r;
|
||||
}
|
||||
if (_discovered.isEmpty) {
|
||||
return const Padding(
|
||||
padding: EdgeInsets.symmetric(vertical: 16),
|
||||
child: Row(
|
||||
children: [
|
||||
SizedBox.square(
|
||||
dimension: 16,
|
||||
child: CircularProgressIndicator(strokeWidth: 2)),
|
||||
SizedBox(width: 12),
|
||||
Text('Scanning…'),
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
return Column(
|
||||
children: _discovered.values.map((r) {
|
||||
final selected = widget.selected?.deviceId == r.deviceId;
|
||||
return ListTile(
|
||||
contentPadding: EdgeInsets.zero,
|
||||
leading: const Icon(Icons.sensors),
|
||||
title: Text(r.name),
|
||||
subtitle: Text('${r.rssi} dBm'),
|
||||
trailing: selected
|
||||
? const Icon(Icons.check_circle,
|
||||
color: Colors.green)
|
||||
: null,
|
||||
selected: selected,
|
||||
onTap: () => widget.onSelected(r),
|
||||
);
|
||||
}).toList(),
|
||||
);
|
||||
},
|
||||
),
|
||||
|
||||
const SizedBox(height: 24),
|
||||
|
||||
if (selected != null) ...[
|
||||
Text('Selected: ${selected!.name}'),
|
||||
if (widget.selected != null) ...[
|
||||
Text('Selected: ${widget.selected!.name}'),
|
||||
const SizedBox(height: 16),
|
||||
TextField(
|
||||
controller: ssidController,
|
||||
controller: widget.ssidController,
|
||||
decoration: const InputDecoration(
|
||||
labelText: 'WiFi SSID',
|
||||
border: OutlineInputBorder(),
|
||||
@@ -153,7 +212,7 @@ class _ProvisionStep extends StatelessWidget {
|
||||
),
|
||||
const SizedBox(height: 12),
|
||||
TextField(
|
||||
controller: wifiPasswordController,
|
||||
controller: widget.wifiPasswordController,
|
||||
decoration: const InputDecoration(
|
||||
labelText: 'WiFi password',
|
||||
border: OutlineInputBorder(),
|
||||
@@ -163,17 +222,18 @@ class _ProvisionStep extends StatelessWidget {
|
||||
const SizedBox(height: 16),
|
||||
],
|
||||
|
||||
if (error != null)
|
||||
if (widget.error != null)
|
||||
Padding(
|
||||
padding: const EdgeInsets.only(bottom: 12),
|
||||
child: Text(error!,
|
||||
child: Text(widget.error!,
|
||||
style:
|
||||
TextStyle(color: Theme.of(context).colorScheme.error)),
|
||||
),
|
||||
|
||||
FilledButton(
|
||||
onPressed: (selected == null || provisioning) ? null : onProvision,
|
||||
child: provisioning
|
||||
onPressed:
|
||||
(widget.selected == null || widget.provisioning) ? null : widget.onProvision,
|
||||
child: widget.provisioning
|
||||
? const SizedBox.square(
|
||||
dimension: 20,
|
||||
child: CircularProgressIndicator(strokeWidth: 2))
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
// This is a generated file - do not edit.
|
||||
//
|
||||
// Generated from constants.proto.
|
||||
|
||||
// @dart = 3.3
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types, comment_references
|
||||
// ignore_for_file: constant_identifier_names
|
||||
// ignore_for_file: curly_braces_in_flow_control_structures
|
||||
// ignore_for_file: deprecated_member_use_from_same_package, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_relative_imports
|
||||
|
||||
import 'dart:core' as $core;
|
||||
|
||||
export 'package:protobuf/protobuf.dart' show GeneratedMessageGenericExtensions;
|
||||
|
||||
export 'constants.pbenum.dart';
|
||||
@@ -0,0 +1,54 @@
|
||||
// This is a generated file - do not edit.
|
||||
//
|
||||
// Generated from constants.proto.
|
||||
|
||||
// @dart = 3.3
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types, comment_references
|
||||
// ignore_for_file: constant_identifier_names
|
||||
// ignore_for_file: curly_braces_in_flow_control_structures
|
||||
// ignore_for_file: deprecated_member_use_from_same_package, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_relative_imports
|
||||
|
||||
import 'dart:core' as $core;
|
||||
|
||||
import 'package:protobuf/protobuf.dart' as $pb;
|
||||
|
||||
class Status extends $pb.ProtobufEnum {
|
||||
static const Status Success = Status._(0, _omitEnumNames ? '' : 'Success');
|
||||
static const Status InvalidSecScheme =
|
||||
Status._(1, _omitEnumNames ? '' : 'InvalidSecScheme');
|
||||
static const Status InvalidProto =
|
||||
Status._(2, _omitEnumNames ? '' : 'InvalidProto');
|
||||
static const Status TooManySessions =
|
||||
Status._(3, _omitEnumNames ? '' : 'TooManySessions');
|
||||
static const Status InvalidArgument =
|
||||
Status._(4, _omitEnumNames ? '' : 'InvalidArgument');
|
||||
static const Status InternalError =
|
||||
Status._(5, _omitEnumNames ? '' : 'InternalError');
|
||||
static const Status CryptoError =
|
||||
Status._(6, _omitEnumNames ? '' : 'CryptoError');
|
||||
static const Status InvalidSession =
|
||||
Status._(7, _omitEnumNames ? '' : 'InvalidSession');
|
||||
|
||||
static const $core.List<Status> values = <Status>[
|
||||
Success,
|
||||
InvalidSecScheme,
|
||||
InvalidProto,
|
||||
TooManySessions,
|
||||
InvalidArgument,
|
||||
InternalError,
|
||||
CryptoError,
|
||||
InvalidSession,
|
||||
];
|
||||
|
||||
static final $core.List<Status?> _byValue =
|
||||
$pb.ProtobufEnum.$_initByValueList(values, 7);
|
||||
static Status? valueOf($core.int value) =>
|
||||
value < 0 || value >= _byValue.length ? null : _byValue[value];
|
||||
|
||||
const Status._(super.value, super.name);
|
||||
}
|
||||
|
||||
const $core.bool _omitEnumNames =
|
||||
$core.bool.fromEnvironment('protobuf.omit_enum_names');
|
||||
@@ -0,0 +1,37 @@
|
||||
// This is a generated file - do not edit.
|
||||
//
|
||||
// Generated from constants.proto.
|
||||
|
||||
// @dart = 3.3
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types, comment_references
|
||||
// ignore_for_file: constant_identifier_names
|
||||
// ignore_for_file: curly_braces_in_flow_control_structures
|
||||
// ignore_for_file: deprecated_member_use_from_same_package, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_relative_imports
|
||||
// ignore_for_file: unused_import
|
||||
|
||||
import 'dart:convert' as $convert;
|
||||
import 'dart:core' as $core;
|
||||
import 'dart:typed_data' as $typed_data;
|
||||
|
||||
@$core.Deprecated('Use statusDescriptor instead')
|
||||
const Status$json = {
|
||||
'1': 'Status',
|
||||
'2': [
|
||||
{'1': 'Success', '2': 0},
|
||||
{'1': 'InvalidSecScheme', '2': 1},
|
||||
{'1': 'InvalidProto', '2': 2},
|
||||
{'1': 'TooManySessions', '2': 3},
|
||||
{'1': 'InvalidArgument', '2': 4},
|
||||
{'1': 'InternalError', '2': 5},
|
||||
{'1': 'CryptoError', '2': 6},
|
||||
{'1': 'InvalidSession', '2': 7},
|
||||
],
|
||||
};
|
||||
|
||||
/// Descriptor for `Status`. Decode as a `google.protobuf.EnumDescriptorProto`.
|
||||
final $typed_data.Uint8List statusDescriptor = $convert.base64Decode(
|
||||
'CgZTdGF0dXMSCwoHU3VjY2VzcxAAEhQKEEludmFsaWRTZWNTY2hlbWUQARIQCgxJbnZhbGlkUH'
|
||||
'JvdG8QAhITCg9Ub29NYW55U2Vzc2lvbnMQAxITCg9JbnZhbGlkQXJndW1lbnQQBBIRCg1JbnRl'
|
||||
'cm5hbEVycm9yEAUSDwoLQ3J5cHRvRXJyb3IQBhISCg5JbnZhbGlkU2Vzc2lvbhAH');
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,72 @@
|
||||
// This is a generated file - do not edit.
|
||||
//
|
||||
// Generated from network_config.proto.
|
||||
|
||||
// @dart = 3.3
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types, comment_references
|
||||
// ignore_for_file: constant_identifier_names
|
||||
// ignore_for_file: curly_braces_in_flow_control_structures
|
||||
// ignore_for_file: deprecated_member_use_from_same_package, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_relative_imports
|
||||
|
||||
import 'dart:core' as $core;
|
||||
|
||||
import 'package:protobuf/protobuf.dart' as $pb;
|
||||
|
||||
class NetworkConfigMsgType extends $pb.ProtobufEnum {
|
||||
static const NetworkConfigMsgType TypeCmdGetWifiStatus =
|
||||
NetworkConfigMsgType._(0, _omitEnumNames ? '' : 'TypeCmdGetWifiStatus');
|
||||
static const NetworkConfigMsgType TypeRespGetWifiStatus =
|
||||
NetworkConfigMsgType._(1, _omitEnumNames ? '' : 'TypeRespGetWifiStatus');
|
||||
static const NetworkConfigMsgType TypeCmdSetWifiConfig =
|
||||
NetworkConfigMsgType._(2, _omitEnumNames ? '' : 'TypeCmdSetWifiConfig');
|
||||
static const NetworkConfigMsgType TypeRespSetWifiConfig =
|
||||
NetworkConfigMsgType._(3, _omitEnumNames ? '' : 'TypeRespSetWifiConfig');
|
||||
static const NetworkConfigMsgType TypeCmdApplyWifiConfig =
|
||||
NetworkConfigMsgType._(4, _omitEnumNames ? '' : 'TypeCmdApplyWifiConfig');
|
||||
static const NetworkConfigMsgType TypeRespApplyWifiConfig =
|
||||
NetworkConfigMsgType._(
|
||||
5, _omitEnumNames ? '' : 'TypeRespApplyWifiConfig');
|
||||
static const NetworkConfigMsgType TypeCmdGetThreadStatus =
|
||||
NetworkConfigMsgType._(6, _omitEnumNames ? '' : 'TypeCmdGetThreadStatus');
|
||||
static const NetworkConfigMsgType TypeRespGetThreadStatus =
|
||||
NetworkConfigMsgType._(
|
||||
7, _omitEnumNames ? '' : 'TypeRespGetThreadStatus');
|
||||
static const NetworkConfigMsgType TypeCmdSetThreadConfig =
|
||||
NetworkConfigMsgType._(8, _omitEnumNames ? '' : 'TypeCmdSetThreadConfig');
|
||||
static const NetworkConfigMsgType TypeRespSetThreadConfig =
|
||||
NetworkConfigMsgType._(
|
||||
9, _omitEnumNames ? '' : 'TypeRespSetThreadConfig');
|
||||
static const NetworkConfigMsgType TypeCmdApplyThreadConfig =
|
||||
NetworkConfigMsgType._(
|
||||
10, _omitEnumNames ? '' : 'TypeCmdApplyThreadConfig');
|
||||
static const NetworkConfigMsgType TypeRespApplyThreadConfig =
|
||||
NetworkConfigMsgType._(
|
||||
11, _omitEnumNames ? '' : 'TypeRespApplyThreadConfig');
|
||||
|
||||
static const $core.List<NetworkConfigMsgType> values = <NetworkConfigMsgType>[
|
||||
TypeCmdGetWifiStatus,
|
||||
TypeRespGetWifiStatus,
|
||||
TypeCmdSetWifiConfig,
|
||||
TypeRespSetWifiConfig,
|
||||
TypeCmdApplyWifiConfig,
|
||||
TypeRespApplyWifiConfig,
|
||||
TypeCmdGetThreadStatus,
|
||||
TypeRespGetThreadStatus,
|
||||
TypeCmdSetThreadConfig,
|
||||
TypeRespSetThreadConfig,
|
||||
TypeCmdApplyThreadConfig,
|
||||
TypeRespApplyThreadConfig,
|
||||
];
|
||||
|
||||
static final $core.List<NetworkConfigMsgType?> _byValue =
|
||||
$pb.ProtobufEnum.$_initByValueList(values, 11);
|
||||
static NetworkConfigMsgType? valueOf($core.int value) =>
|
||||
value < 0 || value >= _byValue.length ? null : _byValue[value];
|
||||
|
||||
const NetworkConfigMsgType._(super.value, super.name);
|
||||
}
|
||||
|
||||
const $core.bool _omitEnumNames =
|
||||
$core.bool.fromEnvironment('protobuf.omit_enum_names');
|
||||
@@ -0,0 +1,407 @@
|
||||
// This is a generated file - do not edit.
|
||||
//
|
||||
// Generated from network_config.proto.
|
||||
|
||||
// @dart = 3.3
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types, comment_references
|
||||
// ignore_for_file: constant_identifier_names
|
||||
// ignore_for_file: curly_braces_in_flow_control_structures
|
||||
// ignore_for_file: deprecated_member_use_from_same_package, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_relative_imports
|
||||
// ignore_for_file: unused_import
|
||||
|
||||
import 'dart:convert' as $convert;
|
||||
import 'dart:core' as $core;
|
||||
import 'dart:typed_data' as $typed_data;
|
||||
|
||||
@$core.Deprecated('Use networkConfigMsgTypeDescriptor instead')
|
||||
const NetworkConfigMsgType$json = {
|
||||
'1': 'NetworkConfigMsgType',
|
||||
'2': [
|
||||
{'1': 'TypeCmdGetWifiStatus', '2': 0},
|
||||
{'1': 'TypeRespGetWifiStatus', '2': 1},
|
||||
{'1': 'TypeCmdSetWifiConfig', '2': 2},
|
||||
{'1': 'TypeRespSetWifiConfig', '2': 3},
|
||||
{'1': 'TypeCmdApplyWifiConfig', '2': 4},
|
||||
{'1': 'TypeRespApplyWifiConfig', '2': 5},
|
||||
{'1': 'TypeCmdGetThreadStatus', '2': 6},
|
||||
{'1': 'TypeRespGetThreadStatus', '2': 7},
|
||||
{'1': 'TypeCmdSetThreadConfig', '2': 8},
|
||||
{'1': 'TypeRespSetThreadConfig', '2': 9},
|
||||
{'1': 'TypeCmdApplyThreadConfig', '2': 10},
|
||||
{'1': 'TypeRespApplyThreadConfig', '2': 11},
|
||||
],
|
||||
};
|
||||
|
||||
/// Descriptor for `NetworkConfigMsgType`. Decode as a `google.protobuf.EnumDescriptorProto`.
|
||||
final $typed_data.Uint8List networkConfigMsgTypeDescriptor = $convert.base64Decode(
|
||||
'ChROZXR3b3JrQ29uZmlnTXNnVHlwZRIYChRUeXBlQ21kR2V0V2lmaVN0YXR1cxAAEhkKFVR5cG'
|
||||
'VSZXNwR2V0V2lmaVN0YXR1cxABEhgKFFR5cGVDbWRTZXRXaWZpQ29uZmlnEAISGQoVVHlwZVJl'
|
||||
'c3BTZXRXaWZpQ29uZmlnEAMSGgoWVHlwZUNtZEFwcGx5V2lmaUNvbmZpZxAEEhsKF1R5cGVSZX'
|
||||
'NwQXBwbHlXaWZpQ29uZmlnEAUSGgoWVHlwZUNtZEdldFRocmVhZFN0YXR1cxAGEhsKF1R5cGVS'
|
||||
'ZXNwR2V0VGhyZWFkU3RhdHVzEAcSGgoWVHlwZUNtZFNldFRocmVhZENvbmZpZxAIEhsKF1R5cG'
|
||||
'VSZXNwU2V0VGhyZWFkQ29uZmlnEAkSHAoYVHlwZUNtZEFwcGx5VGhyZWFkQ29uZmlnEAoSHQoZ'
|
||||
'VHlwZVJlc3BBcHBseVRocmVhZENvbmZpZxAL');
|
||||
|
||||
@$core.Deprecated('Use cmdGetWifiStatusDescriptor instead')
|
||||
const CmdGetWifiStatus$json = {
|
||||
'1': 'CmdGetWifiStatus',
|
||||
};
|
||||
|
||||
/// Descriptor for `CmdGetWifiStatus`. Decode as a `google.protobuf.DescriptorProto`.
|
||||
final $typed_data.Uint8List cmdGetWifiStatusDescriptor =
|
||||
$convert.base64Decode('ChBDbWRHZXRXaWZpU3RhdHVz');
|
||||
|
||||
@$core.Deprecated('Use respGetWifiStatusDescriptor instead')
|
||||
const RespGetWifiStatus$json = {
|
||||
'1': 'RespGetWifiStatus',
|
||||
'2': [
|
||||
{'1': 'status', '3': 1, '4': 1, '5': 14, '6': '.Status', '10': 'status'},
|
||||
{
|
||||
'1': 'wifi_sta_state',
|
||||
'3': 2,
|
||||
'4': 1,
|
||||
'5': 14,
|
||||
'6': '.WifiStationState',
|
||||
'10': 'wifiStaState'
|
||||
},
|
||||
{
|
||||
'1': 'wifi_fail_reason',
|
||||
'3': 10,
|
||||
'4': 1,
|
||||
'5': 14,
|
||||
'6': '.WifiConnectFailedReason',
|
||||
'9': 0,
|
||||
'10': 'wifiFailReason'
|
||||
},
|
||||
{
|
||||
'1': 'wifi_connected',
|
||||
'3': 11,
|
||||
'4': 1,
|
||||
'5': 11,
|
||||
'6': '.WifiConnectedState',
|
||||
'9': 0,
|
||||
'10': 'wifiConnected'
|
||||
},
|
||||
{
|
||||
'1': 'attempt_failed',
|
||||
'3': 12,
|
||||
'4': 1,
|
||||
'5': 11,
|
||||
'6': '.WifiAttemptFailed',
|
||||
'9': 0,
|
||||
'10': 'attemptFailed'
|
||||
},
|
||||
],
|
||||
'8': [
|
||||
{'1': 'state'},
|
||||
],
|
||||
};
|
||||
|
||||
/// Descriptor for `RespGetWifiStatus`. Decode as a `google.protobuf.DescriptorProto`.
|
||||
final $typed_data.Uint8List respGetWifiStatusDescriptor = $convert.base64Decode(
|
||||
'ChFSZXNwR2V0V2lmaVN0YXR1cxIfCgZzdGF0dXMYASABKA4yBy5TdGF0dXNSBnN0YXR1cxI3Cg'
|
||||
'53aWZpX3N0YV9zdGF0ZRgCIAEoDjIRLldpZmlTdGF0aW9uU3RhdGVSDHdpZmlTdGFTdGF0ZRJE'
|
||||
'ChB3aWZpX2ZhaWxfcmVhc29uGAogASgOMhguV2lmaUNvbm5lY3RGYWlsZWRSZWFzb25IAFIOd2'
|
||||
'lmaUZhaWxSZWFzb24SPAoOd2lmaV9jb25uZWN0ZWQYCyABKAsyEy5XaWZpQ29ubmVjdGVkU3Rh'
|
||||
'dGVIAFINd2lmaUNvbm5lY3RlZBI7Cg5hdHRlbXB0X2ZhaWxlZBgMIAEoCzISLldpZmlBdHRlbX'
|
||||
'B0RmFpbGVkSABSDWF0dGVtcHRGYWlsZWRCBwoFc3RhdGU=');
|
||||
|
||||
@$core.Deprecated('Use cmdGetThreadStatusDescriptor instead')
|
||||
const CmdGetThreadStatus$json = {
|
||||
'1': 'CmdGetThreadStatus',
|
||||
};
|
||||
|
||||
/// Descriptor for `CmdGetThreadStatus`. Decode as a `google.protobuf.DescriptorProto`.
|
||||
final $typed_data.Uint8List cmdGetThreadStatusDescriptor =
|
||||
$convert.base64Decode('ChJDbWRHZXRUaHJlYWRTdGF0dXM=');
|
||||
|
||||
@$core.Deprecated('Use respGetThreadStatusDescriptor instead')
|
||||
const RespGetThreadStatus$json = {
|
||||
'1': 'RespGetThreadStatus',
|
||||
'2': [
|
||||
{'1': 'status', '3': 1, '4': 1, '5': 14, '6': '.Status', '10': 'status'},
|
||||
{
|
||||
'1': 'thread_state',
|
||||
'3': 2,
|
||||
'4': 1,
|
||||
'5': 14,
|
||||
'6': '.ThreadNetworkState',
|
||||
'10': 'threadState'
|
||||
},
|
||||
{
|
||||
'1': 'thread_fail_reason',
|
||||
'3': 10,
|
||||
'4': 1,
|
||||
'5': 14,
|
||||
'6': '.ThreadAttachFailedReason',
|
||||
'9': 0,
|
||||
'10': 'threadFailReason'
|
||||
},
|
||||
{
|
||||
'1': 'thread_attached',
|
||||
'3': 11,
|
||||
'4': 1,
|
||||
'5': 11,
|
||||
'6': '.ThreadAttachState',
|
||||
'9': 0,
|
||||
'10': 'threadAttached'
|
||||
},
|
||||
],
|
||||
'8': [
|
||||
{'1': 'state'},
|
||||
],
|
||||
};
|
||||
|
||||
/// Descriptor for `RespGetThreadStatus`. Decode as a `google.protobuf.DescriptorProto`.
|
||||
final $typed_data.Uint8List respGetThreadStatusDescriptor = $convert.base64Decode(
|
||||
'ChNSZXNwR2V0VGhyZWFkU3RhdHVzEh8KBnN0YXR1cxgBIAEoDjIHLlN0YXR1c1IGc3RhdHVzEj'
|
||||
'YKDHRocmVhZF9zdGF0ZRgCIAEoDjITLlRocmVhZE5ldHdvcmtTdGF0ZVILdGhyZWFkU3RhdGUS'
|
||||
'SQoSdGhyZWFkX2ZhaWxfcmVhc29uGAogASgOMhkuVGhyZWFkQXR0YWNoRmFpbGVkUmVhc29uSA'
|
||||
'BSEHRocmVhZEZhaWxSZWFzb24SPQoPdGhyZWFkX2F0dGFjaGVkGAsgASgLMhIuVGhyZWFkQXR0'
|
||||
'YWNoU3RhdGVIAFIOdGhyZWFkQXR0YWNoZWRCBwoFc3RhdGU=');
|
||||
|
||||
@$core.Deprecated('Use cmdSetWifiConfigDescriptor instead')
|
||||
const CmdSetWifiConfig$json = {
|
||||
'1': 'CmdSetWifiConfig',
|
||||
'2': [
|
||||
{'1': 'ssid', '3': 1, '4': 1, '5': 12, '10': 'ssid'},
|
||||
{'1': 'passphrase', '3': 2, '4': 1, '5': 12, '10': 'passphrase'},
|
||||
{'1': 'bssid', '3': 3, '4': 1, '5': 12, '10': 'bssid'},
|
||||
{'1': 'channel', '3': 4, '4': 1, '5': 5, '10': 'channel'},
|
||||
],
|
||||
};
|
||||
|
||||
/// Descriptor for `CmdSetWifiConfig`. Decode as a `google.protobuf.DescriptorProto`.
|
||||
final $typed_data.Uint8List cmdSetWifiConfigDescriptor = $convert.base64Decode(
|
||||
'ChBDbWRTZXRXaWZpQ29uZmlnEhIKBHNzaWQYASABKAxSBHNzaWQSHgoKcGFzc3BocmFzZRgCIA'
|
||||
'EoDFIKcGFzc3BocmFzZRIUCgVic3NpZBgDIAEoDFIFYnNzaWQSGAoHY2hhbm5lbBgEIAEoBVIH'
|
||||
'Y2hhbm5lbA==');
|
||||
|
||||
@$core.Deprecated('Use cmdSetThreadConfigDescriptor instead')
|
||||
const CmdSetThreadConfig$json = {
|
||||
'1': 'CmdSetThreadConfig',
|
||||
'2': [
|
||||
{'1': 'dataset', '3': 1, '4': 1, '5': 12, '10': 'dataset'},
|
||||
],
|
||||
};
|
||||
|
||||
/// Descriptor for `CmdSetThreadConfig`. Decode as a `google.protobuf.DescriptorProto`.
|
||||
final $typed_data.Uint8List cmdSetThreadConfigDescriptor =
|
||||
$convert.base64Decode(
|
||||
'ChJDbWRTZXRUaHJlYWRDb25maWcSGAoHZGF0YXNldBgBIAEoDFIHZGF0YXNldA==');
|
||||
|
||||
@$core.Deprecated('Use respSetWifiConfigDescriptor instead')
|
||||
const RespSetWifiConfig$json = {
|
||||
'1': 'RespSetWifiConfig',
|
||||
'2': [
|
||||
{'1': 'status', '3': 1, '4': 1, '5': 14, '6': '.Status', '10': 'status'},
|
||||
],
|
||||
};
|
||||
|
||||
/// Descriptor for `RespSetWifiConfig`. Decode as a `google.protobuf.DescriptorProto`.
|
||||
final $typed_data.Uint8List respSetWifiConfigDescriptor = $convert.base64Decode(
|
||||
'ChFSZXNwU2V0V2lmaUNvbmZpZxIfCgZzdGF0dXMYASABKA4yBy5TdGF0dXNSBnN0YXR1cw==');
|
||||
|
||||
@$core.Deprecated('Use respSetThreadConfigDescriptor instead')
|
||||
const RespSetThreadConfig$json = {
|
||||
'1': 'RespSetThreadConfig',
|
||||
'2': [
|
||||
{'1': 'status', '3': 1, '4': 1, '5': 14, '6': '.Status', '10': 'status'},
|
||||
],
|
||||
};
|
||||
|
||||
/// Descriptor for `RespSetThreadConfig`. Decode as a `google.protobuf.DescriptorProto`.
|
||||
final $typed_data.Uint8List respSetThreadConfigDescriptor = $convert.base64Decode(
|
||||
'ChNSZXNwU2V0VGhyZWFkQ29uZmlnEh8KBnN0YXR1cxgBIAEoDjIHLlN0YXR1c1IGc3RhdHVz');
|
||||
|
||||
@$core.Deprecated('Use cmdApplyWifiConfigDescriptor instead')
|
||||
const CmdApplyWifiConfig$json = {
|
||||
'1': 'CmdApplyWifiConfig',
|
||||
};
|
||||
|
||||
/// Descriptor for `CmdApplyWifiConfig`. Decode as a `google.protobuf.DescriptorProto`.
|
||||
final $typed_data.Uint8List cmdApplyWifiConfigDescriptor =
|
||||
$convert.base64Decode('ChJDbWRBcHBseVdpZmlDb25maWc=');
|
||||
|
||||
@$core.Deprecated('Use cmdApplyThreadConfigDescriptor instead')
|
||||
const CmdApplyThreadConfig$json = {
|
||||
'1': 'CmdApplyThreadConfig',
|
||||
};
|
||||
|
||||
/// Descriptor for `CmdApplyThreadConfig`. Decode as a `google.protobuf.DescriptorProto`.
|
||||
final $typed_data.Uint8List cmdApplyThreadConfigDescriptor =
|
||||
$convert.base64Decode('ChRDbWRBcHBseVRocmVhZENvbmZpZw==');
|
||||
|
||||
@$core.Deprecated('Use respApplyWifiConfigDescriptor instead')
|
||||
const RespApplyWifiConfig$json = {
|
||||
'1': 'RespApplyWifiConfig',
|
||||
'2': [
|
||||
{'1': 'status', '3': 1, '4': 1, '5': 14, '6': '.Status', '10': 'status'},
|
||||
],
|
||||
};
|
||||
|
||||
/// Descriptor for `RespApplyWifiConfig`. Decode as a `google.protobuf.DescriptorProto`.
|
||||
final $typed_data.Uint8List respApplyWifiConfigDescriptor = $convert.base64Decode(
|
||||
'ChNSZXNwQXBwbHlXaWZpQ29uZmlnEh8KBnN0YXR1cxgBIAEoDjIHLlN0YXR1c1IGc3RhdHVz');
|
||||
|
||||
@$core.Deprecated('Use respApplyThreadConfigDescriptor instead')
|
||||
const RespApplyThreadConfig$json = {
|
||||
'1': 'RespApplyThreadConfig',
|
||||
'2': [
|
||||
{'1': 'status', '3': 1, '4': 1, '5': 14, '6': '.Status', '10': 'status'},
|
||||
],
|
||||
};
|
||||
|
||||
/// Descriptor for `RespApplyThreadConfig`. Decode as a `google.protobuf.DescriptorProto`.
|
||||
final $typed_data.Uint8List respApplyThreadConfigDescriptor = $convert.base64Decode(
|
||||
'ChVSZXNwQXBwbHlUaHJlYWRDb25maWcSHwoGc3RhdHVzGAEgASgOMgcuU3RhdHVzUgZzdGF0dX'
|
||||
'M=');
|
||||
|
||||
@$core.Deprecated('Use networkConfigPayloadDescriptor instead')
|
||||
const NetworkConfigPayload$json = {
|
||||
'1': 'NetworkConfigPayload',
|
||||
'2': [
|
||||
{
|
||||
'1': 'msg',
|
||||
'3': 1,
|
||||
'4': 1,
|
||||
'5': 14,
|
||||
'6': '.NetworkConfigMsgType',
|
||||
'10': 'msg'
|
||||
},
|
||||
{
|
||||
'1': 'cmd_get_wifi_status',
|
||||
'3': 10,
|
||||
'4': 1,
|
||||
'5': 11,
|
||||
'6': '.CmdGetWifiStatus',
|
||||
'9': 0,
|
||||
'10': 'cmdGetWifiStatus'
|
||||
},
|
||||
{
|
||||
'1': 'resp_get_wifi_status',
|
||||
'3': 11,
|
||||
'4': 1,
|
||||
'5': 11,
|
||||
'6': '.RespGetWifiStatus',
|
||||
'9': 0,
|
||||
'10': 'respGetWifiStatus'
|
||||
},
|
||||
{
|
||||
'1': 'cmd_set_wifi_config',
|
||||
'3': 12,
|
||||
'4': 1,
|
||||
'5': 11,
|
||||
'6': '.CmdSetWifiConfig',
|
||||
'9': 0,
|
||||
'10': 'cmdSetWifiConfig'
|
||||
},
|
||||
{
|
||||
'1': 'resp_set_wifi_config',
|
||||
'3': 13,
|
||||
'4': 1,
|
||||
'5': 11,
|
||||
'6': '.RespSetWifiConfig',
|
||||
'9': 0,
|
||||
'10': 'respSetWifiConfig'
|
||||
},
|
||||
{
|
||||
'1': 'cmd_apply_wifi_config',
|
||||
'3': 14,
|
||||
'4': 1,
|
||||
'5': 11,
|
||||
'6': '.CmdApplyWifiConfig',
|
||||
'9': 0,
|
||||
'10': 'cmdApplyWifiConfig'
|
||||
},
|
||||
{
|
||||
'1': 'resp_apply_wifi_config',
|
||||
'3': 15,
|
||||
'4': 1,
|
||||
'5': 11,
|
||||
'6': '.RespApplyWifiConfig',
|
||||
'9': 0,
|
||||
'10': 'respApplyWifiConfig'
|
||||
},
|
||||
{
|
||||
'1': 'cmd_get_thread_status',
|
||||
'3': 16,
|
||||
'4': 1,
|
||||
'5': 11,
|
||||
'6': '.CmdGetThreadStatus',
|
||||
'9': 0,
|
||||
'10': 'cmdGetThreadStatus'
|
||||
},
|
||||
{
|
||||
'1': 'resp_get_thread_status',
|
||||
'3': 17,
|
||||
'4': 1,
|
||||
'5': 11,
|
||||
'6': '.RespGetThreadStatus',
|
||||
'9': 0,
|
||||
'10': 'respGetThreadStatus'
|
||||
},
|
||||
{
|
||||
'1': 'cmd_set_thread_config',
|
||||
'3': 18,
|
||||
'4': 1,
|
||||
'5': 11,
|
||||
'6': '.CmdSetThreadConfig',
|
||||
'9': 0,
|
||||
'10': 'cmdSetThreadConfig'
|
||||
},
|
||||
{
|
||||
'1': 'resp_set_thread_config',
|
||||
'3': 19,
|
||||
'4': 1,
|
||||
'5': 11,
|
||||
'6': '.RespSetThreadConfig',
|
||||
'9': 0,
|
||||
'10': 'respSetThreadConfig'
|
||||
},
|
||||
{
|
||||
'1': 'cmd_apply_thread_config',
|
||||
'3': 20,
|
||||
'4': 1,
|
||||
'5': 11,
|
||||
'6': '.CmdApplyThreadConfig',
|
||||
'9': 0,
|
||||
'10': 'cmdApplyThreadConfig'
|
||||
},
|
||||
{
|
||||
'1': 'resp_apply_thread_config',
|
||||
'3': 21,
|
||||
'4': 1,
|
||||
'5': 11,
|
||||
'6': '.RespApplyThreadConfig',
|
||||
'9': 0,
|
||||
'10': 'respApplyThreadConfig'
|
||||
},
|
||||
],
|
||||
'8': [
|
||||
{'1': 'payload'},
|
||||
],
|
||||
};
|
||||
|
||||
/// Descriptor for `NetworkConfigPayload`. Decode as a `google.protobuf.DescriptorProto`.
|
||||
final $typed_data.Uint8List networkConfigPayloadDescriptor = $convert.base64Decode(
|
||||
'ChROZXR3b3JrQ29uZmlnUGF5bG9hZBInCgNtc2cYASABKA4yFS5OZXR3b3JrQ29uZmlnTXNnVH'
|
||||
'lwZVIDbXNnEkIKE2NtZF9nZXRfd2lmaV9zdGF0dXMYCiABKAsyES5DbWRHZXRXaWZpU3RhdHVz'
|
||||
'SABSEGNtZEdldFdpZmlTdGF0dXMSRQoUcmVzcF9nZXRfd2lmaV9zdGF0dXMYCyABKAsyEi5SZX'
|
||||
'NwR2V0V2lmaVN0YXR1c0gAUhFyZXNwR2V0V2lmaVN0YXR1cxJCChNjbWRfc2V0X3dpZmlfY29u'
|
||||
'ZmlnGAwgASgLMhEuQ21kU2V0V2lmaUNvbmZpZ0gAUhBjbWRTZXRXaWZpQ29uZmlnEkUKFHJlc3'
|
||||
'Bfc2V0X3dpZmlfY29uZmlnGA0gASgLMhIuUmVzcFNldFdpZmlDb25maWdIAFIRcmVzcFNldFdp'
|
||||
'ZmlDb25maWcSSAoVY21kX2FwcGx5X3dpZmlfY29uZmlnGA4gASgLMhMuQ21kQXBwbHlXaWZpQ2'
|
||||
'9uZmlnSABSEmNtZEFwcGx5V2lmaUNvbmZpZxJLChZyZXNwX2FwcGx5X3dpZmlfY29uZmlnGA8g'
|
||||
'ASgLMhQuUmVzcEFwcGx5V2lmaUNvbmZpZ0gAUhNyZXNwQXBwbHlXaWZpQ29uZmlnEkgKFWNtZF'
|
||||
'9nZXRfdGhyZWFkX3N0YXR1cxgQIAEoCzITLkNtZEdldFRocmVhZFN0YXR1c0gAUhJjbWRHZXRU'
|
||||
'aHJlYWRTdGF0dXMSSwoWcmVzcF9nZXRfdGhyZWFkX3N0YXR1cxgRIAEoCzIULlJlc3BHZXRUaH'
|
||||
'JlYWRTdGF0dXNIAFITcmVzcEdldFRocmVhZFN0YXR1cxJIChVjbWRfc2V0X3RocmVhZF9jb25m'
|
||||
'aWcYEiABKAsyEy5DbWRTZXRUaHJlYWRDb25maWdIAFISY21kU2V0VGhyZWFkQ29uZmlnEksKFn'
|
||||
'Jlc3Bfc2V0X3RocmVhZF9jb25maWcYEyABKAsyFC5SZXNwU2V0VGhyZWFkQ29uZmlnSABSE3Jl'
|
||||
'c3BTZXRUaHJlYWRDb25maWcSTgoXY21kX2FwcGx5X3RocmVhZF9jb25maWcYFCABKAsyFS5DbW'
|
||||
'RBcHBseVRocmVhZENvbmZpZ0gAUhRjbWRBcHBseVRocmVhZENvbmZpZxJRChhyZXNwX2FwcGx5'
|
||||
'X3RocmVhZF9jb25maWcYFSABKAsyFi5SZXNwQXBwbHlUaHJlYWRDb25maWdIAFIVcmVzcEFwcG'
|
||||
'x5VGhyZWFkQ29uZmlnQgkKB3BheWxvYWQ=');
|
||||
@@ -0,0 +1,274 @@
|
||||
// This is a generated file - do not edit.
|
||||
//
|
||||
// Generated from network_constants.proto.
|
||||
|
||||
// @dart = 3.3
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types, comment_references
|
||||
// ignore_for_file: constant_identifier_names
|
||||
// ignore_for_file: curly_braces_in_flow_control_structures
|
||||
// ignore_for_file: deprecated_member_use_from_same_package, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_relative_imports
|
||||
|
||||
import 'dart:core' as $core;
|
||||
|
||||
import 'package:protobuf/protobuf.dart' as $pb;
|
||||
|
||||
import 'network_constants.pbenum.dart';
|
||||
|
||||
export 'package:protobuf/protobuf.dart' show GeneratedMessageGenericExtensions;
|
||||
|
||||
export 'network_constants.pbenum.dart';
|
||||
|
||||
class WifiConnectedState extends $pb.GeneratedMessage {
|
||||
factory WifiConnectedState({
|
||||
$core.String? ip4Addr,
|
||||
WifiAuthMode? authMode,
|
||||
$core.List<$core.int>? ssid,
|
||||
$core.List<$core.int>? bssid,
|
||||
$core.int? channel,
|
||||
}) {
|
||||
final result = create();
|
||||
if (ip4Addr != null) result.ip4Addr = ip4Addr;
|
||||
if (authMode != null) result.authMode = authMode;
|
||||
if (ssid != null) result.ssid = ssid;
|
||||
if (bssid != null) result.bssid = bssid;
|
||||
if (channel != null) result.channel = channel;
|
||||
return result;
|
||||
}
|
||||
|
||||
WifiConnectedState._();
|
||||
|
||||
factory WifiConnectedState.fromBuffer($core.List<$core.int> data,
|
||||
[$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) =>
|
||||
create()..mergeFromBuffer(data, registry);
|
||||
factory WifiConnectedState.fromJson($core.String json,
|
||||
[$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) =>
|
||||
create()..mergeFromJson(json, registry);
|
||||
|
||||
static final $pb.BuilderInfo _i = $pb.BuilderInfo(
|
||||
_omitMessageNames ? '' : 'WifiConnectedState',
|
||||
createEmptyInstance: create)
|
||||
..aOS(1, _omitFieldNames ? '' : 'ip4Addr')
|
||||
..aE<WifiAuthMode>(2, _omitFieldNames ? '' : 'authMode',
|
||||
enumValues: WifiAuthMode.values)
|
||||
..a<$core.List<$core.int>>(
|
||||
3, _omitFieldNames ? '' : 'ssid', $pb.PbFieldType.OY)
|
||||
..a<$core.List<$core.int>>(
|
||||
4, _omitFieldNames ? '' : 'bssid', $pb.PbFieldType.OY)
|
||||
..aI(5, _omitFieldNames ? '' : 'channel')
|
||||
..hasRequiredFields = false;
|
||||
|
||||
@$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
|
||||
WifiConnectedState clone() => deepCopy();
|
||||
@$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
|
||||
WifiConnectedState copyWith(void Function(WifiConnectedState) updates) =>
|
||||
super.copyWith((message) => updates(message as WifiConnectedState))
|
||||
as WifiConnectedState;
|
||||
|
||||
@$core.override
|
||||
$pb.BuilderInfo get info_ => _i;
|
||||
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static WifiConnectedState create() => WifiConnectedState._();
|
||||
@$core.override
|
||||
WifiConnectedState createEmptyInstance() => create();
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static WifiConnectedState getDefault() => _defaultInstance ??=
|
||||
$pb.GeneratedMessage.$_defaultFor<WifiConnectedState>(create);
|
||||
static WifiConnectedState? _defaultInstance;
|
||||
|
||||
@$pb.TagNumber(1)
|
||||
$core.String get ip4Addr => $_getSZ(0);
|
||||
@$pb.TagNumber(1)
|
||||
set ip4Addr($core.String value) => $_setString(0, value);
|
||||
@$pb.TagNumber(1)
|
||||
$core.bool hasIp4Addr() => $_has(0);
|
||||
@$pb.TagNumber(1)
|
||||
void clearIp4Addr() => $_clearField(1);
|
||||
|
||||
@$pb.TagNumber(2)
|
||||
WifiAuthMode get authMode => $_getN(1);
|
||||
@$pb.TagNumber(2)
|
||||
set authMode(WifiAuthMode value) => $_setField(2, value);
|
||||
@$pb.TagNumber(2)
|
||||
$core.bool hasAuthMode() => $_has(1);
|
||||
@$pb.TagNumber(2)
|
||||
void clearAuthMode() => $_clearField(2);
|
||||
|
||||
@$pb.TagNumber(3)
|
||||
$core.List<$core.int> get ssid => $_getN(2);
|
||||
@$pb.TagNumber(3)
|
||||
set ssid($core.List<$core.int> value) => $_setBytes(2, value);
|
||||
@$pb.TagNumber(3)
|
||||
$core.bool hasSsid() => $_has(2);
|
||||
@$pb.TagNumber(3)
|
||||
void clearSsid() => $_clearField(3);
|
||||
|
||||
@$pb.TagNumber(4)
|
||||
$core.List<$core.int> get bssid => $_getN(3);
|
||||
@$pb.TagNumber(4)
|
||||
set bssid($core.List<$core.int> value) => $_setBytes(3, value);
|
||||
@$pb.TagNumber(4)
|
||||
$core.bool hasBssid() => $_has(3);
|
||||
@$pb.TagNumber(4)
|
||||
void clearBssid() => $_clearField(4);
|
||||
|
||||
@$pb.TagNumber(5)
|
||||
$core.int get channel => $_getIZ(4);
|
||||
@$pb.TagNumber(5)
|
||||
set channel($core.int value) => $_setSignedInt32(4, value);
|
||||
@$pb.TagNumber(5)
|
||||
$core.bool hasChannel() => $_has(4);
|
||||
@$pb.TagNumber(5)
|
||||
void clearChannel() => $_clearField(5);
|
||||
}
|
||||
|
||||
class WifiAttemptFailed extends $pb.GeneratedMessage {
|
||||
factory WifiAttemptFailed({
|
||||
$core.int? attemptsRemaining,
|
||||
}) {
|
||||
final result = create();
|
||||
if (attemptsRemaining != null) result.attemptsRemaining = attemptsRemaining;
|
||||
return result;
|
||||
}
|
||||
|
||||
WifiAttemptFailed._();
|
||||
|
||||
factory WifiAttemptFailed.fromBuffer($core.List<$core.int> data,
|
||||
[$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) =>
|
||||
create()..mergeFromBuffer(data, registry);
|
||||
factory WifiAttemptFailed.fromJson($core.String json,
|
||||
[$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) =>
|
||||
create()..mergeFromJson(json, registry);
|
||||
|
||||
static final $pb.BuilderInfo _i = $pb.BuilderInfo(
|
||||
_omitMessageNames ? '' : 'WifiAttemptFailed',
|
||||
createEmptyInstance: create)
|
||||
..aI(1, _omitFieldNames ? '' : 'attemptsRemaining',
|
||||
fieldType: $pb.PbFieldType.OU3)
|
||||
..hasRequiredFields = false;
|
||||
|
||||
@$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
|
||||
WifiAttemptFailed clone() => deepCopy();
|
||||
@$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
|
||||
WifiAttemptFailed copyWith(void Function(WifiAttemptFailed) updates) =>
|
||||
super.copyWith((message) => updates(message as WifiAttemptFailed))
|
||||
as WifiAttemptFailed;
|
||||
|
||||
@$core.override
|
||||
$pb.BuilderInfo get info_ => _i;
|
||||
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static WifiAttemptFailed create() => WifiAttemptFailed._();
|
||||
@$core.override
|
||||
WifiAttemptFailed createEmptyInstance() => create();
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static WifiAttemptFailed getDefault() => _defaultInstance ??=
|
||||
$pb.GeneratedMessage.$_defaultFor<WifiAttemptFailed>(create);
|
||||
static WifiAttemptFailed? _defaultInstance;
|
||||
|
||||
@$pb.TagNumber(1)
|
||||
$core.int get attemptsRemaining => $_getIZ(0);
|
||||
@$pb.TagNumber(1)
|
||||
set attemptsRemaining($core.int value) => $_setUnsignedInt32(0, value);
|
||||
@$pb.TagNumber(1)
|
||||
$core.bool hasAttemptsRemaining() => $_has(0);
|
||||
@$pb.TagNumber(1)
|
||||
void clearAttemptsRemaining() => $_clearField(1);
|
||||
}
|
||||
|
||||
class ThreadAttachState extends $pb.GeneratedMessage {
|
||||
factory ThreadAttachState({
|
||||
$core.int? panId,
|
||||
$core.List<$core.int>? extPanId,
|
||||
$core.int? channel,
|
||||
$core.String? name,
|
||||
}) {
|
||||
final result = create();
|
||||
if (panId != null) result.panId = panId;
|
||||
if (extPanId != null) result.extPanId = extPanId;
|
||||
if (channel != null) result.channel = channel;
|
||||
if (name != null) result.name = name;
|
||||
return result;
|
||||
}
|
||||
|
||||
ThreadAttachState._();
|
||||
|
||||
factory ThreadAttachState.fromBuffer($core.List<$core.int> data,
|
||||
[$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) =>
|
||||
create()..mergeFromBuffer(data, registry);
|
||||
factory ThreadAttachState.fromJson($core.String json,
|
||||
[$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) =>
|
||||
create()..mergeFromJson(json, registry);
|
||||
|
||||
static final $pb.BuilderInfo _i = $pb.BuilderInfo(
|
||||
_omitMessageNames ? '' : 'ThreadAttachState',
|
||||
createEmptyInstance: create)
|
||||
..aI(1, _omitFieldNames ? '' : 'panId', fieldType: $pb.PbFieldType.OU3)
|
||||
..a<$core.List<$core.int>>(
|
||||
2, _omitFieldNames ? '' : 'extPanId', $pb.PbFieldType.OY)
|
||||
..aI(3, _omitFieldNames ? '' : 'channel', fieldType: $pb.PbFieldType.OU3)
|
||||
..aOS(4, _omitFieldNames ? '' : 'name')
|
||||
..hasRequiredFields = false;
|
||||
|
||||
@$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
|
||||
ThreadAttachState clone() => deepCopy();
|
||||
@$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
|
||||
ThreadAttachState copyWith(void Function(ThreadAttachState) updates) =>
|
||||
super.copyWith((message) => updates(message as ThreadAttachState))
|
||||
as ThreadAttachState;
|
||||
|
||||
@$core.override
|
||||
$pb.BuilderInfo get info_ => _i;
|
||||
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static ThreadAttachState create() => ThreadAttachState._();
|
||||
@$core.override
|
||||
ThreadAttachState createEmptyInstance() => create();
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static ThreadAttachState getDefault() => _defaultInstance ??=
|
||||
$pb.GeneratedMessage.$_defaultFor<ThreadAttachState>(create);
|
||||
static ThreadAttachState? _defaultInstance;
|
||||
|
||||
@$pb.TagNumber(1)
|
||||
$core.int get panId => $_getIZ(0);
|
||||
@$pb.TagNumber(1)
|
||||
set panId($core.int value) => $_setUnsignedInt32(0, value);
|
||||
@$pb.TagNumber(1)
|
||||
$core.bool hasPanId() => $_has(0);
|
||||
@$pb.TagNumber(1)
|
||||
void clearPanId() => $_clearField(1);
|
||||
|
||||
@$pb.TagNumber(2)
|
||||
$core.List<$core.int> get extPanId => $_getN(1);
|
||||
@$pb.TagNumber(2)
|
||||
set extPanId($core.List<$core.int> value) => $_setBytes(1, value);
|
||||
@$pb.TagNumber(2)
|
||||
$core.bool hasExtPanId() => $_has(1);
|
||||
@$pb.TagNumber(2)
|
||||
void clearExtPanId() => $_clearField(2);
|
||||
|
||||
@$pb.TagNumber(3)
|
||||
$core.int get channel => $_getIZ(2);
|
||||
@$pb.TagNumber(3)
|
||||
set channel($core.int value) => $_setUnsignedInt32(2, value);
|
||||
@$pb.TagNumber(3)
|
||||
$core.bool hasChannel() => $_has(2);
|
||||
@$pb.TagNumber(3)
|
||||
void clearChannel() => $_clearField(3);
|
||||
|
||||
@$pb.TagNumber(4)
|
||||
$core.String get name => $_getSZ(3);
|
||||
@$pb.TagNumber(4)
|
||||
set name($core.String value) => $_setString(3, value);
|
||||
@$pb.TagNumber(4)
|
||||
$core.bool hasName() => $_has(3);
|
||||
@$pb.TagNumber(4)
|
||||
void clearName() => $_clearField(4);
|
||||
}
|
||||
|
||||
const $core.bool _omitFieldNames =
|
||||
$core.bool.fromEnvironment('protobuf.omit_field_names');
|
||||
const $core.bool _omitMessageNames =
|
||||
$core.bool.fromEnvironment('protobuf.omit_message_names');
|
||||
@@ -0,0 +1,146 @@
|
||||
// This is a generated file - do not edit.
|
||||
//
|
||||
// Generated from network_constants.proto.
|
||||
|
||||
// @dart = 3.3
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types, comment_references
|
||||
// ignore_for_file: constant_identifier_names
|
||||
// ignore_for_file: curly_braces_in_flow_control_structures
|
||||
// ignore_for_file: deprecated_member_use_from_same_package, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_relative_imports
|
||||
|
||||
import 'dart:core' as $core;
|
||||
|
||||
import 'package:protobuf/protobuf.dart' as $pb;
|
||||
|
||||
class WifiStationState extends $pb.ProtobufEnum {
|
||||
static const WifiStationState Connected =
|
||||
WifiStationState._(0, _omitEnumNames ? '' : 'Connected');
|
||||
static const WifiStationState Connecting =
|
||||
WifiStationState._(1, _omitEnumNames ? '' : 'Connecting');
|
||||
static const WifiStationState Disconnected =
|
||||
WifiStationState._(2, _omitEnumNames ? '' : 'Disconnected');
|
||||
static const WifiStationState ConnectionFailed =
|
||||
WifiStationState._(3, _omitEnumNames ? '' : 'ConnectionFailed');
|
||||
|
||||
static const $core.List<WifiStationState> values = <WifiStationState>[
|
||||
Connected,
|
||||
Connecting,
|
||||
Disconnected,
|
||||
ConnectionFailed,
|
||||
];
|
||||
|
||||
static final $core.List<WifiStationState?> _byValue =
|
||||
$pb.ProtobufEnum.$_initByValueList(values, 3);
|
||||
static WifiStationState? valueOf($core.int value) =>
|
||||
value < 0 || value >= _byValue.length ? null : _byValue[value];
|
||||
|
||||
const WifiStationState._(super.value, super.name);
|
||||
}
|
||||
|
||||
class WifiConnectFailedReason extends $pb.ProtobufEnum {
|
||||
static const WifiConnectFailedReason AuthError =
|
||||
WifiConnectFailedReason._(0, _omitEnumNames ? '' : 'AuthError');
|
||||
static const WifiConnectFailedReason WifiNetworkNotFound =
|
||||
WifiConnectFailedReason._(1, _omitEnumNames ? '' : 'WifiNetworkNotFound');
|
||||
|
||||
static const $core.List<WifiConnectFailedReason> values =
|
||||
<WifiConnectFailedReason>[
|
||||
AuthError,
|
||||
WifiNetworkNotFound,
|
||||
];
|
||||
|
||||
static final $core.List<WifiConnectFailedReason?> _byValue =
|
||||
$pb.ProtobufEnum.$_initByValueList(values, 1);
|
||||
static WifiConnectFailedReason? valueOf($core.int value) =>
|
||||
value < 0 || value >= _byValue.length ? null : _byValue[value];
|
||||
|
||||
const WifiConnectFailedReason._(super.value, super.name);
|
||||
}
|
||||
|
||||
class WifiAuthMode extends $pb.ProtobufEnum {
|
||||
static const WifiAuthMode Open =
|
||||
WifiAuthMode._(0, _omitEnumNames ? '' : 'Open');
|
||||
static const WifiAuthMode WEP =
|
||||
WifiAuthMode._(1, _omitEnumNames ? '' : 'WEP');
|
||||
static const WifiAuthMode WPA_PSK =
|
||||
WifiAuthMode._(2, _omitEnumNames ? '' : 'WPA_PSK');
|
||||
static const WifiAuthMode WPA2_PSK =
|
||||
WifiAuthMode._(3, _omitEnumNames ? '' : 'WPA2_PSK');
|
||||
static const WifiAuthMode WPA_WPA2_PSK =
|
||||
WifiAuthMode._(4, _omitEnumNames ? '' : 'WPA_WPA2_PSK');
|
||||
static const WifiAuthMode WPA2_ENTERPRISE =
|
||||
WifiAuthMode._(5, _omitEnumNames ? '' : 'WPA2_ENTERPRISE');
|
||||
static const WifiAuthMode WPA3_PSK =
|
||||
WifiAuthMode._(6, _omitEnumNames ? '' : 'WPA3_PSK');
|
||||
static const WifiAuthMode WPA2_WPA3_PSK =
|
||||
WifiAuthMode._(7, _omitEnumNames ? '' : 'WPA2_WPA3_PSK');
|
||||
|
||||
static const $core.List<WifiAuthMode> values = <WifiAuthMode>[
|
||||
Open,
|
||||
WEP,
|
||||
WPA_PSK,
|
||||
WPA2_PSK,
|
||||
WPA_WPA2_PSK,
|
||||
WPA2_ENTERPRISE,
|
||||
WPA3_PSK,
|
||||
WPA2_WPA3_PSK,
|
||||
];
|
||||
|
||||
static final $core.List<WifiAuthMode?> _byValue =
|
||||
$pb.ProtobufEnum.$_initByValueList(values, 7);
|
||||
static WifiAuthMode? valueOf($core.int value) =>
|
||||
value < 0 || value >= _byValue.length ? null : _byValue[value];
|
||||
|
||||
const WifiAuthMode._(super.value, super.name);
|
||||
}
|
||||
|
||||
class ThreadNetworkState extends $pb.ProtobufEnum {
|
||||
static const ThreadNetworkState Attached =
|
||||
ThreadNetworkState._(0, _omitEnumNames ? '' : 'Attached');
|
||||
static const ThreadNetworkState Attaching =
|
||||
ThreadNetworkState._(1, _omitEnumNames ? '' : 'Attaching');
|
||||
static const ThreadNetworkState Dettached =
|
||||
ThreadNetworkState._(2, _omitEnumNames ? '' : 'Dettached');
|
||||
static const ThreadNetworkState AttachingFailed =
|
||||
ThreadNetworkState._(3, _omitEnumNames ? '' : 'AttachingFailed');
|
||||
|
||||
static const $core.List<ThreadNetworkState> values = <ThreadNetworkState>[
|
||||
Attached,
|
||||
Attaching,
|
||||
Dettached,
|
||||
AttachingFailed,
|
||||
];
|
||||
|
||||
static final $core.List<ThreadNetworkState?> _byValue =
|
||||
$pb.ProtobufEnum.$_initByValueList(values, 3);
|
||||
static ThreadNetworkState? valueOf($core.int value) =>
|
||||
value < 0 || value >= _byValue.length ? null : _byValue[value];
|
||||
|
||||
const ThreadNetworkState._(super.value, super.name);
|
||||
}
|
||||
|
||||
class ThreadAttachFailedReason extends $pb.ProtobufEnum {
|
||||
static const ThreadAttachFailedReason DatasetInvalid =
|
||||
ThreadAttachFailedReason._(0, _omitEnumNames ? '' : 'DatasetInvalid');
|
||||
static const ThreadAttachFailedReason ThreadNetworkNotFound =
|
||||
ThreadAttachFailedReason._(
|
||||
1, _omitEnumNames ? '' : 'ThreadNetworkNotFound');
|
||||
|
||||
static const $core.List<ThreadAttachFailedReason> values =
|
||||
<ThreadAttachFailedReason>[
|
||||
DatasetInvalid,
|
||||
ThreadNetworkNotFound,
|
||||
];
|
||||
|
||||
static final $core.List<ThreadAttachFailedReason?> _byValue =
|
||||
$pb.ProtobufEnum.$_initByValueList(values, 1);
|
||||
static ThreadAttachFailedReason? valueOf($core.int value) =>
|
||||
value < 0 || value >= _byValue.length ? null : _byValue[value];
|
||||
|
||||
const ThreadAttachFailedReason._(super.value, super.name);
|
||||
}
|
||||
|
||||
const $core.bool _omitEnumNames =
|
||||
$core.bool.fromEnvironment('protobuf.omit_enum_names');
|
||||
@@ -0,0 +1,160 @@
|
||||
// This is a generated file - do not edit.
|
||||
//
|
||||
// Generated from network_constants.proto.
|
||||
|
||||
// @dart = 3.3
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types, comment_references
|
||||
// ignore_for_file: constant_identifier_names
|
||||
// ignore_for_file: curly_braces_in_flow_control_structures
|
||||
// ignore_for_file: deprecated_member_use_from_same_package, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_relative_imports
|
||||
// ignore_for_file: unused_import
|
||||
|
||||
import 'dart:convert' as $convert;
|
||||
import 'dart:core' as $core;
|
||||
import 'dart:typed_data' as $typed_data;
|
||||
|
||||
@$core.Deprecated('Use wifiStationStateDescriptor instead')
|
||||
const WifiStationState$json = {
|
||||
'1': 'WifiStationState',
|
||||
'2': [
|
||||
{'1': 'Connected', '2': 0},
|
||||
{'1': 'Connecting', '2': 1},
|
||||
{'1': 'Disconnected', '2': 2},
|
||||
{'1': 'ConnectionFailed', '2': 3},
|
||||
],
|
||||
};
|
||||
|
||||
/// Descriptor for `WifiStationState`. Decode as a `google.protobuf.EnumDescriptorProto`.
|
||||
final $typed_data.Uint8List wifiStationStateDescriptor = $convert.base64Decode(
|
||||
'ChBXaWZpU3RhdGlvblN0YXRlEg0KCUNvbm5lY3RlZBAAEg4KCkNvbm5lY3RpbmcQARIQCgxEaX'
|
||||
'Njb25uZWN0ZWQQAhIUChBDb25uZWN0aW9uRmFpbGVkEAM=');
|
||||
|
||||
@$core.Deprecated('Use wifiConnectFailedReasonDescriptor instead')
|
||||
const WifiConnectFailedReason$json = {
|
||||
'1': 'WifiConnectFailedReason',
|
||||
'2': [
|
||||
{'1': 'AuthError', '2': 0},
|
||||
{'1': 'WifiNetworkNotFound', '2': 1},
|
||||
],
|
||||
};
|
||||
|
||||
/// Descriptor for `WifiConnectFailedReason`. Decode as a `google.protobuf.EnumDescriptorProto`.
|
||||
final $typed_data.Uint8List wifiConnectFailedReasonDescriptor =
|
||||
$convert.base64Decode(
|
||||
'ChdXaWZpQ29ubmVjdEZhaWxlZFJlYXNvbhINCglBdXRoRXJyb3IQABIXChNXaWZpTmV0d29ya0'
|
||||
'5vdEZvdW5kEAE=');
|
||||
|
||||
@$core.Deprecated('Use wifiAuthModeDescriptor instead')
|
||||
const WifiAuthMode$json = {
|
||||
'1': 'WifiAuthMode',
|
||||
'2': [
|
||||
{'1': 'Open', '2': 0},
|
||||
{'1': 'WEP', '2': 1},
|
||||
{'1': 'WPA_PSK', '2': 2},
|
||||
{'1': 'WPA2_PSK', '2': 3},
|
||||
{'1': 'WPA_WPA2_PSK', '2': 4},
|
||||
{'1': 'WPA2_ENTERPRISE', '2': 5},
|
||||
{'1': 'WPA3_PSK', '2': 6},
|
||||
{'1': 'WPA2_WPA3_PSK', '2': 7},
|
||||
],
|
||||
};
|
||||
|
||||
/// Descriptor for `WifiAuthMode`. Decode as a `google.protobuf.EnumDescriptorProto`.
|
||||
final $typed_data.Uint8List wifiAuthModeDescriptor = $convert.base64Decode(
|
||||
'CgxXaWZpQXV0aE1vZGUSCAoET3BlbhAAEgcKA1dFUBABEgsKB1dQQV9QU0sQAhIMCghXUEEyX1'
|
||||
'BTSxADEhAKDFdQQV9XUEEyX1BTSxAEEhMKD1dQQTJfRU5URVJQUklTRRAFEgwKCFdQQTNfUFNL'
|
||||
'EAYSEQoNV1BBMl9XUEEzX1BTSxAH');
|
||||
|
||||
@$core.Deprecated('Use threadNetworkStateDescriptor instead')
|
||||
const ThreadNetworkState$json = {
|
||||
'1': 'ThreadNetworkState',
|
||||
'2': [
|
||||
{'1': 'Attached', '2': 0},
|
||||
{'1': 'Attaching', '2': 1},
|
||||
{'1': 'Dettached', '2': 2},
|
||||
{'1': 'AttachingFailed', '2': 3},
|
||||
],
|
||||
};
|
||||
|
||||
/// Descriptor for `ThreadNetworkState`. Decode as a `google.protobuf.EnumDescriptorProto`.
|
||||
final $typed_data.Uint8List threadNetworkStateDescriptor = $convert.base64Decode(
|
||||
'ChJUaHJlYWROZXR3b3JrU3RhdGUSDAoIQXR0YWNoZWQQABINCglBdHRhY2hpbmcQARINCglEZX'
|
||||
'R0YWNoZWQQAhITCg9BdHRhY2hpbmdGYWlsZWQQAw==');
|
||||
|
||||
@$core.Deprecated('Use threadAttachFailedReasonDescriptor instead')
|
||||
const ThreadAttachFailedReason$json = {
|
||||
'1': 'ThreadAttachFailedReason',
|
||||
'2': [
|
||||
{'1': 'DatasetInvalid', '2': 0},
|
||||
{'1': 'ThreadNetworkNotFound', '2': 1},
|
||||
],
|
||||
};
|
||||
|
||||
/// Descriptor for `ThreadAttachFailedReason`. Decode as a `google.protobuf.EnumDescriptorProto`.
|
||||
final $typed_data.Uint8List threadAttachFailedReasonDescriptor =
|
||||
$convert.base64Decode(
|
||||
'ChhUaHJlYWRBdHRhY2hGYWlsZWRSZWFzb24SEgoORGF0YXNldEludmFsaWQQABIZChVUaHJlYW'
|
||||
'ROZXR3b3JrTm90Rm91bmQQAQ==');
|
||||
|
||||
@$core.Deprecated('Use wifiConnectedStateDescriptor instead')
|
||||
const WifiConnectedState$json = {
|
||||
'1': 'WifiConnectedState',
|
||||
'2': [
|
||||
{'1': 'ip4_addr', '3': 1, '4': 1, '5': 9, '10': 'ip4Addr'},
|
||||
{
|
||||
'1': 'auth_mode',
|
||||
'3': 2,
|
||||
'4': 1,
|
||||
'5': 14,
|
||||
'6': '.WifiAuthMode',
|
||||
'10': 'authMode'
|
||||
},
|
||||
{'1': 'ssid', '3': 3, '4': 1, '5': 12, '10': 'ssid'},
|
||||
{'1': 'bssid', '3': 4, '4': 1, '5': 12, '10': 'bssid'},
|
||||
{'1': 'channel', '3': 5, '4': 1, '5': 5, '10': 'channel'},
|
||||
],
|
||||
};
|
||||
|
||||
/// Descriptor for `WifiConnectedState`. Decode as a `google.protobuf.DescriptorProto`.
|
||||
final $typed_data.Uint8List wifiConnectedStateDescriptor = $convert.base64Decode(
|
||||
'ChJXaWZpQ29ubmVjdGVkU3RhdGUSGQoIaXA0X2FkZHIYASABKAlSB2lwNEFkZHISKgoJYXV0aF'
|
||||
'9tb2RlGAIgASgOMg0uV2lmaUF1dGhNb2RlUghhdXRoTW9kZRISCgRzc2lkGAMgASgMUgRzc2lk'
|
||||
'EhQKBWJzc2lkGAQgASgMUgVic3NpZBIYCgdjaGFubmVsGAUgASgFUgdjaGFubmVs');
|
||||
|
||||
@$core.Deprecated('Use wifiAttemptFailedDescriptor instead')
|
||||
const WifiAttemptFailed$json = {
|
||||
'1': 'WifiAttemptFailed',
|
||||
'2': [
|
||||
{
|
||||
'1': 'attempts_remaining',
|
||||
'3': 1,
|
||||
'4': 1,
|
||||
'5': 13,
|
||||
'10': 'attemptsRemaining'
|
||||
},
|
||||
],
|
||||
};
|
||||
|
||||
/// Descriptor for `WifiAttemptFailed`. Decode as a `google.protobuf.DescriptorProto`.
|
||||
final $typed_data.Uint8List wifiAttemptFailedDescriptor = $convert.base64Decode(
|
||||
'ChFXaWZpQXR0ZW1wdEZhaWxlZBItChJhdHRlbXB0c19yZW1haW5pbmcYASABKA1SEWF0dGVtcH'
|
||||
'RzUmVtYWluaW5n');
|
||||
|
||||
@$core.Deprecated('Use threadAttachStateDescriptor instead')
|
||||
const ThreadAttachState$json = {
|
||||
'1': 'ThreadAttachState',
|
||||
'2': [
|
||||
{'1': 'pan_id', '3': 1, '4': 1, '5': 13, '10': 'panId'},
|
||||
{'1': 'ext_pan_id', '3': 2, '4': 1, '5': 12, '10': 'extPanId'},
|
||||
{'1': 'channel', '3': 3, '4': 1, '5': 13, '10': 'channel'},
|
||||
{'1': 'name', '3': 4, '4': 1, '5': 9, '10': 'name'},
|
||||
],
|
||||
};
|
||||
|
||||
/// Descriptor for `ThreadAttachState`. Decode as a `google.protobuf.DescriptorProto`.
|
||||
final $typed_data.Uint8List threadAttachStateDescriptor = $convert.base64Decode(
|
||||
'ChFUaHJlYWRBdHRhY2hTdGF0ZRIVCgZwYW5faWQYASABKA1SBXBhbklkEhwKCmV4dF9wYW5faW'
|
||||
'QYAiABKAxSCGV4dFBhbklkEhgKB2NoYW5uZWwYAyABKA1SB2NoYW5uZWwSEgoEbmFtZRgEIAEo'
|
||||
'CVIEbmFtZQ==');
|
||||
@@ -0,0 +1,219 @@
|
||||
// This is a generated file - do not edit.
|
||||
//
|
||||
// Generated from sec0.proto.
|
||||
|
||||
// @dart = 3.3
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types, comment_references
|
||||
// ignore_for_file: constant_identifier_names
|
||||
// ignore_for_file: curly_braces_in_flow_control_structures
|
||||
// ignore_for_file: deprecated_member_use_from_same_package, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_relative_imports
|
||||
|
||||
import 'dart:core' as $core;
|
||||
|
||||
import 'package:protobuf/protobuf.dart' as $pb;
|
||||
|
||||
import 'constants.pbenum.dart' as $0;
|
||||
import 'sec0.pbenum.dart';
|
||||
|
||||
export 'package:protobuf/protobuf.dart' show GeneratedMessageGenericExtensions;
|
||||
|
||||
export 'sec0.pbenum.dart';
|
||||
|
||||
class S0SessionCmd extends $pb.GeneratedMessage {
|
||||
factory S0SessionCmd() => create();
|
||||
|
||||
S0SessionCmd._();
|
||||
|
||||
factory S0SessionCmd.fromBuffer($core.List<$core.int> data,
|
||||
[$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) =>
|
||||
create()..mergeFromBuffer(data, registry);
|
||||
factory S0SessionCmd.fromJson($core.String json,
|
||||
[$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) =>
|
||||
create()..mergeFromJson(json, registry);
|
||||
|
||||
static final $pb.BuilderInfo _i = $pb.BuilderInfo(
|
||||
_omitMessageNames ? '' : 'S0SessionCmd',
|
||||
createEmptyInstance: create)
|
||||
..hasRequiredFields = false;
|
||||
|
||||
@$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
|
||||
S0SessionCmd clone() => deepCopy();
|
||||
@$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
|
||||
S0SessionCmd copyWith(void Function(S0SessionCmd) updates) =>
|
||||
super.copyWith((message) => updates(message as S0SessionCmd))
|
||||
as S0SessionCmd;
|
||||
|
||||
@$core.override
|
||||
$pb.BuilderInfo get info_ => _i;
|
||||
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static S0SessionCmd create() => S0SessionCmd._();
|
||||
@$core.override
|
||||
S0SessionCmd createEmptyInstance() => create();
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static S0SessionCmd getDefault() => _defaultInstance ??=
|
||||
$pb.GeneratedMessage.$_defaultFor<S0SessionCmd>(create);
|
||||
static S0SessionCmd? _defaultInstance;
|
||||
}
|
||||
|
||||
class S0SessionResp extends $pb.GeneratedMessage {
|
||||
factory S0SessionResp({
|
||||
$0.Status? status,
|
||||
}) {
|
||||
final result = create();
|
||||
if (status != null) result.status = status;
|
||||
return result;
|
||||
}
|
||||
|
||||
S0SessionResp._();
|
||||
|
||||
factory S0SessionResp.fromBuffer($core.List<$core.int> data,
|
||||
[$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) =>
|
||||
create()..mergeFromBuffer(data, registry);
|
||||
factory S0SessionResp.fromJson($core.String json,
|
||||
[$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) =>
|
||||
create()..mergeFromJson(json, registry);
|
||||
|
||||
static final $pb.BuilderInfo _i = $pb.BuilderInfo(
|
||||
_omitMessageNames ? '' : 'S0SessionResp',
|
||||
createEmptyInstance: create)
|
||||
..aE<$0.Status>(1, _omitFieldNames ? '' : 'status',
|
||||
enumValues: $0.Status.values)
|
||||
..hasRequiredFields = false;
|
||||
|
||||
@$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
|
||||
S0SessionResp clone() => deepCopy();
|
||||
@$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
|
||||
S0SessionResp copyWith(void Function(S0SessionResp) updates) =>
|
||||
super.copyWith((message) => updates(message as S0SessionResp))
|
||||
as S0SessionResp;
|
||||
|
||||
@$core.override
|
||||
$pb.BuilderInfo get info_ => _i;
|
||||
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static S0SessionResp create() => S0SessionResp._();
|
||||
@$core.override
|
||||
S0SessionResp createEmptyInstance() => create();
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static S0SessionResp getDefault() => _defaultInstance ??=
|
||||
$pb.GeneratedMessage.$_defaultFor<S0SessionResp>(create);
|
||||
static S0SessionResp? _defaultInstance;
|
||||
|
||||
@$pb.TagNumber(1)
|
||||
$0.Status get status => $_getN(0);
|
||||
@$pb.TagNumber(1)
|
||||
set status($0.Status value) => $_setField(1, value);
|
||||
@$pb.TagNumber(1)
|
||||
$core.bool hasStatus() => $_has(0);
|
||||
@$pb.TagNumber(1)
|
||||
void clearStatus() => $_clearField(1);
|
||||
}
|
||||
|
||||
enum Sec0Payload_Payload { sc, sr, notSet }
|
||||
|
||||
class Sec0Payload extends $pb.GeneratedMessage {
|
||||
factory Sec0Payload({
|
||||
Sec0MsgType? msg,
|
||||
S0SessionCmd? sc,
|
||||
S0SessionResp? sr,
|
||||
}) {
|
||||
final result = create();
|
||||
if (msg != null) result.msg = msg;
|
||||
if (sc != null) result.sc = sc;
|
||||
if (sr != null) result.sr = sr;
|
||||
return result;
|
||||
}
|
||||
|
||||
Sec0Payload._();
|
||||
|
||||
factory Sec0Payload.fromBuffer($core.List<$core.int> data,
|
||||
[$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) =>
|
||||
create()..mergeFromBuffer(data, registry);
|
||||
factory Sec0Payload.fromJson($core.String json,
|
||||
[$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) =>
|
||||
create()..mergeFromJson(json, registry);
|
||||
|
||||
static const $core.Map<$core.int, Sec0Payload_Payload>
|
||||
_Sec0Payload_PayloadByTag = {
|
||||
20: Sec0Payload_Payload.sc,
|
||||
21: Sec0Payload_Payload.sr,
|
||||
0: Sec0Payload_Payload.notSet
|
||||
};
|
||||
static final $pb.BuilderInfo _i = $pb.BuilderInfo(
|
||||
_omitMessageNames ? '' : 'Sec0Payload',
|
||||
createEmptyInstance: create)
|
||||
..oo(0, [20, 21])
|
||||
..aE<Sec0MsgType>(1, _omitFieldNames ? '' : 'msg',
|
||||
enumValues: Sec0MsgType.values)
|
||||
..aOM<S0SessionCmd>(20, _omitFieldNames ? '' : 'sc',
|
||||
subBuilder: S0SessionCmd.create)
|
||||
..aOM<S0SessionResp>(21, _omitFieldNames ? '' : 'sr',
|
||||
subBuilder: S0SessionResp.create)
|
||||
..hasRequiredFields = false;
|
||||
|
||||
@$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
|
||||
Sec0Payload clone() => deepCopy();
|
||||
@$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
|
||||
Sec0Payload copyWith(void Function(Sec0Payload) updates) =>
|
||||
super.copyWith((message) => updates(message as Sec0Payload))
|
||||
as Sec0Payload;
|
||||
|
||||
@$core.override
|
||||
$pb.BuilderInfo get info_ => _i;
|
||||
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static Sec0Payload create() => Sec0Payload._();
|
||||
@$core.override
|
||||
Sec0Payload createEmptyInstance() => create();
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static Sec0Payload getDefault() => _defaultInstance ??=
|
||||
$pb.GeneratedMessage.$_defaultFor<Sec0Payload>(create);
|
||||
static Sec0Payload? _defaultInstance;
|
||||
|
||||
@$pb.TagNumber(20)
|
||||
@$pb.TagNumber(21)
|
||||
Sec0Payload_Payload whichPayload() =>
|
||||
_Sec0Payload_PayloadByTag[$_whichOneof(0)]!;
|
||||
@$pb.TagNumber(20)
|
||||
@$pb.TagNumber(21)
|
||||
void clearPayload() => $_clearField($_whichOneof(0));
|
||||
|
||||
@$pb.TagNumber(1)
|
||||
Sec0MsgType get msg => $_getN(0);
|
||||
@$pb.TagNumber(1)
|
||||
set msg(Sec0MsgType value) => $_setField(1, value);
|
||||
@$pb.TagNumber(1)
|
||||
$core.bool hasMsg() => $_has(0);
|
||||
@$pb.TagNumber(1)
|
||||
void clearMsg() => $_clearField(1);
|
||||
|
||||
@$pb.TagNumber(20)
|
||||
S0SessionCmd get sc => $_getN(1);
|
||||
@$pb.TagNumber(20)
|
||||
set sc(S0SessionCmd value) => $_setField(20, value);
|
||||
@$pb.TagNumber(20)
|
||||
$core.bool hasSc() => $_has(1);
|
||||
@$pb.TagNumber(20)
|
||||
void clearSc() => $_clearField(20);
|
||||
@$pb.TagNumber(20)
|
||||
S0SessionCmd ensureSc() => $_ensure(1);
|
||||
|
||||
@$pb.TagNumber(21)
|
||||
S0SessionResp get sr => $_getN(2);
|
||||
@$pb.TagNumber(21)
|
||||
set sr(S0SessionResp value) => $_setField(21, value);
|
||||
@$pb.TagNumber(21)
|
||||
$core.bool hasSr() => $_has(2);
|
||||
@$pb.TagNumber(21)
|
||||
void clearSr() => $_clearField(21);
|
||||
@$pb.TagNumber(21)
|
||||
S0SessionResp ensureSr() => $_ensure(2);
|
||||
}
|
||||
|
||||
const $core.bool _omitFieldNames =
|
||||
$core.bool.fromEnvironment('protobuf.omit_field_names');
|
||||
const $core.bool _omitMessageNames =
|
||||
$core.bool.fromEnvironment('protobuf.omit_message_names');
|
||||
@@ -0,0 +1,37 @@
|
||||
// This is a generated file - do not edit.
|
||||
//
|
||||
// Generated from sec0.proto.
|
||||
|
||||
// @dart = 3.3
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types, comment_references
|
||||
// ignore_for_file: constant_identifier_names
|
||||
// ignore_for_file: curly_braces_in_flow_control_structures
|
||||
// ignore_for_file: deprecated_member_use_from_same_package, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_relative_imports
|
||||
|
||||
import 'dart:core' as $core;
|
||||
|
||||
import 'package:protobuf/protobuf.dart' as $pb;
|
||||
|
||||
class Sec0MsgType extends $pb.ProtobufEnum {
|
||||
static const Sec0MsgType S0_Session_Command =
|
||||
Sec0MsgType._(0, _omitEnumNames ? '' : 'S0_Session_Command');
|
||||
static const Sec0MsgType S0_Session_Response =
|
||||
Sec0MsgType._(1, _omitEnumNames ? '' : 'S0_Session_Response');
|
||||
|
||||
static const $core.List<Sec0MsgType> values = <Sec0MsgType>[
|
||||
S0_Session_Command,
|
||||
S0_Session_Response,
|
||||
];
|
||||
|
||||
static final $core.List<Sec0MsgType?> _byValue =
|
||||
$pb.ProtobufEnum.$_initByValueList(values, 1);
|
||||
static Sec0MsgType? valueOf($core.int value) =>
|
||||
value < 0 || value >= _byValue.length ? null : _byValue[value];
|
||||
|
||||
const Sec0MsgType._(super.value, super.name);
|
||||
}
|
||||
|
||||
const $core.bool _omitEnumNames =
|
||||
$core.bool.fromEnvironment('protobuf.omit_enum_names');
|
||||
@@ -0,0 +1,86 @@
|
||||
// This is a generated file - do not edit.
|
||||
//
|
||||
// Generated from sec0.proto.
|
||||
|
||||
// @dart = 3.3
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types, comment_references
|
||||
// ignore_for_file: constant_identifier_names
|
||||
// ignore_for_file: curly_braces_in_flow_control_structures
|
||||
// ignore_for_file: deprecated_member_use_from_same_package, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_relative_imports
|
||||
// ignore_for_file: unused_import
|
||||
|
||||
import 'dart:convert' as $convert;
|
||||
import 'dart:core' as $core;
|
||||
import 'dart:typed_data' as $typed_data;
|
||||
|
||||
@$core.Deprecated('Use sec0MsgTypeDescriptor instead')
|
||||
const Sec0MsgType$json = {
|
||||
'1': 'Sec0MsgType',
|
||||
'2': [
|
||||
{'1': 'S0_Session_Command', '2': 0},
|
||||
{'1': 'S0_Session_Response', '2': 1},
|
||||
],
|
||||
};
|
||||
|
||||
/// Descriptor for `Sec0MsgType`. Decode as a `google.protobuf.EnumDescriptorProto`.
|
||||
final $typed_data.Uint8List sec0MsgTypeDescriptor = $convert.base64Decode(
|
||||
'CgtTZWMwTXNnVHlwZRIWChJTMF9TZXNzaW9uX0NvbW1hbmQQABIXChNTMF9TZXNzaW9uX1Jlc3'
|
||||
'BvbnNlEAE=');
|
||||
|
||||
@$core.Deprecated('Use s0SessionCmdDescriptor instead')
|
||||
const S0SessionCmd$json = {
|
||||
'1': 'S0SessionCmd',
|
||||
};
|
||||
|
||||
/// Descriptor for `S0SessionCmd`. Decode as a `google.protobuf.DescriptorProto`.
|
||||
final $typed_data.Uint8List s0SessionCmdDescriptor =
|
||||
$convert.base64Decode('CgxTMFNlc3Npb25DbWQ=');
|
||||
|
||||
@$core.Deprecated('Use s0SessionRespDescriptor instead')
|
||||
const S0SessionResp$json = {
|
||||
'1': 'S0SessionResp',
|
||||
'2': [
|
||||
{'1': 'status', '3': 1, '4': 1, '5': 14, '6': '.Status', '10': 'status'},
|
||||
],
|
||||
};
|
||||
|
||||
/// Descriptor for `S0SessionResp`. Decode as a `google.protobuf.DescriptorProto`.
|
||||
final $typed_data.Uint8List s0SessionRespDescriptor = $convert.base64Decode(
|
||||
'Cg1TMFNlc3Npb25SZXNwEh8KBnN0YXR1cxgBIAEoDjIHLlN0YXR1c1IGc3RhdHVz');
|
||||
|
||||
@$core.Deprecated('Use sec0PayloadDescriptor instead')
|
||||
const Sec0Payload$json = {
|
||||
'1': 'Sec0Payload',
|
||||
'2': [
|
||||
{'1': 'msg', '3': 1, '4': 1, '5': 14, '6': '.Sec0MsgType', '10': 'msg'},
|
||||
{
|
||||
'1': 'sc',
|
||||
'3': 20,
|
||||
'4': 1,
|
||||
'5': 11,
|
||||
'6': '.S0SessionCmd',
|
||||
'9': 0,
|
||||
'10': 'sc'
|
||||
},
|
||||
{
|
||||
'1': 'sr',
|
||||
'3': 21,
|
||||
'4': 1,
|
||||
'5': 11,
|
||||
'6': '.S0SessionResp',
|
||||
'9': 0,
|
||||
'10': 'sr'
|
||||
},
|
||||
],
|
||||
'8': [
|
||||
{'1': 'payload'},
|
||||
],
|
||||
};
|
||||
|
||||
/// Descriptor for `Sec0Payload`. Decode as a `google.protobuf.DescriptorProto`.
|
||||
final $typed_data.Uint8List sec0PayloadDescriptor = $convert.base64Decode(
|
||||
'CgtTZWMwUGF5bG9hZBIeCgNtc2cYASABKA4yDC5TZWMwTXNnVHlwZVIDbXNnEh8KAnNjGBQgAS'
|
||||
'gLMg0uUzBTZXNzaW9uQ21kSABSAnNjEiAKAnNyGBUgASgLMg4uUzBTZXNzaW9uUmVzcEgAUgJz'
|
||||
'ckIJCgdwYXlsb2Fk');
|
||||
@@ -0,0 +1,106 @@
|
||||
// This is a generated file - do not edit.
|
||||
//
|
||||
// Generated from session.proto.
|
||||
|
||||
// @dart = 3.3
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types, comment_references
|
||||
// ignore_for_file: constant_identifier_names
|
||||
// ignore_for_file: curly_braces_in_flow_control_structures
|
||||
// ignore_for_file: deprecated_member_use_from_same_package, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_relative_imports
|
||||
|
||||
import 'dart:core' as $core;
|
||||
|
||||
import 'package:protobuf/protobuf.dart' as $pb;
|
||||
|
||||
import 'sec0.pb.dart' as $0;
|
||||
import 'session.pbenum.dart';
|
||||
|
||||
export 'package:protobuf/protobuf.dart' show GeneratedMessageGenericExtensions;
|
||||
|
||||
export 'session.pbenum.dart';
|
||||
|
||||
enum SessionData_Proto { sec0, notSet }
|
||||
|
||||
class SessionData extends $pb.GeneratedMessage {
|
||||
factory SessionData({
|
||||
SecSchemeVersion? secVer,
|
||||
$0.Sec0Payload? sec0,
|
||||
}) {
|
||||
final result = create();
|
||||
if (secVer != null) result.secVer = secVer;
|
||||
if (sec0 != null) result.sec0 = sec0;
|
||||
return result;
|
||||
}
|
||||
|
||||
SessionData._();
|
||||
|
||||
factory SessionData.fromBuffer($core.List<$core.int> data,
|
||||
[$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) =>
|
||||
create()..mergeFromBuffer(data, registry);
|
||||
factory SessionData.fromJson($core.String json,
|
||||
[$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) =>
|
||||
create()..mergeFromJson(json, registry);
|
||||
|
||||
static const $core.Map<$core.int, SessionData_Proto> _SessionData_ProtoByTag =
|
||||
{10: SessionData_Proto.sec0, 0: SessionData_Proto.notSet};
|
||||
static final $pb.BuilderInfo _i = $pb.BuilderInfo(
|
||||
_omitMessageNames ? '' : 'SessionData',
|
||||
createEmptyInstance: create)
|
||||
..oo(0, [10])
|
||||
..aE<SecSchemeVersion>(2, _omitFieldNames ? '' : 'secVer',
|
||||
enumValues: SecSchemeVersion.values)
|
||||
..aOM<$0.Sec0Payload>(10, _omitFieldNames ? '' : 'sec0',
|
||||
subBuilder: $0.Sec0Payload.create)
|
||||
..hasRequiredFields = false;
|
||||
|
||||
@$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
|
||||
SessionData clone() => deepCopy();
|
||||
@$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
|
||||
SessionData copyWith(void Function(SessionData) updates) =>
|
||||
super.copyWith((message) => updates(message as SessionData))
|
||||
as SessionData;
|
||||
|
||||
@$core.override
|
||||
$pb.BuilderInfo get info_ => _i;
|
||||
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static SessionData create() => SessionData._();
|
||||
@$core.override
|
||||
SessionData createEmptyInstance() => create();
|
||||
@$core.pragma('dart2js:noInline')
|
||||
static SessionData getDefault() => _defaultInstance ??=
|
||||
$pb.GeneratedMessage.$_defaultFor<SessionData>(create);
|
||||
static SessionData? _defaultInstance;
|
||||
|
||||
@$pb.TagNumber(10)
|
||||
SessionData_Proto whichProto() => _SessionData_ProtoByTag[$_whichOneof(0)]!;
|
||||
@$pb.TagNumber(10)
|
||||
void clearProto() => $_clearField($_whichOneof(0));
|
||||
|
||||
@$pb.TagNumber(2)
|
||||
SecSchemeVersion get secVer => $_getN(0);
|
||||
@$pb.TagNumber(2)
|
||||
set secVer(SecSchemeVersion value) => $_setField(2, value);
|
||||
@$pb.TagNumber(2)
|
||||
$core.bool hasSecVer() => $_has(0);
|
||||
@$pb.TagNumber(2)
|
||||
void clearSecVer() => $_clearField(2);
|
||||
|
||||
@$pb.TagNumber(10)
|
||||
$0.Sec0Payload get sec0 => $_getN(1);
|
||||
@$pb.TagNumber(10)
|
||||
set sec0($0.Sec0Payload value) => $_setField(10, value);
|
||||
@$pb.TagNumber(10)
|
||||
$core.bool hasSec0() => $_has(1);
|
||||
@$pb.TagNumber(10)
|
||||
void clearSec0() => $_clearField(10);
|
||||
@$pb.TagNumber(10)
|
||||
$0.Sec0Payload ensureSec0() => $_ensure(1);
|
||||
}
|
||||
|
||||
const $core.bool _omitFieldNames =
|
||||
$core.bool.fromEnvironment('protobuf.omit_field_names');
|
||||
const $core.bool _omitMessageNames =
|
||||
$core.bool.fromEnvironment('protobuf.omit_message_names');
|
||||
@@ -0,0 +1,40 @@
|
||||
// This is a generated file - do not edit.
|
||||
//
|
||||
// Generated from session.proto.
|
||||
|
||||
// @dart = 3.3
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types, comment_references
|
||||
// ignore_for_file: constant_identifier_names
|
||||
// ignore_for_file: curly_braces_in_flow_control_structures
|
||||
// ignore_for_file: deprecated_member_use_from_same_package, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_relative_imports
|
||||
|
||||
import 'dart:core' as $core;
|
||||
|
||||
import 'package:protobuf/protobuf.dart' as $pb;
|
||||
|
||||
class SecSchemeVersion extends $pb.ProtobufEnum {
|
||||
static const SecSchemeVersion SecScheme0 =
|
||||
SecSchemeVersion._(0, _omitEnumNames ? '' : 'SecScheme0');
|
||||
static const SecSchemeVersion SecScheme1 =
|
||||
SecSchemeVersion._(1, _omitEnumNames ? '' : 'SecScheme1');
|
||||
static const SecSchemeVersion SecScheme2 =
|
||||
SecSchemeVersion._(2, _omitEnumNames ? '' : 'SecScheme2');
|
||||
|
||||
static const $core.List<SecSchemeVersion> values = <SecSchemeVersion>[
|
||||
SecScheme0,
|
||||
SecScheme1,
|
||||
SecScheme2,
|
||||
];
|
||||
|
||||
static final $core.List<SecSchemeVersion?> _byValue =
|
||||
$pb.ProtobufEnum.$_initByValueList(values, 2);
|
||||
static SecSchemeVersion? valueOf($core.int value) =>
|
||||
value < 0 || value >= _byValue.length ? null : _byValue[value];
|
||||
|
||||
const SecSchemeVersion._(super.value, super.name);
|
||||
}
|
||||
|
||||
const $core.bool _omitEnumNames =
|
||||
$core.bool.fromEnvironment('protobuf.omit_enum_names');
|
||||
@@ -0,0 +1,63 @@
|
||||
// This is a generated file - do not edit.
|
||||
//
|
||||
// Generated from session.proto.
|
||||
|
||||
// @dart = 3.3
|
||||
|
||||
// ignore_for_file: annotate_overrides, camel_case_types, comment_references
|
||||
// ignore_for_file: constant_identifier_names
|
||||
// ignore_for_file: curly_braces_in_flow_control_structures
|
||||
// ignore_for_file: deprecated_member_use_from_same_package, library_prefixes
|
||||
// ignore_for_file: non_constant_identifier_names, prefer_relative_imports
|
||||
// ignore_for_file: unused_import
|
||||
|
||||
import 'dart:convert' as $convert;
|
||||
import 'dart:core' as $core;
|
||||
import 'dart:typed_data' as $typed_data;
|
||||
|
||||
@$core.Deprecated('Use secSchemeVersionDescriptor instead')
|
||||
const SecSchemeVersion$json = {
|
||||
'1': 'SecSchemeVersion',
|
||||
'2': [
|
||||
{'1': 'SecScheme0', '2': 0},
|
||||
{'1': 'SecScheme1', '2': 1},
|
||||
{'1': 'SecScheme2', '2': 2},
|
||||
],
|
||||
};
|
||||
|
||||
/// Descriptor for `SecSchemeVersion`. Decode as a `google.protobuf.EnumDescriptorProto`.
|
||||
final $typed_data.Uint8List secSchemeVersionDescriptor = $convert.base64Decode(
|
||||
'ChBTZWNTY2hlbWVWZXJzaW9uEg4KClNlY1NjaGVtZTAQABIOCgpTZWNTY2hlbWUxEAESDgoKU2'
|
||||
'VjU2NoZW1lMhAC');
|
||||
|
||||
@$core.Deprecated('Use sessionDataDescriptor instead')
|
||||
const SessionData$json = {
|
||||
'1': 'SessionData',
|
||||
'2': [
|
||||
{
|
||||
'1': 'sec_ver',
|
||||
'3': 2,
|
||||
'4': 1,
|
||||
'5': 14,
|
||||
'6': '.SecSchemeVersion',
|
||||
'10': 'secVer'
|
||||
},
|
||||
{
|
||||
'1': 'sec0',
|
||||
'3': 10,
|
||||
'4': 1,
|
||||
'5': 11,
|
||||
'6': '.Sec0Payload',
|
||||
'9': 0,
|
||||
'10': 'sec0'
|
||||
},
|
||||
],
|
||||
'8': [
|
||||
{'1': 'proto'},
|
||||
],
|
||||
};
|
||||
|
||||
/// Descriptor for `SessionData`. Decode as a `google.protobuf.DescriptorProto`.
|
||||
final $typed_data.Uint8List sessionDataDescriptor = $convert.base64Decode(
|
||||
'CgtTZXNzaW9uRGF0YRIqCgdzZWNfdmVyGAIgASgOMhEuU2VjU2NoZW1lVmVyc2lvblIGc2VjVm'
|
||||
'VyEiIKBHNlYzAYCiABKAsyDC5TZWMwUGF5bG9hZEgAUgRzZWMwQgcKBXByb3Rv');
|
||||
@@ -0,0 +1,12 @@
|
||||
syntax = "proto3";
|
||||
|
||||
enum Status {
|
||||
Success = 0;
|
||||
InvalidSecScheme = 1;
|
||||
InvalidProto = 2;
|
||||
TooManySessions = 3;
|
||||
InvalidArgument = 4;
|
||||
InternalError = 5;
|
||||
CryptoError = 6;
|
||||
InvalidSession = 7;
|
||||
}
|
||||
@@ -0,0 +1,96 @@
|
||||
syntax = "proto3";
|
||||
|
||||
import "constants.proto";
|
||||
import "network_constants.proto";
|
||||
|
||||
message CmdGetWifiStatus {
|
||||
}
|
||||
|
||||
message RespGetWifiStatus {
|
||||
Status status = 1;
|
||||
WifiStationState wifi_sta_state = 2;
|
||||
oneof state {
|
||||
WifiConnectFailedReason wifi_fail_reason = 10;
|
||||
WifiConnectedState wifi_connected = 11;
|
||||
WifiAttemptFailed attempt_failed = 12;
|
||||
}
|
||||
}
|
||||
|
||||
message CmdGetThreadStatus {
|
||||
}
|
||||
|
||||
message RespGetThreadStatus {
|
||||
Status status = 1;
|
||||
ThreadNetworkState thread_state = 2;
|
||||
oneof state {
|
||||
ThreadAttachFailedReason thread_fail_reason = 10;
|
||||
ThreadAttachState thread_attached = 11;
|
||||
}
|
||||
}
|
||||
|
||||
message CmdSetWifiConfig {
|
||||
bytes ssid = 1;
|
||||
bytes passphrase = 2;
|
||||
bytes bssid = 3;
|
||||
int32 channel = 4;
|
||||
}
|
||||
|
||||
message CmdSetThreadConfig {
|
||||
bytes dataset = 1;
|
||||
}
|
||||
|
||||
message RespSetWifiConfig {
|
||||
Status status = 1;
|
||||
}
|
||||
|
||||
message RespSetThreadConfig {
|
||||
Status status = 1;
|
||||
}
|
||||
|
||||
message CmdApplyWifiConfig {
|
||||
}
|
||||
|
||||
message CmdApplyThreadConfig {
|
||||
}
|
||||
|
||||
message RespApplyWifiConfig {
|
||||
Status status = 1;
|
||||
}
|
||||
|
||||
message RespApplyThreadConfig {
|
||||
Status status = 1;
|
||||
}
|
||||
|
||||
enum NetworkConfigMsgType {
|
||||
TypeCmdGetWifiStatus = 0;
|
||||
TypeRespGetWifiStatus = 1;
|
||||
TypeCmdSetWifiConfig = 2;
|
||||
TypeRespSetWifiConfig = 3;
|
||||
TypeCmdApplyWifiConfig = 4;
|
||||
TypeRespApplyWifiConfig = 5;
|
||||
TypeCmdGetThreadStatus = 6;
|
||||
TypeRespGetThreadStatus = 7;
|
||||
TypeCmdSetThreadConfig = 8;
|
||||
TypeRespSetThreadConfig = 9;
|
||||
TypeCmdApplyThreadConfig = 10;
|
||||
TypeRespApplyThreadConfig = 11;
|
||||
|
||||
}
|
||||
|
||||
message NetworkConfigPayload {
|
||||
NetworkConfigMsgType msg = 1;
|
||||
oneof payload {
|
||||
CmdGetWifiStatus cmd_get_wifi_status = 10;
|
||||
RespGetWifiStatus resp_get_wifi_status = 11;
|
||||
CmdSetWifiConfig cmd_set_wifi_config = 12;
|
||||
RespSetWifiConfig resp_set_wifi_config = 13;
|
||||
CmdApplyWifiConfig cmd_apply_wifi_config = 14;
|
||||
RespApplyWifiConfig resp_apply_wifi_config = 15;
|
||||
CmdGetThreadStatus cmd_get_thread_status = 16;
|
||||
RespGetThreadStatus resp_get_thread_status = 17;
|
||||
CmdSetThreadConfig cmd_set_thread_config = 18;
|
||||
RespSetThreadConfig resp_set_thread_config = 19;
|
||||
CmdApplyThreadConfig cmd_apply_thread_config = 20;
|
||||
RespApplyThreadConfig resp_apply_thread_config = 21;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,55 @@
|
||||
syntax = "proto3";
|
||||
|
||||
enum WifiStationState {
|
||||
Connected = 0;
|
||||
Connecting = 1;
|
||||
Disconnected = 2;
|
||||
ConnectionFailed = 3;
|
||||
}
|
||||
|
||||
enum WifiConnectFailedReason {
|
||||
AuthError = 0;
|
||||
WifiNetworkNotFound = 1;
|
||||
}
|
||||
|
||||
enum WifiAuthMode {
|
||||
Open = 0;
|
||||
WEP = 1;
|
||||
WPA_PSK = 2;
|
||||
WPA2_PSK = 3;
|
||||
WPA_WPA2_PSK = 4;
|
||||
WPA2_ENTERPRISE = 5;
|
||||
WPA3_PSK = 6;
|
||||
WPA2_WPA3_PSK = 7;
|
||||
}
|
||||
|
||||
message WifiConnectedState {
|
||||
string ip4_addr = 1;
|
||||
WifiAuthMode auth_mode = 2;
|
||||
bytes ssid = 3;
|
||||
bytes bssid = 4;
|
||||
int32 channel = 5;
|
||||
}
|
||||
|
||||
message WifiAttemptFailed {
|
||||
uint32 attempts_remaining = 1;
|
||||
}
|
||||
|
||||
enum ThreadNetworkState {
|
||||
Attached = 0;
|
||||
Attaching = 1;
|
||||
Dettached = 2;
|
||||
AttachingFailed = 3;
|
||||
}
|
||||
|
||||
enum ThreadAttachFailedReason {
|
||||
DatasetInvalid = 0;
|
||||
ThreadNetworkNotFound = 1;
|
||||
}
|
||||
|
||||
message ThreadAttachState {
|
||||
uint32 pan_id = 1;
|
||||
bytes ext_pan_id = 2;
|
||||
uint32 channel = 3;
|
||||
string name = 4;
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
syntax = "proto3";
|
||||
|
||||
import "constants.proto";
|
||||
|
||||
message S0SessionCmd {
|
||||
|
||||
}
|
||||
|
||||
message S0SessionResp {
|
||||
Status status = 1;
|
||||
}
|
||||
|
||||
enum Sec0MsgType {
|
||||
S0_Session_Command = 0;
|
||||
S0_Session_Response = 1;
|
||||
}
|
||||
|
||||
message Sec0Payload {
|
||||
Sec0MsgType msg = 1;
|
||||
oneof payload {
|
||||
S0SessionCmd sc = 20;
|
||||
S0SessionResp sr = 21;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
syntax = "proto3";
|
||||
|
||||
import "sec0.proto";
|
||||
|
||||
enum SecSchemeVersion {
|
||||
SecScheme0 = 0;
|
||||
SecScheme1 = 1;
|
||||
SecScheme2 = 2;
|
||||
}
|
||||
|
||||
message SessionData {
|
||||
SecSchemeVersion sec_ver = 2;
|
||||
oneof proto {
|
||||
Sec0Payload sec0 = 10;
|
||||
}
|
||||
}
|
||||
+112
@@ -1,6 +1,22 @@
|
||||
# Generated by pub
|
||||
# See https://dart.dev/tools/pub/glossary#lockfile
|
||||
packages:
|
||||
_fe_analyzer_shared:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: _fe_analyzer_shared
|
||||
sha256: "8d7ff3948166b8ec5da0fbb5962000926b8e02f2ed9b3e51d1738905fbd4c98d"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "93.0.0"
|
||||
analyzer:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: analyzer
|
||||
sha256: de7148ed2fcec579b19f122c1800933dfa028f6d9fd38a152b04b1516cec120b
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "10.0.1"
|
||||
args:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -65,6 +81,14 @@ packages:
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.19.1"
|
||||
convert:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: convert
|
||||
sha256: b30acd5944035672bc15c6b7a8b47d773e41e2f17de064350988c5d02adb1c68
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "3.1.2"
|
||||
crypto:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -73,6 +97,14 @@ packages:
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "3.0.7"
|
||||
dart_style:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: dart_style
|
||||
sha256: "29f7ecc274a86d32920b1d9cfc7502fa87220da41ec60b55f329559d5732e2b2"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "3.1.7"
|
||||
dbus:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -113,6 +145,14 @@ packages:
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "7.0.1"
|
||||
fixnum:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: fixnum
|
||||
sha256: b6dc7065e46c974bc7c5f143080a6764ec7a4be6da1285ececdc37be96de53be
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.1.1"
|
||||
flutter:
|
||||
dependency: "direct main"
|
||||
description: flutter
|
||||
@@ -448,6 +488,54 @@ packages:
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.11.1"
|
||||
permission_handler:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: permission_handler
|
||||
sha256: "59adad729136f01ea9e35a48f5d1395e25cba6cea552249ddbe9cf950f5d7849"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "11.4.0"
|
||||
permission_handler_android:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: permission_handler_android
|
||||
sha256: d3971dcdd76182a0c198c096b5db2f0884b0d4196723d21a866fc4cdea057ebc
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "12.1.0"
|
||||
permission_handler_apple:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: permission_handler_apple
|
||||
sha256: f000131e755c54cf4d84a5d8bd6e4149e262cc31c5a8b1d698de1ac85fa41023
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "9.4.7"
|
||||
permission_handler_html:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: permission_handler_html
|
||||
sha256: "38f000e83355abb3392140f6bc3030660cfaef189e1f87824facb76300b4ff24"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.1.3+5"
|
||||
permission_handler_platform_interface:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: permission_handler_platform_interface
|
||||
sha256: eb99b295153abce5d683cac8c02e22faab63e50679b937fa1bf67d58bb282878
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "4.3.0"
|
||||
permission_handler_windows:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: permission_handler_windows
|
||||
sha256: "1a790728016f79a41216d88672dbc5df30e686e811ad4e698bfc51f76ad91f1e"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.2.1"
|
||||
petitparser:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -480,6 +568,22 @@ packages:
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.1.8"
|
||||
protobuf:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: protobuf
|
||||
sha256: "75ec242d22e950bdcc79ee38dd520ce4ee0bc491d7fadc4ea47694604d22bf06"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "6.0.0"
|
||||
protoc_plugin:
|
||||
dependency: "direct dev"
|
||||
description:
|
||||
name: protoc_plugin
|
||||
sha256: d1ea363e9118f954d9d482c2f7281c5ff5149b059e68672d1faa564d49091f05
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "25.0.0"
|
||||
pub_semver:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -605,6 +709,14 @@ packages:
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "15.2.0"
|
||||
watcher:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: watcher
|
||||
sha256: "1398c9f081a753f9226febe8900fce8f7d0a67163334e1c94a2438339d79d635"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.2.1"
|
||||
web:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
||||
@@ -38,11 +38,14 @@ dependencies:
|
||||
multicast_dns: ^0.3.2
|
||||
phoenix_socket: ^0.6.4
|
||||
flutter_secure_storage: ^9.2.2
|
||||
protobuf: ^6.0.0
|
||||
permission_handler: ^11.0.0
|
||||
|
||||
dev_dependencies:
|
||||
flutter_test:
|
||||
sdk: flutter
|
||||
flutter_lints: ^6.0.0
|
||||
protoc_plugin: ^25.0.0
|
||||
|
||||
flutter:
|
||||
uses-material-design: true
|
||||
|
||||
Reference in New Issue
Block a user