Make getters of the Settings class const
[oweals/minetest.git] / src / clientiface.h
index 89e0f41b90dd407199989c11a4d12fe4aa579b2e..cb3dae04b71355b95b0dd9996ac2a05a92cf32c6 100644 (file)
@@ -145,35 +145,24 @@ namespace con {
 
 enum ClientState
 {
-       Invalid,
-       Disconnecting,
-       Denied,
-       Created,
-       InitSent,
-       InitDone,
-       DefinitionsSent,
-       Active
-};
-
-static const char* statenames[] = {
-       "Invalid",
-       "Disconnecting",
-       "Denied",
-       "Created",
-       "InitSent",
-       "InitDone",
-       "DefinitionsSent",
-       "Active"
+       CS_Invalid,
+       CS_Disconnecting,
+       CS_Denied,
+       CS_Created,
+       CS_InitSent,
+       CS_InitDone,
+       CS_DefinitionsSent,
+       CS_Active
 };
 
 enum ClientStateEvent
 {
-       Init,
-       GotInit2,
-       SetDenied,
-       SetDefinitionsSent,
-       SetClientReady,
-       Disconnect
+       CSE_Init,
+       CSE_GotInit2,
+       CSE_SetDenied,
+       CSE_SetDefinitionsSent,
+       CSE_SetClientReady,
+       CSE_Disconnect
 };
 
 /*
@@ -217,7 +206,7 @@ public:
                net_proto_version(0),
                m_time_from_building(9999),
                m_pending_serialization_version(SER_FMT_VER_INVALID),
-               m_state(Created),
+               m_state(CS_Created),
                m_nearest_unsent_d(0),
                m_nearest_unsent_reset_timer(0.0),
                m_excess_gotblocks(0),
@@ -249,6 +238,14 @@ public:
        void SetBlockNotSent(v3s16 p);
        void SetBlocksNotSent(std::map<v3s16, MapBlock*> &blocks);
 
+       /**
+        * tell client about this block being modified right now.
+        * this information is required to requeue the block in case it's "on wire"
+        * while modification is processed by server
+        * @param p position of modified block
+        */
+       void ResendBlockIfOnWire(v3s16 p);
+
        s32 SendingCount()
        {
                return m_blocks_sending.size();
@@ -390,7 +387,7 @@ public:
        void step(float dtime);
 
        /* get list of active client id's */
-       std::list<u16> getClientIDs(ClientState min_state=Active);
+       std::list<u16> getClientIDs(ClientState min_state=CS_Active);
 
        /* get list of client player names */
        std::vector<std::string> getPlayerNames();
@@ -408,10 +405,10 @@ public:
        void CreateClient(u16 peer_id);
 
        /* get a client by peer_id */
-       RemoteClient* getClientNoEx(u16 peer_id,  ClientState state_min=Active);
+       RemoteClient* getClientNoEx(u16 peer_id,  ClientState state_min=CS_Active);
 
        /* get client by peer_id (make sure you have list lock before!*/
-       RemoteClient* lockedGetClientNoEx(u16 peer_id,  ClientState state_min=Active);
+       RemoteClient* lockedGetClientNoEx(u16 peer_id,  ClientState state_min=CS_Active);
 
        /* get state of client by id*/
        ClientState getClientState(u16 peer_id);
@@ -432,10 +429,7 @@ public:
        void setEnv(ServerEnvironment* env)
        { assert(m_env == 0); m_env = env; }
 
-       static std::string state2Name(ClientState state) {
-               assert((int) state < CI_ARRAYSIZE(statenames));
-               return statenames[state];
-       }
+       static std::string state2Name(ClientState state);
 
 protected:
        //TODO find way to avoid this functions
@@ -463,6 +457,8 @@ private:
        JMutex m_env_mutex;
 
        float m_print_info_timer;
+       
+       static const char *statenames[];
 };
 
 #endif