Fixed failure for cRankManager to restart

master
Tiger Wang 2014-10-18 19:55:01 +01:00
parent 6a22b63473
commit eb821ff240
4 changed files with 44 additions and 43 deletions

View File

@ -34,7 +34,7 @@ static int tolua_cRankManager_AddGroup(lua_State * L)
S.GetStackValue(2, GroupName);
// Add the group:
cRoot::Get()->GetRankManager().AddGroup(GroupName);
cRoot::Get()->GetRankManager()->AddGroup(GroupName);
return 0;
}
@ -63,7 +63,7 @@ static int tolua_cRankManager_AddGroupToRank(lua_State * L)
S.GetStackValues(2, GroupName, RankName);
// Add the group to the rank:
S.Push(cRoot::Get()->GetRankManager().AddGroupToRank(GroupName, RankName));
S.Push(cRoot::Get()->GetRankManager()->AddGroupToRank(GroupName, RankName));
return 1;
}
@ -92,7 +92,7 @@ static int tolua_cRankManager_AddPermissionToGroup(lua_State * L)
S.GetStackValues(2, Permission, GroupName);
// Add the group to the rank:
S.Push(cRoot::Get()->GetRankManager().AddPermissionToGroup(Permission, GroupName));
S.Push(cRoot::Get()->GetRankManager()->AddPermissionToGroup(Permission, GroupName));
return 1;
}
@ -121,7 +121,7 @@ static int tolua_cRankManager_AddRank(lua_State * L)
S.GetStackValues(2, RankName, MsgPrefix, MsgSuffix, MsgNameColorCode);
// Add the rank:
cRoot::Get()->GetRankManager().AddRank(RankName, MsgPrefix, MsgSuffix, MsgNameColorCode);
cRoot::Get()->GetRankManager()->AddRank(RankName, MsgPrefix, MsgSuffix, MsgNameColorCode);
return 0;
}
@ -142,7 +142,7 @@ static int tolua_cRankManager_ClearPlayerRanks(lua_State * L)
}
// Remove all players:
cRoot::Get()->GetRankManager().ClearPlayerRanks();
cRoot::Get()->GetRankManager()->ClearPlayerRanks();
return 1;
}
@ -166,7 +166,7 @@ static int tolua_cRankManager_GetAllGroups(lua_State * L)
}
// Get the groups:
AStringVector Groups = cRoot::Get()->GetRankManager().GetAllGroups();
AStringVector Groups = cRoot::Get()->GetRankManager()->GetAllGroups();
// Push the results:
S.Push(Groups);
@ -193,7 +193,7 @@ static int tolua_cRankManager_GetAllPermissions(lua_State * L)
}
// Get the permissions:
AStringVector Permissions = cRoot::Get()->GetRankManager().GetAllPermissions();
AStringVector Permissions = cRoot::Get()->GetRankManager()->GetAllPermissions();
// Push the results:
S.Push(Permissions);
@ -220,7 +220,7 @@ static int tolua_cRankManager_GetAllPlayerUUIDs(lua_State * L)
}
// Get the player uuid's:
AStringVector Players = cRoot::Get()->GetRankManager().GetAllPlayerUUIDs();
AStringVector Players = cRoot::Get()->GetRankManager()->GetAllPlayerUUIDs();
// Push the results:
S.Push(Players);
@ -247,7 +247,7 @@ static int tolua_cRankManager_GetAllRanks(lua_State * L)
}
// Get the ranks:
AStringVector Ranks = cRoot::Get()->GetRankManager().GetAllRanks();
AStringVector Ranks = cRoot::Get()->GetRankManager()->GetAllRanks();
// Push the results:
S.Push(Ranks);
@ -274,7 +274,7 @@ static int tolua_cRankManager_GetDefaultRank(lua_State * L)
}
// Return the rank name:
S.Push(cRoot::Get()->GetRankManager().GetDefaultRank());
S.Push(cRoot::Get()->GetRankManager()->GetDefaultRank());
return 1;
}
@ -303,7 +303,7 @@ static int tolua_cRankManager_GetGroupPermissions(lua_State * L)
S.GetStackValue(2, GroupName);
// Get the permissions:
AStringVector Permissions = cRoot::Get()->GetRankManager().GetGroupPermissions(GroupName);
AStringVector Permissions = cRoot::Get()->GetRankManager()->GetGroupPermissions(GroupName);
// Push the results:
S.Push(Permissions);
@ -335,7 +335,7 @@ static int tolua_cRankManager_GetPlayerGroups(lua_State * L)
S.GetStackValue(2, PlayerUUID);
// Get the groups:
AStringVector Groups = cRoot::Get()->GetRankManager().GetPlayerGroups(PlayerUUID);
AStringVector Groups = cRoot::Get()->GetRankManager()->GetPlayerGroups(PlayerUUID);
// Push the results:
S.Push(Groups);
@ -368,7 +368,7 @@ static int tolua_cRankManager_GetPlayerMsgVisuals(lua_State * L)
// Get the permissions:
AString MsgPrefix, MsgSuffix, MsgNameColorCode;
if (!cRoot::Get()->GetRankManager().GetPlayerMsgVisuals(PlayerUUID, MsgPrefix, MsgSuffix, MsgNameColorCode))
if (!cRoot::Get()->GetRankManager()->GetPlayerMsgVisuals(PlayerUUID, MsgPrefix, MsgSuffix, MsgNameColorCode))
{
return 0;
}
@ -405,7 +405,7 @@ static int tolua_cRankManager_GetPlayerPermissions(lua_State * L)
S.GetStackValue(2, PlayerUUID);
// Get the permissions:
AStringVector Permissions = cRoot::Get()->GetRankManager().GetPlayerPermissions(PlayerUUID);
AStringVector Permissions = cRoot::Get()->GetRankManager()->GetPlayerPermissions(PlayerUUID);
// Push the results:
S.Push(Permissions);
@ -437,7 +437,7 @@ static int tolua_cRankManager_GetPlayerRankName(lua_State * L)
S.GetStackValue(2, PlayerUUID);
// Get the rank name:
AString RankName = cRoot::Get()->GetRankManager().GetPlayerRankName(PlayerUUID);
AString RankName = cRoot::Get()->GetRankManager()->GetPlayerRankName(PlayerUUID);
// Push the result:
S.Push(RankName);
@ -469,7 +469,7 @@ static int tolua_cRankManager_GetPlayerName(lua_State * L)
S.GetStackValue(2, PlayerUUID);
// Get the player name:
AString PlayerName = cRoot::Get()->GetRankManager().GetPlayerName(PlayerUUID);
AString PlayerName = cRoot::Get()->GetRankManager()->GetPlayerName(PlayerUUID);
// Push the result:
S.Push(PlayerName);
@ -501,7 +501,7 @@ static int tolua_cRankManager_GetRankGroups(lua_State * L)
S.GetStackValue(2, RankName);
// Get the groups:
AStringVector Groups = cRoot::Get()->GetRankManager().GetRankGroups(RankName);
AStringVector Groups = cRoot::Get()->GetRankManager()->GetRankGroups(RankName);
// Push the results:
S.Push(Groups);
@ -533,7 +533,7 @@ static int tolua_cRankManager_GetRankPermissions(lua_State * L)
S.GetStackValue(2, RankName);
// Get the permissions:
AStringVector Permissions = cRoot::Get()->GetRankManager().GetRankPermissions(RankName);
AStringVector Permissions = cRoot::Get()->GetRankManager()->GetRankPermissions(RankName);
// Push the results:
S.Push(Permissions);
@ -566,7 +566,7 @@ static int tolua_cRankManager_GetRankVisuals(lua_State * L)
// Get the visuals:
AString MsgPrefix, MsgSuffix, MsgNameColorCode;
if (!cRoot::Get()->GetRankManager().GetRankVisuals(RankName, MsgPrefix, MsgSuffix, MsgNameColorCode))
if (!cRoot::Get()->GetRankManager()->GetRankVisuals(RankName, MsgPrefix, MsgSuffix, MsgNameColorCode))
{
// No such rank, return nothing:
return 0;
@ -604,7 +604,7 @@ static int tolua_cRankManager_GroupExists(lua_State * L)
S.GetStackValue(2, GroupName);
// Get the response:
bool res = cRoot::Get()->GetRankManager().GroupExists(GroupName);
bool res = cRoot::Get()->GetRankManager()->GroupExists(GroupName);
// Push the result:
S.Push(res);
@ -636,7 +636,7 @@ static int tolua_cRankManager_IsGroupInRank(lua_State * L)
S.GetStackValues(2, GroupName, RankName);
// Get the response:
bool res = cRoot::Get()->GetRankManager().IsGroupInRank(GroupName, RankName);
bool res = cRoot::Get()->GetRankManager()->IsGroupInRank(GroupName, RankName);
// Push the result:
S.Push(res);
@ -668,7 +668,7 @@ static int tolua_cRankManager_IsPermissionInGroup(lua_State * L)
S.GetStackValues(2, Permission, GroupName);
// Get the response:
bool res = cRoot::Get()->GetRankManager().IsPermissionInGroup(Permission, GroupName);
bool res = cRoot::Get()->GetRankManager()->IsPermissionInGroup(Permission, GroupName);
// Push the result:
S.Push(res);
@ -700,7 +700,7 @@ static int tolua_cRankManager_IsPlayerRankSet(lua_State * L)
S.GetStackValue(2, PlayerUUID);
// Get the response:
bool res = cRoot::Get()->GetRankManager().IsPlayerRankSet(PlayerUUID);
bool res = cRoot::Get()->GetRankManager()->IsPlayerRankSet(PlayerUUID);
// Push the result:
S.Push(res);
@ -732,7 +732,7 @@ static int tolua_cRankManager_RankExists(lua_State * L)
S.GetStackValue(2, RankName);
// Get the response:
bool res = cRoot::Get()->GetRankManager().RankExists(RankName);
bool res = cRoot::Get()->GetRankManager()->RankExists(RankName);
// Push the result:
S.Push(res);
@ -764,7 +764,7 @@ static int tolua_cRankManager_RemoveGroup(lua_State * L)
S.GetStackValue(2, GroupName);
// Remove the group:
cRoot::Get()->GetRankManager().RemoveGroup(GroupName);
cRoot::Get()->GetRankManager()->RemoveGroup(GroupName);
return 0;
}
@ -793,7 +793,7 @@ static int tolua_cRankManager_RemoveGroupFromRank(lua_State * L)
S.GetStackValues(2, GroupName, RankName);
// Remove the group:
cRoot::Get()->GetRankManager().RemoveGroupFromRank(GroupName, RankName);
cRoot::Get()->GetRankManager()->RemoveGroupFromRank(GroupName, RankName);
return 0;
}
@ -822,7 +822,7 @@ static int tolua_cRankManager_RemovePermissionFromGroup(lua_State * L)
S.GetStackValues(2, Permission, GroupName);
// Remove the group:
cRoot::Get()->GetRankManager().RemovePermissionFromGroup(Permission, GroupName);
cRoot::Get()->GetRankManager()->RemovePermissionFromGroup(Permission, GroupName);
return 0;
}
@ -851,7 +851,7 @@ static int tolua_cRankManager_RemovePlayerRank(lua_State * L)
S.GetStackValue(2, PlayerUUID);
// Remove the player's rank:
cRoot::Get()->GetRankManager().RemovePlayerRank(PlayerUUID);
cRoot::Get()->GetRankManager()->RemovePlayerRank(PlayerUUID);
return 0;
}
@ -881,7 +881,7 @@ static int tolua_cRankManager_RemoveRank(lua_State * L)
S.GetStackValues(2, RankName, ReplacementRankName);
// Remove the rank:
cRoot::Get()->GetRankManager().RemoveRank(RankName, ReplacementRankName);
cRoot::Get()->GetRankManager()->RemoveRank(RankName, ReplacementRankName);
return 0;
}
@ -910,7 +910,7 @@ static int tolua_cRankManager_RenameGroup(lua_State * L)
S.GetStackValues(2, OldName, NewName);
// Remove the group:
bool res = cRoot::Get()->GetRankManager().RenameGroup(OldName, NewName);
bool res = cRoot::Get()->GetRankManager()->RenameGroup(OldName, NewName);
// Push the result:
S.Push(res);
@ -942,7 +942,7 @@ static int tolua_cRankManager_RenameRank(lua_State * L)
S.GetStackValues(2, OldName, NewName);
// Remove the rank:
bool res = cRoot::Get()->GetRankManager().RenameRank(OldName, NewName);
bool res = cRoot::Get()->GetRankManager()->RenameRank(OldName, NewName);
// Push the result:
S.Push(res);
@ -974,7 +974,7 @@ static int tolua_cRankManager_SetDefaultRank(lua_State * L)
S.GetStackValue(2, RankName);
// Set the rank, return the result:
S.Push(cRoot::Get()->GetRankManager().SetDefaultRank(RankName));
S.Push(cRoot::Get()->GetRankManager()->SetDefaultRank(RankName));
return 1;
}
@ -1003,7 +1003,7 @@ static int tolua_cRankManager_SetPlayerRank(lua_State * L)
S.GetStackValues(2, PlayerUUID, PlayerName, RankName);
// Set the rank:
cRoot::Get()->GetRankManager().SetPlayerRank(PlayerUUID, PlayerName, RankName);
cRoot::Get()->GetRankManager()->SetPlayerRank(PlayerUUID, PlayerName, RankName);
return 0;
}
@ -1032,7 +1032,7 @@ static int tolua_cRankManager_SetRankVisuals(lua_State * L)
S.GetStackValues(2, RankName, MsgPrefix, MsgSuffix, MsgNameColorCode);
// Set the visuals:
cRoot::Get()->GetRankManager().SetRankVisuals(RankName, MsgPrefix, MsgSuffix, MsgNameColorCode);
cRoot::Get()->GetRankManager()->SetRankVisuals(RankName, MsgPrefix, MsgSuffix, MsgNameColorCode);
return 0;
}

