From a92aea252411f86657081587633a88083a3b14a9 Mon Sep 17 00:00:00 2001 From: Markus Mittendrein Date: Thu, 1 Jan 2015 16:04:07 +0100 Subject: Massive changes. Can't remember them. --- crsm.h | 75 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 67 insertions(+), 8 deletions(-) (limited to 'crsm.h') diff --git a/crsm.h b/crsm.h index 9386562..249a36d 100644 --- a/crsm.h +++ b/crsm.h @@ -1,5 +1,4 @@ -#ifndef CRSM_H -#define CRSM_H +#pragma once #include #include @@ -15,9 +14,42 @@ #include #include #include +#include + +#include "ClientInfo.hpp" + +#define CONFIG_FILE_NAME "CrServerManager.conf" +#define CUR_SCEN_FILE_NAME "curscen.txt" +#define LAST_SCEN_FILE_NAME "lastscen.txt" +#define SCOREBOARD_FILE_NAME settings["ClonkDirectory"] + "scoreboard.html" + +#ifdef Q_OS_LINUX64 +#define C4GROUP_EXECUTABLE "c4group64" +#else +#define C4GROUP_EXECUTABLE "c4group" +#endif class CRSM : public QObject { +private: + enum IrcModOperations { + ModCheck, + ModInfo, + SkipScen, + ClearUserList, + SkipCurrentScen, + Autohost, + NoAutohost, + ModHelp, + Kill, + IO, + CheckOnly, + NewAlias, + AliasWishes, + IngameChat + }; + + Q_OBJECT public: explicit CRSM(QObject *parent = 0); @@ -35,24 +67,38 @@ private slots: void readLog(); void scenarioFinished(); void ircMessageReceived(IrcMessage* message); + void greet(QString pcName); private: QProcess *serverprocess; QStringList scenlist; QStringList userlist; QStringList args; + QStringList ircModChecks; + QStringList ircMods; + QString aliasWishEditor = ""; + QString currentAliasWish = ""; + QMap>> ircModFifos; int current; QTextStream *qout; QTextStream *qin; bool finish; QMap settings; QMap session; -// QStringList waitinggreets; + QMap clients; QStringList greeted; QMap lists; + QMap> maps; int clientcount; - IrcConnection *connection; + IrcConnection *connection = 0; bool autoHost = true; + QSignalMapper greetMapper; + ClientInfo sessionAdmin; + QFile *logfile; + QTextStream logstream; + QTextCodec *codec; + QStringList ircModIOList; + QString writtenToServer; void startScen(QString, QStringList); void readConfig(); @@ -62,8 +108,21 @@ private: void cleanUp(); bool scenExists(QString filePath); QString listScenarios(QString commandArgs); - QFile *logfile; - QTextStream *logstream; + QString printQueue(); + //QByteArray toClonkFormat(const QString&); + void ircCheckModCmd(const QString &nick, IrcModOperations operation, QString arg = ""); + void ircModOperation(const QString &nick, IrcModOperations operation, QString arg); + void ircModOperation(const QString &nick, QPair operationArg); + QString skipScen(); + void skipCurrent(); + void writeToServer(const QString& message); + void writeConfig(); + QString addAliasWish(const QString& param); + void ircModJoined(const QString& nick); + void informModsAboutAliasWish(); + void editAliasWishes(); + void editAliasWishes(const QString &message); + void stopAliasWishEditing(); + QString ircActivateIngameChat(bool activated = true); + QStringList listC4Folder(const QString &path); }; - -#endif // CRSM_H -- cgit v1.2.3-54-g00ecf