@@ -472,6 +472,18 @@ CONNECTION LESS MESSAGES
472472
473473 note: does not have any data -> n = 0
474474
475+
476+ - PROTMESSID_CLM_WELCOME_MESSAGE: Server welcome message
477+
478+ +------------------+--------------------------------------+
479+ | 2 bytes number n | n bytes UTF-8 string welcome message |
480+ +------------------+--------------------------------------+
481+
482+
483+ - PROTMESSID_CLM_REQ_WELCOME_MESSAGE: Request server welcome message
484+
485+ note: does not have any data -> n = 0
486+
475487*/
476488
477489#include " protocol.h"
@@ -964,6 +976,10 @@ void CProtocol::ParseConnectionLessMessageBody ( const CVector<uint8_t>& vecbyMe
964976 case PROTMESSID_CLM_REQ_SERVER_FEATURES :
965977 EvaluateCLReqServerFeaturesMes ( InetAddr );
966978 break ;
979+
980+ case PROTMESSID_CLM_REQ_WELCOME_MESSAGE :
981+ EvaluateCLReqWelcomeMessageMes ( InetAddr );
982+ break ;
967983 }
968984}
969985
@@ -2655,6 +2671,35 @@ void CProtocol::CreateCLServerFeaturesMes ( const CHostAddress& InetAddr, const
26552671 CreateAndImmSendConLessMessage ( PROTMESSID_CLM_SERVER_FEATURES , vecData, InetAddr );
26562672}
26572673
2674+ bool CProtocol::EvaluateCLReqWelcomeMessageMes ( const CHostAddress& InetAddr )
2675+ {
2676+ // invoke message action
2677+ emit CLReqWelcomeMessage ( InetAddr );
2678+
2679+ return false ; // no error
2680+ }
2681+
2682+ void CProtocol::CreateCLWelcomeMessageMes ( const CHostAddress& InetAddr, const QString strWelcomeMessage )
2683+ {
2684+ int iPos = 0 ; // init position pointer
2685+
2686+ // convert chat text string to utf-8
2687+ const QByteArray strUTF8WelcomeMessage = strWelcomeMessage.toUtf8 ();
2688+
2689+ const int iStrUTF8Len = strUTF8WelcomeMessage.size (); // get utf-8 str. size / string
2690+
2691+ // size of message body
2692+ const int iEntrLen = 2 + iStrUTF8Len; // utf-8 str. size / string
2693+
2694+ // build data vector
2695+ CVector<uint8_t > vecData ( iEntrLen );
2696+
2697+ // chat text
2698+ PutStringUTF8OnStream ( vecData, iPos, strUTF8WelcomeMessage );
2699+
2700+ CreateAndImmSendConLessMessage ( PROTMESSID_CLM_WELCOME_MESSAGE , vecData, InetAddr );
2701+ }
2702+
26582703/* *****************************************************************************\
26592704* Message generation and parsing *
26602705\******************************************************************************/
0 commit comments