]> git.lizzy.rs Git - dragonfireclient.git/blobdiff - src/server.h
Implement urlencode and urldecode
[dragonfireclient.git] / src / server.h
index 04cdecf88e0f5c4c5ec1076f39e9eec2cd4ecdcb..e71a811ea163a2d1c92675779cefb920e4b09462 100644 (file)
@@ -32,6 +32,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 #include "rollback_interface.h" // Needed for rollbackRevertActions()
 #include "util/numeric.h"
 #include "util/thread.h"
+#include "environment.h"
 #include <string>
 #include <list>
 #include <map>
@@ -152,15 +153,6 @@ struct PrioritySortedBlockTransfer
        u16 peer_id;
 };
 
-struct MediaRequest
-{
-       std::string name;
-
-       MediaRequest(const std::string &name_=""):
-               name(name_)
-       {}
-};
-
 struct MediaInfo
 {
        std::string path;
@@ -488,6 +480,7 @@ class Server : public con::PeerHandler, public MapEventReceiver,
 
        bool showFormspec(const char *name, const std::string &formspec, const std::string &formname);
        Map & getMap() { return m_env->getMap(); }
+       ServerEnvironment & getEnv() { return *m_env; }
        
        u32 hudAdd(Player *player, HudElement *element);
        bool hudRemove(Player *player, u32 id);
@@ -554,7 +547,8 @@ class Server : public con::PeerHandler, public MapEventReceiver,
        void sendRemoveNode(v3s16 p, u16 ignore_id=0,
                        std::list<u16> *far_players=NULL, float far_d_nodes=100);
        void sendAddNode(v3s16 p, MapNode n, u16 ignore_id=0,
-                       std::list<u16> *far_players=NULL, float far_d_nodes=100);
+                       std::list<u16> *far_players=NULL, float far_d_nodes=100,
+                       bool remove_metadata=true);
        void setBlockNotSent(v3s16 p);
 
        // Environment and Connection must be locked when called
@@ -566,7 +560,7 @@ class Server : public con::PeerHandler, public MapEventReceiver,
        void fillMediaCache();
        void sendMediaAnnouncement(u16 peer_id);
        void sendRequestedMedia(u16 peer_id,
-                       const std::list<MediaRequest> &tosend);
+                       const std::list<std::string> &tosend);
 
        void sendDetachedInventory(const std::string &name, u16 peer_id);
        void sendDetachedInventoryToAll(const std::string &name);
@@ -683,7 +677,7 @@ class Server : public con::PeerHandler, public MapEventReceiver,
        JMutex m_con_mutex;
        // Connected clients (behind the con mutex)
        std::map<u16, RemoteClient*> m_clients;
-       u16 m_clients_number; //for announcing masterserver
+       std::vector<std::string> m_clients_names; //for announcing masterserver
 
        // Ban checking
        BanManager *m_banmanager;