diff options
author | Ciaran Gultnieks <ciaran@ciarang.com> | 2011-05-16 16:13:17 +0100 |
---|---|---|
committer | Ciaran Gultnieks <ciaran@ciarang.com> | 2011-05-16 16:13:17 +0100 |
commit | 1520d49310c07b1f8500582b6ac22baedcc80dcb (patch) | |
tree | 8680ffa419295ce560f6841ee1e097bd342cc95c /src/player.h | |
parent | 7cdd988f88ae3fc5b1ca342c3c5e176eec0ba8f9 (diff) | |
download | minetest-1520d49310c07b1f8500582b6ac22baedcc80dcb.tar.gz minetest-1520d49310c07b1f8500582b6ac22baedcc80dcb.tar.bz2 minetest-1520d49310c07b1f8500582b6ac22baedcc80dcb.zip |
Privileges to/from string conversion functions standalone, not static members
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; - } - }; /* |