1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
|
/*
* This file is part of the AzerothCore Project. See AUTHORS file for Copyright information
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU Affero General Public License as published by the
* Free Software Foundation; either version 3 of the License, or (at your
* option) any later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "LogCommon.h"
#include "Define.h"
#include "SmartEnum.h"
#include <stdexcept>
#include <vector>
namespace Acore::Impl::EnumUtilsImpl
{
/************************************************************\
|* data for enum 'LogLevel' in 'LogCommon.h' auto-generated *|
\************************************************************/
template <>
AC_API_EXPORT EnumText EnumUtils<LogLevel>::ToString(LogLevel value)
{
switch (value)
{
case LOG_LEVEL_DISABLED: return { "LOG_LEVEL_DISABLED", "LOG_LEVEL_DISABLED", "" };
case LOG_LEVEL_FATAL: return { "LOG_LEVEL_FATAL", "LOG_LEVEL_FATAL", "" };
case LOG_LEVEL_ERROR: return { "LOG_LEVEL_ERROR", "LOG_LEVEL_ERROR", "" };
case LOG_LEVEL_WARN: return { "LOG_LEVEL_WARN", "LOG_LEVEL_WARN", "" };
case LOG_LEVEL_INFO: return { "LOG_LEVEL_INFO", "LOG_LEVEL_INFO", "" };
case LOG_LEVEL_DEBUG: return { "LOG_LEVEL_DEBUG", "LOG_LEVEL_DEBUG", "" };
case LOG_LEVEL_TRACE: return { "LOG_LEVEL_TRACE", "LOG_LEVEL_TRACE", "" };
default: throw std::out_of_range("value");
}
}
template <>
AC_API_EXPORT std::size_t EnumUtils<LogLevel>::Count() { return 7; }
template <>
AC_API_EXPORT LogLevel EnumUtils<LogLevel>::FromIndex(std::size_t index)
{
switch (index)
{
case 0: return LOG_LEVEL_DISABLED;
case 1: return LOG_LEVEL_FATAL;
case 2: return LOG_LEVEL_ERROR;
case 3: return LOG_LEVEL_WARN;
case 4: return LOG_LEVEL_INFO;
case 5: return LOG_LEVEL_DEBUG;
case 6: return LOG_LEVEL_TRACE;
default: throw std::out_of_range("index");
}
}
template <>
AC_API_EXPORT std::size_t EnumUtils<LogLevel>::ToIndex(LogLevel value)
{
switch (value)
{
case LOG_LEVEL_DISABLED: return 0;
case LOG_LEVEL_FATAL: return 1;
case LOG_LEVEL_ERROR: return 2;
case LOG_LEVEL_WARN: return 3;
case LOG_LEVEL_INFO: return 4;
case LOG_LEVEL_DEBUG: return 5;
case LOG_LEVEL_TRACE: return 6;
default: throw std::out_of_range("value");
}
}
/****************************************************************\
|* data for enum 'AppenderType' in 'LogCommon.h' auto-generated *|
\****************************************************************/
template <>
AC_API_EXPORT EnumText EnumUtils<AppenderType>::ToString(AppenderType value)
{
switch (value)
{
case APPENDER_NONE: return { "APPENDER_NONE", "APPENDER_NONE", "" };
case APPENDER_CONSOLE: return { "APPENDER_CONSOLE", "APPENDER_CONSOLE", "" };
case APPENDER_FILE: return { "APPENDER_FILE", "APPENDER_FILE", "" };
case APPENDER_DB: return { "APPENDER_DB", "APPENDER_DB", "" };
default: throw std::out_of_range("value");
}
}
template <>
AC_API_EXPORT std::size_t EnumUtils<AppenderType>::Count() { return 4; }
template <>
AC_API_EXPORT AppenderType EnumUtils<AppenderType>::FromIndex(std::size_t index)
{
switch (index)
{
case 0: return APPENDER_NONE;
case 1: return APPENDER_CONSOLE;
case 2: return APPENDER_FILE;
case 3: return APPENDER_DB;
default: throw std::out_of_range("index");
}
}
template <>
AC_API_EXPORT std::size_t EnumUtils<AppenderType>::ToIndex(AppenderType value)
{
switch (value)
{
case APPENDER_NONE: return 0;
case APPENDER_CONSOLE: return 1;
case APPENDER_FILE: return 2;
case APPENDER_DB: return 3;
default: throw std::out_of_range("value");
}
}
/*****************************************************************\
|* data for enum 'AppenderFlags' in 'LogCommon.h' auto-generated *|
\*****************************************************************/
template <>
AC_API_EXPORT EnumText EnumUtils<AppenderFlags>::ToString(AppenderFlags value)
{
switch (value)
{
case APPENDER_FLAGS_NONE: return { "APPENDER_FLAGS_NONE", "APPENDER_FLAGS_NONE", "" };
case APPENDER_FLAGS_PREFIX_TIMESTAMP: return { "APPENDER_FLAGS_PREFIX_TIMESTAMP", "APPENDER_FLAGS_PREFIX_TIMESTAMP", "" };
case APPENDER_FLAGS_PREFIX_LOGLEVEL: return { "APPENDER_FLAGS_PREFIX_LOGLEVEL", "APPENDER_FLAGS_PREFIX_LOGLEVEL", "" };
case APPENDER_FLAGS_PREFIX_LOGFILTERTYPE: return { "APPENDER_FLAGS_PREFIX_LOGFILTERTYPE", "APPENDER_FLAGS_PREFIX_LOGFILTERTYPE", "" };
case APPENDER_FLAGS_USE_TIMESTAMP: return { "APPENDER_FLAGS_USE_TIMESTAMP", "APPENDER_FLAGS_USE_TIMESTAMP", "" };
case APPENDER_FLAGS_MAKE_FILE_BACKUP: return { "APPENDER_FLAGS_MAKE_FILE_BACKUP", "APPENDER_FLAGS_MAKE_FILE_BACKUP", "" };
default: throw std::out_of_range("value");
}
}
template <>
AC_API_EXPORT std::size_t EnumUtils<AppenderFlags>::Count() { return 6; }
template <>
AC_API_EXPORT AppenderFlags EnumUtils<AppenderFlags>::FromIndex(std::size_t index)
{
switch (index)
{
case 0: return APPENDER_FLAGS_NONE;
case 1: return APPENDER_FLAGS_PREFIX_TIMESTAMP;
case 2: return APPENDER_FLAGS_PREFIX_LOGLEVEL;
case 3: return APPENDER_FLAGS_PREFIX_LOGFILTERTYPE;
case 4: return APPENDER_FLAGS_USE_TIMESTAMP;
case 5: return APPENDER_FLAGS_MAKE_FILE_BACKUP;
default: throw std::out_of_range("index");
}
}
template <>
AC_API_EXPORT std::size_t EnumUtils<AppenderFlags>::ToIndex(AppenderFlags value)
{
switch (value)
{
case APPENDER_FLAGS_NONE: return 0;
case APPENDER_FLAGS_PREFIX_TIMESTAMP: return 1;
case APPENDER_FLAGS_PREFIX_LOGLEVEL: return 2;
case APPENDER_FLAGS_PREFIX_LOGFILTERTYPE: return 3;
case APPENDER_FLAGS_USE_TIMESTAMP: return 4;
case APPENDER_FLAGS_MAKE_FILE_BACKUP: return 5;
default: throw std::out_of_range("value");
}
}
}
|