Showing
3 changed files
with
40 additions
and
14 deletions
... | @@ -21,11 +21,24 @@ void ARCS::Network::logError(int errorCode,QString moreInfo) | ... | @@ -21,11 +21,24 @@ void ARCS::Network::logError(int errorCode,QString moreInfo) |
21 | errors[errorCode].arg(moreInfo)); | 21 | errors[errorCode].arg(moreInfo)); |
22 | } | 22 | } |
23 | 23 | ||
24 | +void ARCS::Network::logInformation(QString moreInfo) | ||
25 | +{ | ||
26 | + ARCSLog::getInstance()->logInformation("Net",moreInfo); | ||
27 | +} | ||
28 | + | ||
29 | + | ||
24 | QHash<int,QString> ARCS::Network::initErrors() | 30 | QHash<int,QString> ARCS::Network::initErrors() |
25 | { | 31 | { |
26 | QHash<int,QString> res; | 32 | QHash<int,QString> res; |
27 | 33 | ||
28 | /////////////////////////////////////////////////////////////////////////// | 34 | /////////////////////////////////////////////////////////////////////////// |
35 | + // general errors | ||
36 | + res[600]="Null frame recieved"; | ||
37 | + res[601]="Listening on ports 2020 to 2084 failed"; | ||
38 | + res[602]="Cannot listen to port %1"; | ||
39 | + res[603]="Not bound to any interface"; | ||
40 | + | ||
41 | + /////////////////////////////////////////////////////////////////////////// | ||
29 | // errors on client side | 42 | // errors on client side |
30 | res[400]="CALL_REQUEST: wrong id (%1)"; | 43 | res[400]="CALL_REQUEST: wrong id (%1)"; |
31 | res[401]="CALL_REQUEST: wrong port number (%1)"; | 44 | res[401]="CALL_REQUEST: wrong port number (%1)"; | ... | ... |
... | @@ -10,6 +10,7 @@ namespace ARCS { | ... | @@ -10,6 +10,7 @@ namespace ARCS { |
10 | namespace Network { | 10 | namespace Network { |
11 | extern const QHash<int,QString> errors; | 11 | extern const QHash<int,QString> errors; |
12 | void logError(int errorCode, QString moreInfo=QString::null); | 12 | void logError(int errorCode, QString moreInfo=QString::null); |
13 | + void logInformation(QString moreInfo); | ||
13 | } | 14 | } |
14 | } | 15 | } |
15 | 16 | ... | ... |
... | @@ -27,7 +27,7 @@ void ARCSNetworkServerThread::handleRequest(QTcpSocket* socket) | ... | @@ -27,7 +27,7 @@ void ARCSNetworkServerThread::handleRequest(QTcpSocket* socket) |
27 | //std::cout << "Recieved request" << request->getType() << std::endl; | 27 | //std::cout << "Recieved request" << request->getType() << std::endl; |
28 | if (request == 0) | 28 | if (request == 0) |
29 | { | 29 | { |
30 | - std::cerr << "[Server] Null frame recieved !" << std::endl; | 30 | + ARCS::Network::logError(600); |
31 | return ; | 31 | return ; |
32 | } | 32 | } |
33 | 33 | ||
... | @@ -72,10 +72,9 @@ void ARCSNetworkServerThread::handleConnectRequest(ARCSNetworkConnectRequest* an | ... | @@ -72,10 +72,9 @@ void ARCSNetworkServerThread::handleConnectRequest(ARCSNetworkConnectRequest* an |
72 | // 1 : requete du slot de l'autre composant. | 72 | // 1 : requete du slot de l'autre composant. |
73 | QTcpSocket* socketDest = new QTcpSocket(); | 73 | QTcpSocket* socketDest = new QTcpSocket(); |
74 | socketDest->connectToHost(hostDest, portDest); | 74 | socketDest->connectToHost(hostDest, portDest); |
75 | - //std::cout <<"le numro de port"<< portDest << std::endl; | ||
76 | if (!socketDest->waitForConnected(ARCSNetworkFrame::TimeOut)) | 75 | if (!socketDest->waitForConnected(ARCSNetworkFrame::TimeOut)) |
77 | { | 76 | { |
78 | - std::cerr << "Erreur 418 : CONNECT_REQUEST error : depassement du time out " << qPrintable(socketDest->errorString()) << std::endl; | 77 | + ARCS::Network::logError(418,socketDest->errorString()); |
79 | return ; | 78 | return ; |
80 | } | 79 | } |
81 | 80 | ||
... | @@ -83,19 +82,25 @@ void ARCSNetworkServerThread::handleConnectRequest(ARCSNetworkConnectRequest* an | ... | @@ -83,19 +82,25 @@ void ARCSNetworkServerThread::handleConnectRequest(ARCSNetworkConnectRequest* an |
83 | ARCSNetworkFrame request(ARCSNetworkFrame::SLOT_REQUEST); | 82 | ARCSNetworkFrame request(ARCSNetworkFrame::SLOT_REQUEST); |
84 | ((ARCSNetworkSlotRequest*)request.getData())->setSlot(ancr->getSlot()); | 83 | ((ARCSNetworkSlotRequest*)request.getData())->setSlot(ancr->getSlot()); |
85 | //std::cout << "liste de slots reu " << qPrintable(ancr->getSlot()) << std::endl; | 84 | //std::cout << "liste de slots reu " << qPrintable(ancr->getSlot()) << std::endl; |
86 | - if ( !(request.isValid())) std::cerr <<"Erreur 436 : SLOT_REQUEST error : Trame invalide"<< std::endl; | 85 | + /** implementation sans aucun sens |
86 | + if ( !(request.isValid())) | ||
87 | + { | ||
88 | + std::cerr <<"Erreur 436 : SLOT_REQUEST error : Trame invalide"<< std::endl; | ||
89 | + }*/ | ||
87 | request.writeFrame(socketDest); | 90 | request.writeFrame(socketDest); |
88 | 91 | ||
89 | ARCSNetworkFrame* response = ARCSNetworkFrame::readFrame(socketDest); | 92 | ARCSNetworkFrame* response = ARCSNetworkFrame::readFrame(socketDest); |
90 | if (response ) | 93 | if (response ) |
91 | { | 94 | { |
92 | if (response->getType() != ARCSNetworkFrame::CONNECT_RESPONSE) | 95 | if (response->getType() != ARCSNetworkFrame::CONNECT_RESPONSE) |
93 | - std::cerr << "Erreur 416 : CONNECT_RESPONSE error :invalid response recieved to connect request!" << std::endl; | 96 | + //! \todo process if it is an error frame |
97 | + ARCS::Network::logError(416); | ||
94 | else | 98 | else |
95 | id = ((ARCSNetworkConnectResponse*)response->getData())->getId(); | 99 | id = ((ARCSNetworkConnectResponse*)response->getData())->getId(); |
96 | } | 100 | } |
97 | else | 101 | else |
98 | - std::cerr << "Erreur 417 : CONNECT_RESPONSE error : Null connect response recieved ! " << std::endl; | 102 | + ARCS::Network::logError(417); |
103 | + | ||
99 | 104 | ||
100 | socketDest->disconnectFromHost(); | 105 | socketDest->disconnectFromHost(); |
101 | if (response) | 106 | if (response) |
... | @@ -108,7 +113,8 @@ void ARCSNetworkServerThread::handleConnectRequest(ARCSNetworkConnectRequest* an | ... | @@ -108,7 +113,8 @@ void ARCSNetworkServerThread::handleConnectRequest(ARCSNetworkConnectRequest* an |
108 | ARCSNetworkFrame frame(ARCSNetworkFrame::ACK_RESPONSE); | 113 | ARCSNetworkFrame frame(ARCSNetworkFrame::ACK_RESPONSE); |
109 | ((ARCSNetworkAckResponse*)frame.getData())->setId(id); // utilit du id ? | 114 | ((ARCSNetworkAckResponse*)frame.getData())->setId(id); // utilit du id ? |
110 | frame.writeFrame(socket); | 115 | frame.writeFrame(socket); |
111 | - /*if ((QString*)ARCSNetworkServer::getInstance()->getSignals()!=ancr->getSignal()) | 116 | + /** implementation sans aucun sens |
117 | + if ((QString*)ARCSNetworkServer::getInstance()->getSignals()!=ancr->getSignal()) | ||
112 | { | 118 | { |
113 | std::cerr << "Erreur 444 :SIGNAL_REQUEST error : signal name not found " << qPrintable(socket->errorString()) << std::endl; | 119 | std::cerr << "Erreur 444 :SIGNAL_REQUEST error : signal name not found " << qPrintable(socket->errorString()) << std::endl; |
114 | return ; | 120 | return ; |
... | @@ -235,18 +241,18 @@ void ARCSNetworkServer::run() | ... | @@ -235,18 +241,18 @@ void ARCSNetworkServer::run() |
235 | while(!server->listen(QHostAddress::Any, i) && i < 2084) i++; | 241 | while(!server->listen(QHostAddress::Any, i) && i < 2084) i++; |
236 | 242 | ||
237 | if (i == 2084) | 243 | if (i == 2084) |
238 | - std::cerr << "[Server] listening on ports 2020 to 2084 failed" << std::endl; | 244 | + ARCS::Network::logError(601); |
239 | else | 245 | else |
240 | { | 246 | { |
241 | port = i; | 247 | port = i; |
242 | - std::cout << "[Server] listening to port " << port << std::endl; | 248 | + ARCS::Network::logInformation("Listening to port" + QString::number(port)); |
243 | } | 249 | } |
244 | } | 250 | } |
245 | else | 251 | else |
246 | { | 252 | { |
247 | if (!server->listen(QHostAddress::Any, port)) | 253 | if (!server->listen(QHostAddress::Any, port)) |
248 | { | 254 | { |
249 | - std::cerr << "[Server] Cannot listen to port " << port << " error: " << qPrintable(server->errorString()); | 255 | + ARCS::Network::logError(602,QString::number(port)+" (" + server->errorString() + ")."); |
250 | port = 0; | 256 | port = 0; |
251 | } | 257 | } |
252 | } | 258 | } |
... | @@ -271,7 +277,8 @@ void ARCSNetworkServer::getInterface(QStringList & slotList, QStringList & signa | ... | @@ -271,7 +277,8 @@ void ARCSNetworkServer::getInterface(QStringList & slotList, QStringList & signa |
271 | slotList = interface->getSlots(); | 277 | slotList = interface->getSlots(); |
272 | signalList= interface->getSignals(); | 278 | signalList= interface->getSignals(); |
273 | } | 279 | } |
274 | - else std::cerr <<"Erreur can not get the interface"<< std::endl; | 280 | + else |
281 | + ARCS::Network::logError(603); | ||
275 | 282 | ||
276 | } | 283 | } |
277 | 284 | ||
... | @@ -311,11 +318,13 @@ int ARCSNetworkServer::createSignalStub(QString s) | ... | @@ -311,11 +318,13 @@ int ARCSNetworkServer::createSignalStub(QString s) |
311 | proxySignalsMap.insert(s, id); | 318 | proxySignalsMap.insert(s, id); |
312 | if (interface) | 319 | if (interface) |
313 | ARCSAbstractComponent::connect(s,interface, s); | 320 | ARCSAbstractComponent::connect(s,interface, s); |
314 | - //std::cout <<"connexion russi"<< std::endl; | 321 | + else |
322 | + ARCS::Network::logError(603); | ||
323 | + /** bricolage hasardeux | ||
315 | if (!interface) | 324 | if (!interface) |
316 | { | 325 | { |
317 | std::cerr <<"Erreur 415 : CONNECT_REQUEST error : slot name is wrong : pas de cration de proxysignal" << std::endl; | 326 | std::cerr <<"Erreur 415 : CONNECT_REQUEST error : slot name is wrong : pas de cration de proxysignal" << std::endl; |
318 | - } | 327 | + }*/ |
319 | } | 328 | } |
320 | 329 | ||
321 | return id; | 330 | return id; |
... | @@ -333,7 +342,10 @@ int ARCSNetworkServer::createSlotStub(QString signal, int id, quint16 port,QStri | ... | @@ -333,7 +342,10 @@ int ARCSNetworkServer::createSlotStub(QString signal, int id, quint16 port,QStri |
333 | 342 | ||
334 | if (interface) | 343 | if (interface) |
335 | interface->connect(signal, this, signal); | 344 | interface->connect(signal, this, signal); |
336 | - else std::cerr <<"Erreur 435x : SLOT_REQUEST error : slot name is wrong: pas de cration de proxyslot" << std::endl; | 345 | + else |
346 | + ARCS::Network::logError(603); | ||
347 | + | ||
348 | + /*std::cerr <<"Erreur 435x : SLOT_REQUEST error : slot name is wrong: pas de cration de proxyslot" << std::endl;*/ | ||
337 | 349 | ||
338 | return 0; | 350 | return 0; |
339 | } | 351 | } | ... | ... |
-
Please register or login to post a comment