diff options
author | Stijn Buys <ingar@osirion.org> | 2011-07-10 19:31:42 +0000 |
---|---|---|
committer | Stijn Buys <ingar@osirion.org> | 2011-07-10 19:31:42 +0000 |
commit | e18fa1d8ad9208a9f5bcfe2d97d36ae3675c80f1 (patch) | |
tree | 427f60f1bd7a4718cc5c96d79d40e9c4c650d5bc /src/core/uid.h | |
parent | af5404ea593d460d3ae843a23b295e3cfeade5bc (diff) |
Generate a player ID when connecting to a server,
read it from keys.ini if it was previously generated.
Diffstat (limited to 'src/core/uid.h')
-rw-r--r-- | src/core/uid.h | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/src/core/uid.h b/src/core/uid.h new file mode 100644 index 0000000..1954852 --- /dev/null +++ b/src/core/uid.h @@ -0,0 +1,72 @@ +/* + core/uid.h + This file is part of the Osirion project and is distributed under + the terms of the GNU General Public License version 2. +*/ + +#ifndef __INCLUDED_CORE_UID_H__ +#define __INCLUDED_CORE_UID_H__ + +#include <string> + +namespace core +{ + +const size_t UIDKEYSIZE = 16; + +class UID { +public: + /** + * @brief default constructor + * will contain a zero-valued uid + */ + UID(); + + /** + * @brief copy constructor + */ + UID(const UID & other); + + /** + * @brief destructor + */ + ~UID(); + + /** + * return a strin representation of the key + */ + const std::string str() const; + + /* ---- mutators ------------------------------------------- */ + + /** + * @brief assign another UID + */ + void assign(const UID & other); + + /** + * @brief assign UID from a string + */ + void assign(const std::string & str); + + /** + * @brief generate a random UID + */ + void generate(); + + /** + * @brief reset UID to 0 + */ + void clear(); + + bool is_valid() const; + +private: + unsigned char uid_key[UIDKEYSIZE]; +}; + +} // namespace core + +#endif // __INCLUDED_CORE_UID_H__ + +
\ No newline at end of file |