30 ConfigServerHandler::ConfigServerHandler(boost::asio::io_service& a_IOService, boost::asio::ip::tcp::tcp::socket& a_TcpSocket, std::shared_ptr<GatewayClientHandlerCollection> a_GatewayClientHandlerCollection, std::shared_ptr<HdlcdClientHandlerCollection> a_HdlcdClientHandlerCollection): m_IOService(a_IOService), m_GatewayClientHandlerCollection(a_GatewayClientHandlerCollection), m_HdlcdClientHandlerCollection(a_HdlcdClientHandlerCollection) {
32 assert(m_GatewayClientHandlerCollection);
33 assert(m_HdlcdClientHandlerCollection);
35 m_ConfigServer = std::make_shared<ConfigServer>(m_IOService, a_TcpSocket);
40 assert(a_ConfigServerHandlerCollection);
41 assert(m_Registered ==
false);
45 m_ConfigServerHandlerCollection = a_ConfigServerHandlerCollection;
46 m_ConfigServerHandlerCollection->RegisterConfigServerHandler(shared_from_this());
49 assert(m_ConfigServer);
50 m_ConfigServer->SetOnClosedCallback([
this](){
Close(); });
51 m_ConfigServer->Start(m_GatewayClientHandlerCollection, m_HdlcdClientHandlerCollection);
56 auto self(shared_from_this());
60 m_ConfigServer->Close();
61 m_ConfigServer.reset();
65 m_ConfigServerHandlerCollection->DeregisterConfigServerHandler(
self);
68 m_GatewayClientHandlerCollection.reset();
69 m_HdlcdClientHandlerCollection.reset();
70 m_ConfigServerHandlerCollection.reset();
77 m_ConfigServer->GatewayClientCreated(a_ReferenceNbr);
84 m_ConfigServer->GatewayClientDestroyed(a_ReferenceNbr);
91 m_ConfigServer->GatewayClientConnected(a_ReferenceNbr);
98 m_ConfigServer->GatewayClientDisconnected(a_ReferenceNbr);
103 if (m_ConfigServer) {
105 m_ConfigServer->GatewayClientError(a_ReferenceNbr, a_ErrorCode);
110 if (m_ConfigServer) {
112 m_ConfigServer->HdlcdClientCreated(a_SerialPortNbr);
117 if (m_ConfigServer) {
119 m_ConfigServer->HdlcdClientDestroyed(a_SerialPortNbr);
124 if (m_ConfigServer) {
126 m_ConfigServer->HdlcdClientConnected(a_SerialPortNbr);
131 if (m_ConfigServer) {
133 m_ConfigServer->HdlcdClientDisconnected(a_SerialPortNbr);
138 if (m_ConfigServer) {
140 m_ConfigServer->HdlcdClientNewStatus(a_SerialPortNbr, a_bIsResumed, a_bIsAlive);
145 if (m_ConfigServer) {
147 m_ConfigServer->HdlcdClientError(a_SerialPortNbr, a_ErrorCode);
void GatewayClientDisconnected(uint16_t a_ReferenceNbr)
void GatewayClientError(uint16_t a_ReferenceNbr, E_GATEWAY_CLIENT_ERROR a_ErrorCode)
void HdlcdClientError(uint16_t a_SerialPortNbr, E_HDLCD_CLIENT_ERROR a_ErrorCode)
void GatewayClientCreated(uint16_t a_ReferenceNbr)
void HdlcdClientCreated(uint16_t a_SerialPortNbr)
void HdlcdClientDisconnected(uint16_t a_SerialPortNbr)
void GatewayClientDestroyed(uint16_t a_ReferenceNbr)
void HdlcdClientConnected(uint16_t a_SerialPortNbr)
void GatewayClientConnected(uint16_t a_ReferenceNbr)
void HdlcdClientDestroyed(uint16_t a_SerialPortNbr)
void Start(std::shared_ptr< ConfigServerHandlerCollection > a_ConfigServerHandlerCollection)
void HdlcdClientNewStatus(uint16_t a_SerialPortNbr, bool a_bIsResumed, bool a_bIsAlive)
ConfigServerHandler(boost::asio::io_service &a_IOService, boost::asio::ip::tcp::tcp::socket &a_TcpSocket, std::shared_ptr< GatewayClientHandlerCollection > a_GatewayClientHandlerCollection, std::shared_ptr< HdlcdClientHandlerCollection > a_HdlcdClientHandlerCollection)