diff options
Diffstat (limited to 'src/player.h')
-rw-r--r-- | src/player.h | 57 |
1 files changed, 9 insertions, 48 deletions
diff --git a/src/player.h b/src/player.h index 778bb54b3..be93766fd 100644 --- a/src/player.h +++ b/src/player.h @@ -43,6 +43,15 @@ const u64 PRIV_DEFAULT = PRIV_BUILD; const u64 PRIV_ALL = 0x7FFFFFFFFFFFFFFFULL; const u64 PRIV_INVALID = 0x8000000000000000ULL; +// Convert a privileges value into a human-readable string, +// with each component separated by a comma. +std::wstring privsToString(u64 privs); + +// Converts a comma-seperated list of privilege values into a +// privileges value. The reverse of privsToString(). Returns +// PRIV_INVALID if there is anything wrong with the input. +u64 stringToPrivs(std::wstring str); + class Map; @@ -155,54 +164,6 @@ protected: public: - // Converst a prvileges value into a human-readable string, - // with each component separated by a comma. - static std::wstring privsToString(u64 privs) - { - std::wostringstream os(std::ios_base::binary); - if(privs & PRIV_BUILD) - os<<L"build,"; - if(privs & PRIV_TELEPORT) - os<<L"teleport,"; - if(privs & PRIV_SETTIME) - os<<L"settime,"; - if(privs & PRIV_PRIVS) - os<<L"privs,"; - if(os.tellp()) - { - // Drop the trailing comma. (Why on earth can't - // you truncate a C++ stream anyway???) - std::wstring tmp = os.str(); - return tmp.substr(0, tmp.length() -1); - } - return os.str(); - } - - // Converts a comma-seperated list of privilege values into a - // privileges value. The reverse of privsToString(). Returns - // PRIV_INVALID if there is anything wrong with the input. - static u64 stringToPrivs(std::wstring str) - { - u64 privs=0; - std::vector<std::wstring> pr; - pr=str_split(str, ','); - for(std::vector<std::wstring>::iterator i = pr.begin(); - i != pr.end(); ++i) - { - if(*i == L"build") - privs |= PRIV_BUILD; - else if(*i == L"teleport") - privs |= PRIV_TELEPORT; - else if(*i == L"settime") - privs |= PRIV_SETTIME; - else if(*i == L"privs") - privs |= PRIV_PRIVS; - else - return PRIV_INVALID; - } - return privs; - } - }; /* |