app-starlock/lib/talk/starChart/handle/scp_message_handler_factory.dart

67 lines
3.3 KiB
Dart
Raw Normal View History

2025-01-23 14:30:31 +08:00
import 'package:star_lock/talk/starChart/constant/payload_type_constant.dart';
import 'package:star_lock/talk/starChart/handle/impl/udp_ble_passthrough_handler.dart';
import 'package:star_lock/talk/starChart/handle/impl/udp_rbcuInfo_handler.dart';
import 'package:star_lock/talk/starChart/handle/impl/udp_talk_request_handler.dart';
import 'package:star_lock/talk/starChart/handle/impl/udp_echo_test_handler.dart';
import 'package:star_lock/talk/starChart/handle/impl/udp_gateway_reset_handler.dart';
import 'package:star_lock/talk/starChart/handle/impl/udp_gateway_transfer_handler.dart';
import 'package:star_lock/talk/starChart/handle/impl/udp_go_online_handler.dart';
import 'package:star_lock/talk/starChart/handle/impl/udp_heart_beat_handler.dart';
import 'package:star_lock/talk/starChart/handle/impl/udp_remote_un_lock_handler.dart';
import 'package:star_lock/talk/starChart/handle/impl/udp_talk_accept_handler.dart';
import 'package:star_lock/talk/starChart/handle/impl/udp_talk_data_handler.dart';
import 'package:star_lock/talk/starChart/handle/impl/udp_talk_expect_handler.dart';
import 'package:star_lock/talk/starChart/handle/impl/udp_talk_hangup_handler.dart';
import 'package:star_lock/talk/starChart/handle/impl/udp_talk_ping_handler.dart';
import 'package:star_lock/talk/starChart/handle/impl/udp_talk_push_handler.dart';
import 'package:star_lock/talk/starChart/handle/impl/udp_talk_receiver_transfer_handler.dart';
import 'package:star_lock/talk/starChart/handle/impl/udp_talk_reject_handler.dart';
import 'package:star_lock/talk/starChart/handle/impl/unknow_payload_type_handler.dart';
import 'package:star_lock/talk/starChart/handle/scp_message_handle.dart';
class ScpMessageHandlerFactory {
/// 构造工厂
static ScpMessageHandler createHandler(int payloadType) {
switch (payloadType) {
case PayloadTypeConstant.goOnline:
return UdpGoOnlineHandler();
case PayloadTypeConstant.heartbeat:
return UdpHeartBeatHandler();
case PayloadTypeConstant.echoTest:
return UdpEchoTestHandler();
case PayloadTypeConstant.gatewayReset:
return UdpGateWayResetHandler();
case PayloadTypeConstant.gatewayTransfer:
return UdpGateWayTransferHandler();
case PayloadTypeConstant.blePassthrough:
return UdpBlePassThroughHandler();
case PayloadTypeConstant.remoteUnlock:
return UdpRemoteUnLockHandler();
case PayloadTypeConstant.talkReceiverTransfer:
return UdpTalkReceiverTransferHandler();
case PayloadTypeConstant.callRequest:
2024-12-05 13:51:28 +08:00
return UdpTalkRequestHandler();
case PayloadTypeConstant.talkPush:
return UdpTalkPushHandler();
case PayloadTypeConstant.talkReject:
return UdpTalkRejectHandler();
case PayloadTypeConstant.talkAccept:
return UdpTalkAcceptHandler();
case PayloadTypeConstant.talkPing:
return UdpTalkPingHandler();
case PayloadTypeConstant.talkExpect:
return UdpTalkExpectHandler();
case PayloadTypeConstant.talkData:
2025-06-23 15:28:43 +08:00
return UdpTalkDataHandler.instance;
case PayloadTypeConstant.talkHangup:
return UdpTalkHangUpHandler();
2025-01-06 09:52:14 +08:00
case PayloadTypeConstant.RbcuInfo:
return UdpRbcuInfoHandler();
case PayloadTypeConstant.RbcuProbe:
return UdpRbcuInfoHandler();
default:
return UnKnowPayloadTypeHandler();
}
}
}