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

28 lines
1.2 KiB
Dart

import 'package:star_lock/talk/startChart/constant/payload_type_constant.dart';
import 'package:star_lock/talk/startChart/handle/impl/udp_call_request_handler.dart';
import 'package:star_lock/talk/startChart/handle/impl/udp_echo_test_handler.dart';
import 'package:star_lock/talk/startChart/handle/impl/udp_gateway_reset_handler.dart';
import 'package:star_lock/talk/startChart/handle/impl/udp_go_online_handler.dart';
import 'package:star_lock/talk/startChart/handle/impl/udp_heart_beat_handler.dart';
import 'package:star_lock/talk/startChart/handle/impl/unknow_payload_type_handler.dart';
import 'package:star_lock/talk/startChart/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.callRequest:
return UdpCallRequestHandler();
default:
return UnKnowPayloadTypeHandler();
}
}
}