View File

@ -2134,19 +2134,19 @@ void cPlayer::ApplyFoodExhaustionFromMovement()
void cPlayer::LoadRank(void)
{
// Load the values from cRankManager:
cRankManager & RankMgr = cRoot::Get()->GetRankManager();
m_Rank = RankMgr.GetPlayerRankName(m_UUID);
cRankManager * RankMgr = cRoot::Get()->GetRankManager();
m_Rank = RankMgr->GetPlayerRankName(m_UUID);
if (m_Rank.empty())
{
m_Rank = RankMgr.GetDefaultRank();
m_Rank = RankMgr->GetDefaultRank();
}
else
{
// Update the name:
RankMgr.UpdatePlayerName(m_UUID, m_PlayerName);
RankMgr->UpdatePlayerName(m_UUID, m_PlayerName);
}
m_Permissions = RankMgr.GetPlayerPermissions(m_UUID);
RankMgr.GetRankVisuals(m_Rank, m_MsgPrefix, m_MsgSuffix, m_MsgNameColorCode);
m_Permissions = RankMgr->GetPlayerPermissions(m_UUID);
RankMgr->GetRankVisuals(m_Rank, m_MsgPrefix, m_MsgSuffix, m_MsgNameColorCode);
// Break up the individual permissions on each dot, into m_SplitPermissions:
m_SplitPermissions.clear();

View File

@ -154,7 +154,8 @@ void cRoot::Start(void)
m_WebAdmin->Init();
LOGD("Loading settings...");
m_RankManager.Initialize(m_MojangAPI);
m_RankManager = new cRankManager();
m_RankManager->Initialize(m_MojangAPI);
m_CraftingRecipes = new cCraftingRecipes;
m_FurnaceRecipe = new cFurnaceRecipe();

View File

@ -86,7 +86,7 @@ public:
cPluginManager * GetPluginManager (void) { return m_PluginManager; } // tolua_export
cAuthenticator & GetAuthenticator (void) { return m_Authenticator; }
cMojangAPI & GetMojangAPI (void) { return m_MojangAPI; }
cRankManager & GetRankManager (void) { return m_RankManager; }
cRankManager * GetRankManager (void) { return m_RankManager; }
/** Queues a console command for execution through the cServer class.
The command will be executed in the tick thread
@ -185,7 +185,7 @@ private:
cPluginManager * m_PluginManager;
cAuthenticator m_Authenticator;
cMojangAPI m_MojangAPI;
cRankManager m_RankManager;
cRankManager * m_RankManager;
cHTTPServer m_HTTPServer;
bool m_bStop;