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';
|
2024-12-04 10:52:05 +08:00
|
|
|
|
|
|
|
|
class ScpMessageHandlerFactory {
|
2024-12-04 15:00:56 +08:00
|
|
|
/// 构造工厂
|
2024-12-04 10:52:05 +08:00
|
|
|
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();
|
2024-12-04 15:00:56 +08:00
|
|
|
case PayloadTypeConstant.gatewayTransfer:
|
|
|
|
|
return UdpGateWayTransferHandler();
|
|
|
|
|
case PayloadTypeConstant.blePassthrough:
|
|
|
|
|
return UdpBlePassThroughHandler();
|
|
|
|
|
case PayloadTypeConstant.remoteUnlock:
|
|
|
|
|
return UdpRemoteUnLockHandler();
|
|
|
|
|
case PayloadTypeConstant.talkReceiverTransfer:
|
|
|
|
|
return UdpTalkReceiverTransferHandler();
|
2024-12-04 10:52:05 +08:00
|
|
|
case PayloadTypeConstant.callRequest:
|
2024-12-05 13:51:28 +08:00
|
|
|
return UdpTalkRequestHandler();
|
2024-12-04 15:00:56 +08:00
|
|
|
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;
|
2024-12-04 15:00:56 +08:00
|
|
|
case PayloadTypeConstant.talkHangup:
|
|
|
|
|
return UdpTalkHangUpHandler();
|
2025-01-06 09:52:14 +08:00
|
|
|
case PayloadTypeConstant.RbcuInfo:
|
2025-01-08 09:14:29 +08:00
|
|
|
return UdpRbcuInfoHandler();
|
2025-01-14 13:43:12 +08:00
|
|
|
case PayloadTypeConstant.RbcuProbe:
|
|
|
|
|
return UdpRbcuInfoHandler();
|
2024-12-04 10:52:05 +08:00
|
|
|
default:
|
|
|
|
|
return UnKnowPayloadTypeHandler();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|