summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authormadmaxoft <github@xoft.cz>2014-07-30 13:44:03 +0200
committermadmaxoft <github@xoft.cz>2014-07-30 13:56:29 +0200
commit6476bd0e2ee7e128e3eaa56159f169f0a53736ff (patch)
treef98c5f99fc6155ea460b03791206bf0d6d16a332 /src
parentAdded a cMojangAPI class for PlayerName -> UUID lookups, with cache. (diff)
downloadcuberite-6476bd0e2ee7e128e3eaa56159f169f0a53736ff.tar
cuberite-6476bd0e2ee7e128e3eaa56159f169f0a53736ff.tar.gz
cuberite-6476bd0e2ee7e128e3eaa56159f169f0a53736ff.tar.bz2
cuberite-6476bd0e2ee7e128e3eaa56159f169f0a53736ff.tar.lz
cuberite-6476bd0e2ee7e128e3eaa56159f169f0a53736ff.tar.xz
cuberite-6476bd0e2ee7e128e3eaa56159f169f0a53736ff.tar.zst
cuberite-6476bd0e2ee7e128e3eaa56159f169f0a53736ff.zip
Diffstat (limited to '')
-rw-r--r--src/Bindings/AllToLua.pkg1
-rw-r--r--src/Bindings/ManualBindings.cpp9
-rw-r--r--src/Protocol/MojangAPI.h13
-rw-r--r--src/Root.h2
4 files changed, 20 insertions, 5 deletions
diff --git a/src/Bindings/AllToLua.pkg b/src/Bindings/AllToLua.pkg
index 1e5dfd2fe..d3e3f5b45 100644
--- a/src/Bindings/AllToLua.pkg
+++ b/src/Bindings/AllToLua.pkg
@@ -77,6 +77,7 @@ $cfile "../Map.h"
$cfile "../MapManager.h"
$cfile "../Scoreboard.h"
$cfile "../Statistics.h"
+$cfile "../Protocol/MojangAPI.h"
diff --git a/src/Bindings/ManualBindings.cpp b/src/Bindings/ManualBindings.cpp
index 6d69e2595..026a6bad5 100644
--- a/src/Bindings/ManualBindings.cpp
+++ b/src/Bindings/ManualBindings.cpp
@@ -2157,11 +2157,11 @@ static int tolua_cClientHandle_SendPluginMessage(lua_State * L)
-static int tolua_cClientHandle_GetUUIDsFromPlayerNames(lua_State * L)
+static int tolua_cMojangAPI_GetUUIDsFromPlayerNames(lua_State * L)
{
cLuaState S(L);
if (
- !S.CheckParamUserTable(1, "cClientHandle") ||
+ !S.CheckParamUserTable(1, "cMojangAPI") ||
!S.CheckParamTable(2) ||
!S.CheckParamEnd(3)
)
@@ -3144,9 +3144,12 @@ void ManualBindings::Bind(lua_State * tolua_S)
tolua_constant(tolua_S, "MAX_VIEW_DISTANCE", cClientHandle::MAX_VIEW_DISTANCE);
tolua_constant(tolua_S, "MIN_VIEW_DISTANCE", cClientHandle::MIN_VIEW_DISTANCE);
tolua_function(tolua_S, "SendPluginMessage", tolua_cClientHandle_SendPluginMessage);
- tolua_function(tolua_S, "GetUUIDsFromPlayerNames", tolua_cClientHandle_GetUUIDsFromPlayerNames);
tolua_endmodule(tolua_S);
+ tolua_beginmodule(tolua_S, "cMojangAPI");
+ tolua_function(tolua_S, "GetUUIDsFromPlayerNames", tolua_cMojangAPI_GetUUIDsFromPlayerNames);
+ tolua_endmodule(tolua_S);
+
tolua_beginmodule(tolua_S, "cItemGrid");
tolua_function(tolua_S, "GetSlotCoords", Lua_ItemGrid_GetSlotCoords);
tolua_endmodule(tolua_S);
diff --git a/src/Protocol/MojangAPI.h b/src/Protocol/MojangAPI.h
index 789fdf818..cc2902a19 100644
--- a/src/Protocol/MojangAPI.h
+++ b/src/Protocol/MojangAPI.h
@@ -15,9 +15,12 @@
+// tolua_begin
class cMojangAPI
{
public:
+ // tolua_end
+
cMojangAPI(void);
~cMojangAPI();
@@ -30,6 +33,8 @@ public:
Returns true if all was successful, false on failure. */
static bool SecureRequest(const AString & a_ServerName, const AString & a_Request, AString & a_Response);
+ // tolua_begin
+
/** Converts the given UUID to its short form (32 bytes, no dashes).
Logs a warning and returns empty string if not a UUID. */
static AString MakeUUIDShort(const AString & a_UUID);
@@ -38,16 +43,22 @@ public:
Logs a warning and returns empty string if not a UUID. */
static AString MakeUUIDDashed(const AString & a_UUID);
+ // tolua_end
+
/** Converts the player names into UUIDs.
a_PlayerName[idx] will be converted to UUID and returned as idx-th value
The UUID will be empty on error.
Blocking operation, do not use in world-tick thread! */
AStringVector GetUUIDsFromPlayerNames(const AStringVector & a_PlayerName);
+ // tolua_begin
+
/** Called by the Authenticator to add a PlayerName -> UUID mapping that it has received from
authenticating a user. This adds the cache item and "refreshes" it if existing, adjusting its datetime
stamp to now. */
void AddPlayerNameToUUIDMapping(const AString & a_PlayerName, const AString & a_UUID);
+
+ // tolua_end
protected:
struct sUUIDRecord
@@ -95,7 +106,7 @@ protected:
Names that are not valid are not added into the cache.
ASSUMEs that a_PlayerNames contains lowercased player names. */
void CacheNamesToUUIDs(const AStringVector & a_PlayerNames);
-} ;
+} ; // tolua_export
diff --git a/src/Root.h b/src/Root.h
index 92a60a10d..210c36ea9 100644
--- a/src/Root.h
+++ b/src/Root.h
@@ -79,7 +79,7 @@ public:
cWebAdmin * GetWebAdmin (void) { return m_WebAdmin; } // tolua_export
cPluginManager * GetPluginManager (void) { return m_PluginManager; } // tolua_export
cAuthenticator & GetAuthenticator (void) { return m_Authenticator; }
- cMojangAPI & GetMojangAPI (void) { return m_MojangAPI; }
+ cMojangAPI & GetMojangAPI (void) { return m_MojangAPI; } // tolua_export
/** Queues a console command for execution through the cServer class.
The command will be executed in the tick thread