QtCanpool 3.3.0
载入中...
搜索中...
未找到
qxplugin_global.h
浏览该文件的文档.
1
5#pragma once
6
7#include <QtCore/qglobal.h>
8
9#ifndef Q_NULLPTR
10#define Q_NULLPTR 0
11#endif // Q_NULLPTR
12
13#ifndef Q_DECL_OVERRIDE
14#define Q_DECL_OVERRIDE override
15#endif // Q_DECL_OVERRIDE
16
17#ifndef QX_VERSION_JOIN
18#define QX_VERSION_JOIN2(major, minor, patch) major##.##minor##.##patch
19#define QX_VERSION_JOIN(major, minor, patch) QX_VERSION_JOIN2(major, minor, patch)
20#endif // QX_VERSION_JOIN
21
22#ifndef QX_DECLARE_PRIVATE
23
24#define QX_DECLARE_PRIVATE(Class) \
25 Class##Private *d_ptr; \
26 Q_DECLARE_PRIVATE(Class)
27
28#define QX_DECLARE_PUBLIC(Class) \
29 Class *q_ptr; \
30 inline void setPublic(Class *ptr) \
31 { \
32 q_ptr = ptr; \
33 } \
34 Q_DECLARE_PUBLIC(Class)
35
36#define QX_INIT_PRIVATE(Class) \
37 d_ptr = new Class##Private(); \
38 d_ptr->setPublic(this);
39
40#define QX_FINI_PRIVATE() \
41 delete d_ptr; \
42 d_ptr = Q_NULLPTR;
43
44#endif // QX_DECLARE_PRIVATE
45
46#if !defined(QX_PLUGIN_NAMESPACE_DISABLE)
47#define QX_PLUGIN_NAMESPACE QxPlugin
48#endif
49
50#if !defined(QX_PLUGIN_NAMESPACE)
51#define QX_PLUGIN_BEGIN_NAMESPACE
52#define QX_PLUGIN_END_NAMESPACE
53#define QX_PLUGIN_USE_NAMESPACE
54#define QX_PLUGIN_PREPEND_NAMESPACE(name) name
55#else
56#define QX_PLUGIN_BEGIN_NAMESPACE \
57 namespace QX_PLUGIN_NAMESPACE \
58 {
59#define QX_PLUGIN_END_NAMESPACE }
60#define QX_PLUGIN_USE_NAMESPACE using namespace QX_PLUGIN_NAMESPACE;
61#define QX_PLUGIN_PREPEND_NAMESPACE(name) QX_PLUGIN_NAMESPACE::name
62#endif // QX_PLUGIN_NAMESPACE
63
64#ifndef QX_PLUGIN_LIBRARY_STATIC
65#ifdef QX_PLUGIN_LIBRARY
66#define QX_PLUGIN_EXPORT Q_DECL_EXPORT
67#else
68#define QX_PLUGIN_EXPORT Q_DECL_IMPORT
69#endif // QX_PLUGIN_LIBRARY
70#else // QX_PLUGIN_LIBRARY_STATIC
71#define QX_PLUGIN_EXPORT
72#endif // QX_PLUGIN_LIBRARY_STATIC
73
74#define QX_PLUGIN_VERSION_MAJOR 0
75#define QX_PLUGIN_VERSION_MINOR 2
76#define QX_PLUGIN_VERSION_PATCH 0
77/*
78 QX_PLUGIN_VERSION is (major << 16) + (minor << 8) + patch.
79 can be used like #if (QX_PLUGIN_VERSION >= QT_VERSION_CHECK(0, 5, 3))
80*/
81#define QX_PLUGIN_VERSION QT_VERSION_CHECK(QX_PLUGIN_VERSION_MAJOR, QX_PLUGIN_VERSION_MINOR, QX_PLUGIN_VERSION_PATCH)
82
83#define QX_PLUGIN_VERSION_STR \
84 QT_STRINGIFY(QX_VERSION_JOIN(QX_PLUGIN_VERSION_MAJOR, QX_PLUGIN_VERSION_MINOR, QX_PLUGIN_VERSION_PATCH))
85
86/*
87 The Qt plugin IID every QxPlugin implementation must carry in its
88 Q_PLUGIN_METADATA, so QPluginLoader can recognise it as one of ours and the
89 manager can reject anything that is not.
90*/
91#ifndef QX_PLUGIN_IID
92#define QX_PLUGIN_IID "org.qtcanpool.QtCanpool.QxPlugin/1.0"
93#endif // QX_PLUGIN_IID
94
95#ifndef QX_PLUGIN_DISABLE_DEPRECATED_BEFORE
96#define QX_PLUGIN_DISABLE_DEPRECATED_BEFORE QX_PLUGIN_VERSION
97#endif
98
99/*
100 QX_PLUGIN_DEPRECATED_SINCE(major, minor) evaluates as true if the QxPlugin version is greater than
101 the deprecation point specified.
102
103 Use it to specify from which version of QxPlugin a function or class has been deprecated
104
105 Example:
106 #if QX_PLUGIN_DEPRECATED_SINCE(0,3)
107 QT_DEPRECATED void deprecatedFunction(); // function deprecated since QxPlugin 0.3
108 #endif
109 */
110#ifdef QT_DEPRECATED
111#define QX_PLUGIN_DEPRECATED_SINCE(major, minor) \
112 (QT_VERSION_CHECK(major, minor, 0) > QX_PLUGIN_DISABLE_DEPRECATED_BEFORE)
113#else
114#define QX_PLUGIN_DEPRECATED_SINCE(major, minor) 0
115#endif