app-starlock/star_lock/lib/talk/udp/udp_senderData.dart
2023-12-11 13:44:15 +08:00

46 lines
1.2 KiB
Dart

import '../../app_settings/app_settings.dart';
import '../../blue/io_tool/io_model.dart';
import '../../blue/io_tool/manager_event_bus.dart';
import 'io_udpSender.dart';
typedef CommandUDPSendCallBack = void Function(ErrorType errorType);
class CommandUDPSenderManager {
static final CommandUDPSenderManager _manager = CommandUDPSenderManager._init();
factory CommandUDPSenderManager()=>_manager;
static CommandUDPSenderManager getInstance()=>_manager;
CommandUDPSenderManager._init(){
init();
}
init(){
}
//TODO:发送常规数据
Future<void> managerSendData ({required UDPSenderProtocol command, CommandUDPSendCallBack? callBack}) async {
if (callBack != null) {
// if (!BluetoothManager().connected) {
print('❌ 蓝牙断开了');
if (callBack != null) {
print('managerSendData ❌ callBack');
// EasyLoading.dismiss();
callBack(ErrorType.notConnected);
}
return;
}
List<int> value = command.packageData();
// print("sendData:${value}");
_sendNormalData(value);
}
void _sendNormalData(List<int> data) async {
if (data.isNotEmpty) {
EventBusManager().eventBusFir(EventSendModel(data: data, sendChannel: DataChannel.udp));
}
}
}