support for server welcome message on connect (enabled via a command line argument)
This commit is contained in:
parent
3f937e80a5
commit
a04438fdc5
3 changed files with 37 additions and 2 deletions
20
src/main.cpp
20
src/main.cpp
|
@ -69,6 +69,7 @@ int main ( int argc, char** argv )
|
|||
QString strHistoryFileName = "";
|
||||
QString strCentralServer = "";
|
||||
QString strServerInfo = "";
|
||||
QString strWelcomeMessage = "";
|
||||
|
||||
// QT docu: argv()[0] is the program name, argv()[1] is the first
|
||||
// argument and argv()[argc()-1] is the last argument.
|
||||
|
@ -159,7 +160,7 @@ int main ( int argc, char** argv )
|
|||
// Show all registered servers in the server list ----------------------
|
||||
// Undocumented debugging command line argument: Show all registered
|
||||
// servers in the server list regardless if a ping to the server is
|
||||
// possible or not
|
||||
// possible or not.
|
||||
if ( GetFlagArgument ( argv,
|
||||
i,
|
||||
"--showallservers", // no short form
|
||||
|
@ -276,6 +277,21 @@ int main ( int argc, char** argv )
|
|||
}
|
||||
|
||||
|
||||
// Server welcome message ----------------------------------------------
|
||||
if ( GetStringArgument ( tsConsole,
|
||||
argc,
|
||||
argv,
|
||||
i,
|
||||
"-w",
|
||||
"--welcomemessage",
|
||||
strArgument ) )
|
||||
{
|
||||
strWelcomeMessage = strArgument;
|
||||
tsConsole << "- welcome message: " << strWelcomeMessage << endl;
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
// Initialization file -------------------------------------------------
|
||||
if ( GetStringArgument ( tsConsole,
|
||||
argc,
|
||||
|
@ -400,6 +416,7 @@ int main ( int argc, char** argv )
|
|||
strServerName,
|
||||
strCentralServer,
|
||||
strServerInfo,
|
||||
strWelcomeMessage,
|
||||
bCentServPingServerInList );
|
||||
|
||||
if ( bUseGUI )
|
||||
|
@ -501,6 +518,7 @@ QString UsageArguments ( char **argv )
|
|||
" -p, --port local port number (server only)\n"
|
||||
" -s, --server start server\n"
|
||||
" -u, --numchannels maximum number of channels (server only)\n"
|
||||
" -w, --welcomemessage welcome message on connect (server only)\n"
|
||||
" -y, --history enable connection history and set file\n"
|
||||
" name (server only)\n"
|
||||
" -z, --startminimized start minimizied (server only)\n"
|
||||
|
|
|
@ -172,6 +172,7 @@ CServer::CServer ( const int iNewNumChan,
|
|||
const QString& strServerNameForHTMLStatusFile,
|
||||
const QString& strCentralServer,
|
||||
const QString& strServerInfo,
|
||||
const QString& strNewWelcomeMessage,
|
||||
const bool bNCentServPingServerInList ) :
|
||||
iNumChannels ( iNewNumChan ),
|
||||
Socket ( this, iPortNumber ),
|
||||
|
@ -182,7 +183,8 @@ CServer::CServer ( const int iNewNumChan,
|
|||
iNewNumChan,
|
||||
bNCentServPingServerInList,
|
||||
&ConnLessProtocol ),
|
||||
bAutoRunMinimized ( false )
|
||||
bAutoRunMinimized ( false ),
|
||||
strWelcomeMessage ( strNewWelcomeMessage )
|
||||
{
|
||||
int i;
|
||||
|
||||
|
@ -1123,6 +1125,17 @@ bool CServer::PutData ( const CVector<uint8_t>& vecbyRecBuf,
|
|||
// since old versions of the llcon software did not implement the channel name
|
||||
// request message, we have to explicitely send the channel list here
|
||||
CreateAndSendChanListForAllConChannels();
|
||||
|
||||
// send welcome message (if enabled)
|
||||
if ( !strWelcomeMessage.isEmpty() )
|
||||
{
|
||||
// create formated server welcome message and send it just to
|
||||
// the client which just connected to the server
|
||||
const QString strWelcomeMessageFormated =
|
||||
"<b>Server Welcome Message:</b> " + strWelcomeMessage;
|
||||
|
||||
vecChannels[iCurChanID].CreateChatTextMes ( strWelcomeMessageFormated );
|
||||
}
|
||||
}
|
||||
}
|
||||
Mutex.unlock();
|
||||
|
|
|
@ -111,6 +111,7 @@ public:
|
|||
const QString& strServerNameForHTMLStatusFile,
|
||||
const QString& strCentralServer,
|
||||
const QString& strServerInfo,
|
||||
const QString& strNewWelcomeMessage,
|
||||
const bool bNCentServPingServerInList );
|
||||
|
||||
void Start();
|
||||
|
@ -234,6 +235,9 @@ protected:
|
|||
// GUI settings
|
||||
bool bAutoRunMinimized;
|
||||
|
||||
// messaging
|
||||
QString strWelcomeMessage;
|
||||
|
||||
signals:
|
||||
void Started();
|
||||
void Stopped();
|
||||
|
|
Loading…
Reference in a new issue