Files
sfm_app_final/lib/bloc/home_bloc.dart
anhtunz 2d53f2cdd3 Update
Logging data
Try-catch function
2025-06-17 16:43:45 +07:00

46 lines
1.7 KiB
Dart

import 'dart:async';
import '../feature/home/device_alias_model.dart';
import '../product/base/bloc/base_bloc.dart';
class HomeBloc extends BlocBase {
final allDevicesAliasMap =
StreamController<Map<String, List<DeviceWithAlias>>>.broadcast();
StreamSink<Map<String, List<DeviceWithAlias>>> get sinkAllDevicesAliasMap =>
allDevicesAliasMap.sink;
Stream<Map<String, List<DeviceWithAlias>>> get streamAllDevicesAliasMap =>
allDevicesAliasMap.stream;
final allDevicesAliasJoinedMap =
StreamController<Map<String, List<DeviceWithAlias>>>.broadcast();
StreamSink<Map<String, List<DeviceWithAlias>>>
get sinkAllDevicesAliasJoinedMap => allDevicesAliasJoinedMap.sink;
Stream<Map<String, List<DeviceWithAlias>>>
get streamAllDevicesAliasJoinedMap => allDevicesAliasJoinedMap.stream;
final countNotification = StreamController<int>.broadcast();
StreamSink<int> get sinkCountNotification => countNotification.sink;
Stream<int> get streamCountNotification => countNotification.stream;
final hasJoinedDevice = StreamController<bool?>.broadcast();
StreamSink<bool?> get sinkHasJoinedDevice => hasJoinedDevice.sink;
Stream<bool?> get streamHasJoinedDevice => hasJoinedDevice.stream;
final ownerDevicesStatus =
StreamController<Map<String, List<DeviceWithAlias>>>.broadcast();
StreamSink<Map<String, List<DeviceWithAlias>>> get sinkOwnerDevicesStatus =>
ownerDevicesStatus.sink;
Stream<Map<String, List<DeviceWithAlias>>> get streamOwnerDevicesStatus =>
ownerDevicesStatus.stream;
@override
void dispose() {
allDevicesAliasMap.close();
allDevicesAliasJoinedMap.close();
countNotification.close();
hasJoinedDevice.close();
ownerDevicesStatus.close();
}
}