Merge branch 'fixes' into main/rendor-staging
[ryzomcore.git] / ryzom / common / src / game_share / guild_grade.h
blob247aef0d03a46add050bd5b103785ef7c8144de0
1 // Ryzom - MMORPG Framework <http://dev.ryzom.com/projects/ryzom/>
2 // Copyright (C) 2010 Winch Gate Property Limited
3 //
4 // This program is free software: you can redistribute it and/or modify
5 // it under the terms of the GNU Affero General Public License as
6 // published by the Free Software Foundation, either version 3 of the
7 // License, or (at your option) any later version.
8 //
9 // This program is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU Affero General Public License for more details.
14 // You should have received a copy of the GNU Affero General Public License
15 // along with this program. If not, see <http://www.gnu.org/licenses/>.
18 #ifndef GUILD_GRADE_H
19 #define GUILD_GRADE_H
21 #include <nel/misc/types_nl.h>
22 #include <nel/misc/debug.h>
23 #include <nel/misc/common.h>
24 #include <vector>
25 #include <map>
27 // User #includes
29 namespace EGSPD
33 // Forward declarations
39 // Typedefs & Enums
42 /** TGuildGrade
43 * defined at game_share/pd_scripts/guild_grade.pds:6
45 class CGuildGrade
48 public:
50 /// \name Enum values
51 // @{
53 enum TGuildGrade
55 Leader = 0,
56 HighOfficer = 1,
57 Officer = 2,
58 Member = 3,
59 ___TGuildGrade_useSize = 4,
60 Unknown = 4,
61 EndGuildGrade = 4,
64 // @}
67 public:
69 /// \name Conversion methods
70 // @{
72 /**
73 * Use these methods to convert from enum value to string (and vice versa)
76 static const std::string& toString(TGuildGrade v);
77 static CGuildGrade::TGuildGrade fromString(const std::string& v);
79 // @}
82 private:
84 /// \name Enum initialisation
85 // @{
87 static void init();
88 static bool _Initialised;
89 static std::string _UnknownString;
90 static std::vector<std::string> _StrTable;
91 static std::map<std::string, TGuildGrade> _ValueMap;
93 // @}
98 } // End of EGSPD
102 // Inline implementations
105 #include "guild_grade_inline.h"
107 #endif