1 /* Copyright (C) 2010 Wildfire Games.
2  * This file is part of 0 A.D.
3  *
4  * 0 A.D. is free software: you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation, either version 2 of the License, or
7  * (at your option) any later version.
8  *
9  * 0 A.D. 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 General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with 0 A.D.  If not, see <http://www.gnu.org/licenses/>.
16  */
17 
18 #ifndef INCLUDED_COMPONENTS
19 #define INCLUDED_COMPONENTS
20 
21 // Defaults for TypeList.h macros
22 #define MESSAGE(name)
23 #define INTERFACE(name)
24 #define COMPONENT(name)
25 
26 #undef MESSAGE
27 #define MESSAGE(name) MT_##name,
28 enum EMessageTypeId
29 {
30 	MT__Invalid = 0,
31 #include "simulation2/TypeList.h"
32 	MT__LastNative
33 };
34 #undef MESSAGE
35 #define MESSAGE(name)
36 
37 #undef INTERFACE
38 #define INTERFACE(name) IID_##name,
39 enum EInterfaceId
40 {
41 	IID__Invalid = 0,
42 #include "simulation2/TypeList.h"
43 	IID__LastNative
44 };
45 #undef INTERFACE
46 #define INTERFACE(name)
47 
48 #undef COMPONENT
49 #define COMPONENT(name) CID_##name,
50 enum EComponentTypeId
51 {
52 	CID__Invalid = 0,
53 #include "simulation2/TypeList.h"
54 	CID__LastNative
55 };
56 #undef COMPONENT
57 #define COMPONENT(name)
58 
59 #undef MESSAGE
60 #undef INTERFACE
61 #undef COMPONENT
62 
63 #endif // INCLUDED_COMPONENTS
64