summaryrefslogtreecommitdiffstats
path: root/crsm.hpp
diff options
context:
space:
mode:
authorMarkus Mittendrein <git@maxmitti.tk>2015-03-19 00:59:37 +0100
committerMarkus Mittendrein <git@maxmitti.tk>2015-03-19 00:59:37 +0100
commit3d01ec1643191822370ba01c11ec6cc247e06599 (patch)
tree20177a2f860de93203533e4c051880d11f98697b /crsm.hpp
parent8983d3b38421843db67a05edee180028959c1b51 (diff)
downloadmanager-3d01ec1643191822370ba01c11ec6cc247e06599.tar.gz
manager-3d01ec1643191822370ba01c11ec6cc247e06599.zip
Added Managemen-Interface on TCP port 9372 listening on localhost.
Diffstat (limited to 'crsm.hpp')
-rw-r--r--crsm.hpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/crsm.hpp b/crsm.hpp
index 06407e8..d04df39 100644
--- a/crsm.hpp
+++ b/crsm.hpp
@@ -15,6 +15,8 @@
#include <IrcConnection>
#include <IrcCommand>
#include <QSignalMapper>
+#include <QTcpServer>
+#include <QTcpSocket>
#include "CmdFunctionRef.hpp"
#include "ProcessManager.hpp"
@@ -93,6 +95,10 @@ private slots:
void ircMessageReceived(IrcMessage* message);
void greet(QString pcName);
+ void newManagementConnection();
+ void newManagementData();
+ void managementConnectionDisconnected();
+
private:
QStringList scenlist;
QList<ScenarioSettings> userlist;
@@ -127,6 +133,8 @@ private:
QString writtenToServer;
QMap<QString, CmdFunctionRef> cmds;
ProcessManager* processManager;
+ QTcpServer managementServer;
+ QMap<QTcpSocket*, ManagementConnection> managementConnections;
bool ok = false;
@@ -164,6 +172,10 @@ private:
void ircCheckUserStatus(const ClientInfo& requester, const ClientInfo& subject, IrcCheckCallback callback);
void setIngameAdmin(const ClientInfo &client, const QString& newAdmin);
+ QFile outputBuffer;
+ void out(const QString& text);
+ void replayOutputBuffer(QTcpSocket *socket, bool clear = true);
+
CMD_FUNCTION(help);
CMD_FUNCTION(passToClonk);
CMD_FUNCTION(admin);
@@ -188,6 +200,13 @@ private:
CMD_FUNCTION(clientlist);
CMD_FUNCTION(set);
+ CMD_FUNCTION(exit);
+ CMD_FUNCTION(exitDetach);
+ CMD_FUNCTION(exitUpdate);
+ CMD_FUNCTION(exitAfter);
+ CMD_FUNCTION(reload);
+ CMD_FUNCTION(saveConfig);
+
IRC_CHECK_CALLBACK(ircSetAdmin);
IRC_CHECK_CALLBACK(ircModCmd);
};