]> git.lizzy.rs Git - dragonfireclient.git/blobdiff - src/clientiface.h
Fix some setting documentation
[dragonfireclient.git] / src / clientiface.h
index 070559c3a7d3cf1a2706e8978cd10c0d420ca762..0d2bca1965ce535ce3bed7fb63fe2c2c51e7dbdc 100644 (file)
@@ -23,7 +23,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 
 #include "constants.h"
 #include "serialization.h"             // for SER_FMT_VER_INVALID
-#include "jthread/jmutex.h"
+#include "threading/mutex.h"
 #include "network/networkpacket.h"
 
 #include <list>
@@ -49,14 +49,14 @@ class EmergeManager;
       \-----------------/
                |                  depending of the incoming packet
                +---------------------------------------
-               v                                      |
+               v                                      v
 +-----------------------------+        +-----------------------------+
 |IN:                          |        |IN:                          |
 | TOSERVER_INIT_LEGACY        |-----   | TOSERVER_INIT               |      invalid playername,
 +-----------------------------+    |   +-----------------------------+  password (for _LEGACY),
                |                   |                  |                       or denied by mod
                | Auth ok           -------------------+---------------------------------
-               |                                      |                                |
+               v                                      v                                |
 +-----------------------------+        +-----------------------------+                 |
 |OUT:                         |        |OUT:                         |                 |
 | TOCLIENT_INIT_LEGACY        |        | TOCLIENT_HELLO              |                 |
@@ -104,7 +104,7 @@ class EmergeManager;
                |                      +-----------------------------+                  |
                |      ^                           |                                    |
                |      -----------------------------                                    |
-               |                                                                       |
+               v                                                                       |
 +-----------------------------+                        --------------------------------+
 |IN:                          |                        |                               |
 | TOSERVER_CLIENT_READY       |                        v                               |
@@ -128,13 +128,13 @@ class EmergeManager;
       |                 |---------------------------------------------------------------
  ---->|     Active      |
  |    |                 |----------------------------------------------
- |    \-----------------/      timeout                                |
+ |    \-----------------/      timeout                                v
  |       |           |                                  +-----------------------------+
  |       |           |                                  |OUT:                         |
  |       |           |                                  | TOCLIENT_DISCONNECT         |
  |       |           |                                  +-----------------------------+
  |       |           |                                                |
- |       |           |                                                v
+ |       |           v                                                v
  |       |  +-----------------------------+                    /-----------------\
  |       |  |IN:                          |                    |                 |
  |       |  | TOSERVER_DISCONNECT         |------------------->|  Disconnecting  |
@@ -158,7 +158,7 @@ class EmergeManager;
  |                  |                               +-----------------------------+
  |                  |    sets password accordingly  |IN:                          |
  -------------------+-------------------------------| TOSERVER_FIRST_SRP          |
-                                                   +-----------------------------+
+                                                    +-----------------------------+
 
 */
 namespace con {
@@ -167,6 +167,9 @@ namespace con {
 
 #define CI_ARRAYSIZE(a) (sizeof(a) / sizeof((a)[0]))
 
+// Also make sure to update the ClientInterface::statenames
+// array when modifying these enums
+
 enum ClientState
 {
        CS_Invalid,
@@ -232,6 +235,7 @@ class RemoteClient
 
        /* Authentication information */
        std::string enc_pwd;
+       bool create_player_on_auth_success;
        AuthMechanism chosen_mech;
        void * auth_data;
        u32 allowed_auth_mechs;
@@ -246,6 +250,7 @@ class RemoteClient
                peer_id(PEER_ID_INEXISTENT),
                serialization_version(SER_FMT_VER_INVALID),
                net_proto_version(0),
+               create_player_on_auth_success(false),
                chosen_mech(AUTH_MECHANISM_NONE),
                auth_data(NULL),
                m_time_from_building(9999),
@@ -260,7 +265,7 @@ class RemoteClient
                m_version_minor(0),
                m_version_patch(0),
                m_full_version("unknown"),
-               m_supported_compressions(0),
+               m_deployed_compression(0),
                m_connection_time(getTime(PRECISION_SECONDS))
        {
        }
@@ -337,8 +342,8 @@ class RemoteClient
        void setPendingSerializationVersion(u8 version)
                { m_pending_serialization_version = version; }
 
-       void setSupportedCompressionModes(u8 byteFlag)
-               { m_supported_compressions = byteFlag; }
+       void setDeployedCompressionMode(u16 byteFlag)
+               { m_deployed_compression = byteFlag; }
 
        void confirmSerializationVersion()
                { serialization_version = m_pending_serialization_version; }
@@ -416,7 +421,7 @@ class RemoteClient
 
        std::string m_full_version;
 
-       u8 m_supported_compressions;
+       u16 m_deployed_compression;
 
        /*
                time this client was created
@@ -485,10 +490,8 @@ class ClientInterface {
 
 protected:
        //TODO find way to avoid this functions
-       void Lock()
-               { m_clients_mutex.Lock(); }
-       void Unlock()
-               { m_clients_mutex.Unlock(); }
+       void lock() { m_clients_mutex.lock(); }
+       void unlock() { m_clients_mutex.unlock(); }
 
        std::map<u16, RemoteClient*>& getClientList()
                { return m_clients; }
@@ -499,14 +502,14 @@ class ClientInterface {
 
        // Connection
        con::Connection* m_con;
-       JMutex m_clients_mutex;
+       Mutex m_clients_mutex;
        // Connected clients (behind the con mutex)
        std::map<u16, RemoteClient*> m_clients;
        std::vector<std::string> m_clients_names; //for announcing masterserver
 
        // Environment
        ServerEnvironment *m_env;
-       JMutex m_env_mutex;
+       Mutex m_env_mutex;
 
        float m_print_info_timer;