NuriaProject Framework
0.1
The NuriaProject Framework
Main Page
Modules
Namespaces
Classes
Files
File List
•
All
Classes
Namespaces
Functions
Variables
Typedefs
Enumerations
Enumerator
Modules
Core
src
nuria
core_global.hpp
1
/* Copyright (c) 2014-2015, The Nuria Project
2
* The NuriaProject Framework is free software: you can redistribute it and/or
3
* modify it under the terms of the GNU Lesser General Public License as
4
* published by the Free Software Foundation, either version 3 of the License,
5
* or (at your option) any later version.
6
*
7
* The NuriaProject Framework is distributed in the hope that it will be useful,
8
* but WITHOUT ANY WARRANTY; without even the implied warranty of
9
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10
* GNU Lesser General Public License for more details.
11
*
12
* You should have received a copy of the GNU Lesser General Public License
13
* along with The NuriaProject Framework.
14
* If not, see <http://www.gnu.org/licenses/>.
15
*/
16
17
#ifndef NURIA_CORE_GLOBAL_HPP
18
#define NURIA_CORE_GLOBAL_HPP
19
20
#include <qglobal.h>
21
22
// Version info
23
#define NURIA_VERSION 0x000100
24
#define NURIA_VERSION_STR "0.1.0"
25
26
// Tria annotations.
27
// See Nuria::MetaObject for information.
28
#ifdef TRIA_RUN
29
// Clang parses attributes in reversed order
30
#define NURIA_ANNOTATE(name, ...) \
31
__attribute__((annotate("nuria_annotate:" QT_STRINGIFY(#name) "=" #__VA_ARGS__)))
32
#define NURIA_INTROSPECT __attribute__((annotate("nuria_introspect")))
33
#define NURIA_SKIP __attribute__((annotate("nuria_skip")))
34
#define NURIA_READ(field) __attribute__((annotate("nuria_read:" #field)))
35
#define NURIA_WRITE(field) __attribute__((annotate("nuria_write:" #field)))
36
#define NURIA_REQUIRE(...) __attribute__((annotate("nuria_require:" #__VA_ARGS__)))
37
#else
38
#define NURIA_ANNOTATE(name, ...)
39
#define NURIA_INTROSPECT
40
#define NURIA_SKIP
41
#define NURIA_READ(field)
42
#define NURIA_WRITE(field)
43
#define NURIA_REQUIRE(...)
44
#endif
45
46
//
47
#if defined(NuriaCore_EXPORTS)
48
# define NURIA_CORE_EXPORT Q_DECL_EXPORT
49
#else
50
# define NURIA_CORE_EXPORT Q_DECL_IMPORT
51
#endif
52
53
#endif // NURIA_CORE_GLOBAL_HPP
Generated on Fri Jan 9 2015 18:03:55 for NuriaProject Framework by
1.8.9.1