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: 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: return UdpTalkDataHandler.instance; case PayloadTypeConstant.talkHangup: return UdpTalkHangUpHandler(); case PayloadTypeConstant.RbcuInfo: return UdpRbcuInfoHandler(); case PayloadTypeConstant.RbcuProbe: return UdpRbcuInfoHandler(); default: return UnKnowPayloadTypeHandler(); } } }