Distribution_Service/Server/PortService/Routing.cpp
2025-12-09 19:09:12 +08:00

102 lines
3.4 KiB
C++

#include "Routing.h"
#include "R_Order_AB.h"
#include "R_Order_AA.h"
void Routing::RoutingFunction(const DataPacket &packet) {
try {
if (packet.Mark1.get() == 0x66 || packet.Mark1.get() == 0x55) {
if (packet.Mark2.get() == 0xAA) {
switch (packet.FunNumber.get()) {
case 0x01: {
R_Order_AA::Function_0x01(packet);
break;
}
case 0x0B: {
R_Order_AA::Function_0x0B(packet);
break;
}
case 0x80: {
R_Order_AA::Function_0x80(packet);
break;
}
case 0xAA: {
R_Order_AA::Function_0xAA(packet);
break;
}
case 0xA4: {
R_Order_AA::Function_0xA4(packet);
break;
}
case 0xA7: {
R_Order_AA::Function_0xA7(packet);
break;
}
case 0xC1: {
R_Order_AA::Function_0xC1(packet);
break;
}
case 0xF2: {
R_Order_AA::Function_0xF2(packet);
break;
}
case 0xF4: {
R_Order_AA::Function_0xF4(packet);
break;
}
default: {
R_Order_AA::Function(packet);
break;
}
}
}
else if (packet.Mark2.get() == 0xAB) {
switch (packet.FunNumber.get()) {
case 0x02: {
R_Order_AB::Function_0x02(packet);
break;
}
case 0x03: {
R_Order_AB::Function_0x03(packet);
break;
}
case 0x04: {
R_Order_AB::Function_0x04(packet);
break;
}
case 0x05: {
R_Order_AB::Function_0x05(packet);
break;
}
case 0x06: {
R_Order_AB::Function_0x06(packet);
break;
}
case 0x07: {
R_Order_AB::Function_0x07(packet);
break;
}
case 0x09: {
R_Order_AB::Function_0x09(packet);
break;
}
case 0x10: {
R_Order_AB::Function_0x10(packet);
break;
}
case 0x11: {
R_Order_AB::Function_0x11(packet);
break;
}
default: {
R_Order_AB::Function(packet);
break;
}
}
}
}
}
catch (CCException& e) {
BS_Log::Error("Routing::RoutingFunction Error: {}",e.what());
}
}