diff options
author | Loïc Blot <nerzhul@users.noreply.github.com> | 2017-09-26 00:11:20 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-09-26 00:11:20 +0200 |
commit | 6f1c90720402415b62fb4d5e809ec7dbc1cd7f96 (patch) | |
tree | 6f94c2bbc2d343be50945a0074bc16da282a4bc1 /src/gamedef.h | |
parent | 6df312a608912b3cb21d04532151e29e8b0c7301 (diff) | |
download | hax-minetest-server-6f1c90720402415b62fb4d5e809ec7dbc1cd7f96.tar.gz hax-minetest-server-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.h | 7 |
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; }; |