summaryrefslogtreecommitdiff
path: root/src/gamedef.h
diff options
context:
space:
mode:
authorLoïc Blot <nerzhul@users.noreply.github.com>2017-09-26 00:11:20 +0200
committerGitHub <noreply@github.com>2017-09-26 00:11:20 +0200
commit6f1c90720402415b62fb4d5e809ec7dbc1cd7f96 (patch)
tree6f94c2bbc2d343be50945a0074bc16da282a4bc1 /src/gamedef.h
parent6df312a608912b3cb21d04532151e29e8b0c7301 (diff)
downloadminetest-6f1c90720402415b62fb4d5e809ec7dbc1cd7f96.tar.gz
minetest-6f1c90720402415b62fb4d5e809ec7dbc1cd7f96.tar.bz2
minetest-6f1c90720402415b62fb4d5e809ec7dbc1cd7f96.zip
Implement mod communication channels (#6351)
Implement network communication for channels * Implement ModChannel manager server side to route incoming messages from clients to other clients * Add signal handler switch on client & ModChannelMgr on client to handle channels * Add Lua API bindings + client packet sending + unittests * Implement server message sending * Add callback from received message handler to Lua API using registration method
Diffstat (limited to 'src/gamedef.h')
-rw-r--r--src/gamedef.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/gamedef.h b/src/gamedef.h
index e7fe6c4ab..8117319bc 100644
--- a/src/gamedef.h
+++ b/src/gamedef.h
@@ -33,6 +33,7 @@ class MtEventManager;
class IRollbackManager;
class EmergeManager;
class Camera;
+class ModChannel;
class ModMetadata;
namespace irr { namespace scene {
@@ -78,4 +79,10 @@ public:
virtual std::string getModStoragePath() const = 0;
virtual bool registerModStorage(ModMetadata *storage) = 0;
virtual void unregisterModStorage(const std::string &name) = 0;
+
+ virtual bool joinModChannel(const std::string &channel) = 0;
+ virtual bool leaveModChannel(const std::string &channel) = 0;
+ virtual bool sendModChannelMessage(const std::string &channel,
+ const std::string &message) = 0;
+ virtual ModChannel *getModChannel(const std::string &channel) = 0;
};