Mgv6 mudflow: Remove decoration if 'dirt with grass' below flows away (#5798)
[oweals/minetest.git] / src / serverlist.h
index e81e64c5b3acb8d9eb17b4fadc1c280961a9cce2..0790261998b13efcc0bd302dde2a4554145f1011 100644 (file)
@@ -19,7 +19,8 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 
 #include <iostream>
 #include "config.h"
-#include "json/json.h"
+#include "mods.h"
+#include <json/json.h>
 
 #ifndef SERVERLIST_HEADER
 #define SERVERLIST_HEADER
@@ -28,19 +29,27 @@ typedef Json::Value ServerListSpec;
 
 namespace ServerList
 {
-       std::vector<ServerListSpec> getLocal();
-       #if USE_CURL
-       std::vector<ServerListSpec> getOnline();
-       #endif
-       bool deleteEntry(ServerListSpec server);
-       bool insert(ServerListSpec server);
-       std::vector<ServerListSpec> deSerialize(std::string liststring);
-       std::string serialize(std::vector<ServerListSpec>);
-       std::vector<ServerListSpec> deSerializeJson(std::string liststring);
-       std::string serializeJson(std::vector<ServerListSpec>);
-       #if USE_CURL
-       void sendAnnounce(std::string action = "", u16 clients = 0);
-       #endif
-} //ServerList namespace
+std::vector<ServerListSpec> getLocal();
+std::vector<ServerListSpec> getOnline();
+
+bool deleteEntry(const ServerListSpec &server);
+bool insert(const ServerListSpec &server);
+
+std::vector<ServerListSpec> deSerialize(const std::string &liststring);
+const std::string serialize(const std::vector<ServerListSpec> &serverlist);
+std::vector<ServerListSpec> deSerializeJson(const std::string &liststring);
+const std::string serializeJson(const std::vector<ServerListSpec> &serverlist);
+
+#if USE_CURL
+enum AnnounceAction {AA_START, AA_UPDATE, AA_DELETE};
+void sendAnnounce(AnnounceAction, u16 port,
+               const std::vector<std::string> &clients_names = std::vector<std::string>(),
+               double uptime = 0, u32 game_time = 0, float lag = 0,
+               const std::string &gameid = "", const std::string &mg_name = "",
+               const std::vector<ModSpec> &mods = std::vector<ModSpec>(),
+               bool dedicated = false);
+#endif
+
+} // namespace ServerList
 
 #endif