annotate include/qtd_core.h @ 361:beaf4a2974d7

Autogeneration of QMetaType. First attempts at fixing qRegisterMetaType etc
author Max Samukha <maxter@maxter.com>
date Wed, 09 Jun 2010 11:08:56 +0300
parents 9784459f0750
children da4235301224
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
e78566595089 initial import
mandel
parents:
diff changeset
1 /**
357
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 355
diff changeset
2 Copyright: Copyright QtD Team, 2008-2010
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 355
diff changeset
3 License: Boost License 1.0
355
08c1ca7975ab obviated redundant virtual dispatch callbacks
Max Samukha <maxter@spambox.com>
parents: 354
diff changeset
4 */
1
e78566595089 initial import
mandel
parents:
diff changeset
5
e78566595089 initial import
mandel
parents:
diff changeset
6 #ifndef QTD_CORE_H
e78566595089 initial import
mandel
parents:
diff changeset
7 #define QTD_CORE_H
e78566595089 initial import
mandel
parents:
diff changeset
8
e78566595089 initial import
mandel
parents:
diff changeset
9 #include <QAbstractItemModel>
e78566595089 initial import
mandel
parents:
diff changeset
10
357
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 355
diff changeset
11 #define QTD_EXTERN extern "C"
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 355
diff changeset
12
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 355
diff changeset
13 #ifdef WIN32
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 355
diff changeset
14
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 355
diff changeset
15 #define QTD_DLL_EXPORT __declspec(dllexport)
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 355
diff changeset
16 #define QTD_DLL_IMPORT __declspec(dllimport)
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 355
diff changeset
17
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 355
diff changeset
18 #ifdef CPP_SHARED
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 355
diff changeset
19
361
beaf4a2974d7 Autogeneration of QMetaType. First attempts at fixing qRegisterMetaType etc
Max Samukha <maxter@maxter.com>
parents: 357
diff changeset
20 QTD_EXTERN typedef void (*VoidFunc)();
357
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 355
diff changeset
21
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 355
diff changeset
22 #define QTD_EXPORT_DECL(MODULE, TYPE, NAME, ARGS) \
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 355
diff changeset
23 QTD_EXTERN typedef TYPE (*qtd_##NAME##_t)ARGS; \
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 355
diff changeset
24 QTD_EXTERN { extern QTD_##MODULE##_DLL_PUBLIC qtd_##NAME##_t qtd_##NAME; }
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 355
diff changeset
25
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 355
diff changeset
26 #define QTD_EXPORT(MODULE, NAME) \
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 355
diff changeset
27 QTD_EXTERN { QTD_##MODULE##_DLL_PUBLIC qtd_##NAME##_t qtd_##NAME; } \
361
beaf4a2974d7 Autogeneration of QMetaType. First attempts at fixing qRegisterMetaType etc
Max Samukha <maxter@maxter.com>
parents: 357
diff changeset
28 QTD_EXTERN QTD_DLL_EXPORT void qtd_set_##NAME(VoidFunc func) { qtd_##NAME = (qtd_##NAME##_t)func; }
357
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 355
diff changeset
29
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 355
diff changeset
30 #endif
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 355
diff changeset
31
1
e78566595089 initial import
mandel
parents:
diff changeset
32 #else
357
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 355
diff changeset
33
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 355
diff changeset
34 #define QTD_DLL_EXPORT
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 355
diff changeset
35 #define QTD_DLL_IMPORT
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 355
diff changeset
36
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 355
diff changeset
37 #define QTD_EXPORT_DECL(MODULE, TYPE, NAME, ARGS) \
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 355
diff changeset
38 QTD_EXTERN TYPE qtd_##NAME ARGS;
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 355
diff changeset
39
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 355
diff changeset
40 #define QTD_EXPORT(MODULE, NAME)
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 355
diff changeset
41
1
e78566595089 initial import
mandel
parents:
diff changeset
42 #endif
e78566595089 initial import
mandel
parents:
diff changeset
43
357
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 355
diff changeset
44 #define QTD_DLL_PUBLIC QTD_DLL_EXPORT
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 355
diff changeset
45
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 355
diff changeset
46 #ifdef QTD_CORE
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 355
diff changeset
47 #define QTD_CORE_DLL_PUBLIC QTD_DLL_EXPORT
1
e78566595089 initial import
mandel
parents:
diff changeset
48 #else
357
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 355
diff changeset
49 #define QTD_CORE_DLL_PUBLIC QTD_DLL_IMPORT
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 355
diff changeset
50 #endif
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 355
diff changeset
51
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 355
diff changeset
52 #ifdef QTD_GUI
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 355
diff changeset
53 #define QTD_GUI_DLL_PUBLIC QTD_DLL_EXPORT
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 355
diff changeset
54 #else
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 355
diff changeset
55 #define QTD_GUI_DLL_PUBLIC QTD_DLL_IMPORT
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 355
diff changeset
56 #endif
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 355
diff changeset
57
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 355
diff changeset
58 #ifdef QTD_OPENGL
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 355
diff changeset
59 #define QTD_OPENGL_DLL_PUBLIC QTD_DLL_EXPORT
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 355
diff changeset
60 #else
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 355
diff changeset
61 #define QTD_OPENGL_DLL_PUBLIC QTD_DLL_IMPORT
1
e78566595089 initial import
mandel
parents:
diff changeset
62 #endif
e78566595089 initial import
mandel
parents:
diff changeset
63
357
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 355
diff changeset
64 #ifdef QTD_NETWORK
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 355
diff changeset
65 #define QTD_NETWORK_DLL_PUBLIC QTD_DLL_EXPORT
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 355
diff changeset
66 #else
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 355
diff changeset
67 #define QTD_NETWORK_DLL_PUBLIC QTD_DLL_IMPORT
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 355
diff changeset
68 #endif
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 355
diff changeset
69
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 355
diff changeset
70 #ifdef QTD_SVG
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 355
diff changeset
71 #define QTD_SVG_DLL_PUBLIC QTD_DLL_EXPORT
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 355
diff changeset
72 #else
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 355
diff changeset
73 #define QTD_SVG_DLL_PUBLIC QTD_DLL_IMPORT
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 355
diff changeset
74 #endif
355
08c1ca7975ab obviated redundant virtual dispatch callbacks
Max Samukha <maxter@spambox.com>
parents: 354
diff changeset
75
357
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 355
diff changeset
76 #ifdef QTD_XML
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 355
diff changeset
77 #define QTD_XML_DLL_PUBLIC QTD_DLL_EXPORT
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 355
diff changeset
78 #else
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 355
diff changeset
79 #define QTD_XML_DLL_PUBLIC QTD_DLL_IMPORT
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 355
diff changeset
80 #endif
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 355
diff changeset
81
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 355
diff changeset
82 #ifdef QTD_WEBKIT
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 355
diff changeset
83 #define QTD_WEBKIT_DLL_PUBLIC QTD_DLL_EXPORT
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 355
diff changeset
84 #else
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 355
diff changeset
85 #define QTD_WEBKIT_DLL_PUBLIC QTD_DLL_IMPORT
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 355
diff changeset
86 #endif
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 355
diff changeset
87
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 355
diff changeset
88 //TODO: ditch
1
e78566595089 initial import
mandel
parents:
diff changeset
89 struct QModelIndexAccessor {
e78566595089 initial import
mandel
parents:
diff changeset
90 int row;
e78566595089 initial import
mandel
parents:
diff changeset
91 int col;
e78566595089 initial import
mandel
parents:
diff changeset
92 void *ptr;
e78566595089 initial import
mandel
parents:
diff changeset
93 QAbstractItemModel *model;
e78566595089 initial import
mandel
parents:
diff changeset
94 };
e78566595089 initial import
mandel
parents:
diff changeset
95
e78566595089 initial import
mandel
parents:
diff changeset
96 struct DArray {
e78566595089 initial import
mandel
parents:
diff changeset
97 size_t length;
e78566595089 initial import
mandel
parents:
diff changeset
98 void* ptr;
e78566595089 initial import
mandel
parents:
diff changeset
99 };
e78566595089 initial import
mandel
parents:
diff changeset
100
254
maxter
parents: 252
diff changeset
101 enum QtdObjectFlags
maxter
parents: 252
diff changeset
102 {
maxter
parents: 252
diff changeset
103 qNone,
maxter
parents: 252
diff changeset
104 qNativeOwnership = 0x01,
maxter
parents: 252
diff changeset
105 qDOwnership = 0x02
maxter
parents: 252
diff changeset
106 //gcManaged = 0x04
maxter
parents: 252
diff changeset
107 };
maxter
parents: 252
diff changeset
108
357
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 355
diff changeset
109 class QTD_CORE_DLL_PUBLIC QtdObjectLink
254
maxter
parents: 252
diff changeset
110 {
maxter
parents: 252
diff changeset
111 public:
357
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 355
diff changeset
112 void* dId;
355
08c1ca7975ab obviated redundant virtual dispatch callbacks
Max Samukha <maxter@spambox.com>
parents: 354
diff changeset
113
08c1ca7975ab obviated redundant virtual dispatch callbacks
Max Samukha <maxter@spambox.com>
parents: 354
diff changeset
114 QtdObjectLink(void* id) : dId(id) {}
08c1ca7975ab obviated redundant virtual dispatch callbacks
Max Samukha <maxter@spambox.com>
parents: 354
diff changeset
115
08c1ca7975ab obviated redundant virtual dispatch callbacks
Max Samukha <maxter@spambox.com>
parents: 354
diff changeset
116 template<typename T>
08c1ca7975ab obviated redundant virtual dispatch callbacks
Max Samukha <maxter@spambox.com>
parents: 354
diff changeset
117 static QtdObjectLink* getLink(const T* object)
08c1ca7975ab obviated redundant virtual dispatch callbacks
Max Samukha <maxter@spambox.com>
parents: 354
diff changeset
118 {
08c1ca7975ab obviated redundant virtual dispatch callbacks
Max Samukha <maxter@spambox.com>
parents: 354
diff changeset
119 return dynamic_cast<QtdObjectLink*>((T*)object);
08c1ca7975ab obviated redundant virtual dispatch callbacks
Max Samukha <maxter@spambox.com>
parents: 354
diff changeset
120 }
08c1ca7975ab obviated redundant virtual dispatch callbacks
Max Samukha <maxter@spambox.com>
parents: 354
diff changeset
121
08c1ca7975ab obviated redundant virtual dispatch callbacks
Max Samukha <maxter@spambox.com>
parents: 354
diff changeset
122 template<typename T>
08c1ca7975ab obviated redundant virtual dispatch callbacks
Max Samukha <maxter@spambox.com>
parents: 354
diff changeset
123 static void* getDId(const T* object)
08c1ca7975ab obviated redundant virtual dispatch callbacks
Max Samukha <maxter@spambox.com>
parents: 354
diff changeset
124 {
08c1ca7975ab obviated redundant virtual dispatch callbacks
Max Samukha <maxter@spambox.com>
parents: 354
diff changeset
125 QtdObjectLink *link = getLink((T*)object);
08c1ca7975ab obviated redundant virtual dispatch callbacks
Max Samukha <maxter@spambox.com>
parents: 354
diff changeset
126 return link ? link->dId : NULL;
08c1ca7975ab obviated redundant virtual dispatch callbacks
Max Samukha <maxter@spambox.com>
parents: 354
diff changeset
127 }
08c1ca7975ab obviated redundant virtual dispatch callbacks
Max Samukha <maxter@spambox.com>
parents: 354
diff changeset
128 };
254
maxter
parents: 252
diff changeset
129
357
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 355
diff changeset
130 class QTD_CORE_DLL_PUBLIC QObjectLink : public QtdObjectLink, public QObjectUserData
355
08c1ca7975ab obviated redundant virtual dispatch callbacks
Max Samukha <maxter@spambox.com>
parents: 354
diff changeset
131 {
08c1ca7975ab obviated redundant virtual dispatch callbacks
Max Samukha <maxter@spambox.com>
parents: 354
diff changeset
132 public:
08c1ca7975ab obviated redundant virtual dispatch callbacks
Max Samukha <maxter@spambox.com>
parents: 354
diff changeset
133 enum Flags
254
maxter
parents: 252
diff changeset
134 {
355
08c1ca7975ab obviated redundant virtual dispatch callbacks
Max Samukha <maxter@spambox.com>
parents: 354
diff changeset
135 None,
08c1ca7975ab obviated redundant virtual dispatch callbacks
Max Samukha <maxter@spambox.com>
parents: 354
diff changeset
136 CreatedByD = 0x1
08c1ca7975ab obviated redundant virtual dispatch callbacks
Max Samukha <maxter@spambox.com>
parents: 354
diff changeset
137 };
08c1ca7975ab obviated redundant virtual dispatch callbacks
Max Samukha <maxter@spambox.com>
parents: 354
diff changeset
138
08c1ca7975ab obviated redundant virtual dispatch callbacks
Max Samukha <maxter@spambox.com>
parents: 354
diff changeset
139 Flags flags;
357
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 355
diff changeset
140 static uint userDataId;
355
08c1ca7975ab obviated redundant virtual dispatch callbacks
Max Samukha <maxter@spambox.com>
parents: 354
diff changeset
141
08c1ca7975ab obviated redundant virtual dispatch callbacks
Max Samukha <maxter@spambox.com>
parents: 354
diff changeset
142 QObjectLink(QObject* qObject, void* dId);
08c1ca7975ab obviated redundant virtual dispatch callbacks
Max Samukha <maxter@spambox.com>
parents: 354
diff changeset
143 bool createdByD();
08c1ca7975ab obviated redundant virtual dispatch callbacks
Max Samukha <maxter@spambox.com>
parents: 354
diff changeset
144 virtual ~QObjectLink();
08c1ca7975ab obviated redundant virtual dispatch callbacks
Max Samukha <maxter@spambox.com>
parents: 354
diff changeset
145 void destroyLink(QObject* qObject = NULL);
08c1ca7975ab obviated redundant virtual dispatch callbacks
Max Samukha <maxter@spambox.com>
parents: 354
diff changeset
146 static QObjectLink* getLink(const QObject* qObject);
08c1ca7975ab obviated redundant virtual dispatch callbacks
Max Samukha <maxter@spambox.com>
parents: 354
diff changeset
147 static void* getDId(const QObject* qObject);
254
maxter
parents: 252
diff changeset
148 };
105
3aa118a9ae71 each QObject now has associated child QObject for handling signals. fixes #15
eldar
parents: 35
diff changeset
149
33
cf8a415f3f32 gui package is fully wrapped now. lots of fixes in the generator
eldar
parents: 1
diff changeset
150 #define Array DArray
cf8a415f3f32 gui package is fully wrapped now. lots of fixes in the generator
eldar
parents: 1
diff changeset
151
357
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 355
diff changeset
152 QTD_EXPORT_DECL(CORE, void, toUtf8, (const unsigned short* arr, uint size, void* str))
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 355
diff changeset
153 QTD_EXPORT_DECL(CORE, void, QtdObject_delete, (void* dId))
1
e78566595089 initial import
mandel
parents:
diff changeset
154
357
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 355
diff changeset
155 QTD_EXTERN QModelIndex qtd_to_QModelIndex(QModelIndexAccessor mia);
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 355
diff changeset
156 QTD_EXTERN QModelIndexAccessor qtd_from_QModelIndex(const QModelIndex &index);
1
e78566595089 initial import
mandel
parents:
diff changeset
157
357
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 355
diff changeset
158 QTD_EXTERN typedef void (*EmitCallback)(void*, void**);
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 355
diff changeset
159 QTD_EXTERN typedef int (*QtMetacallCallback)(void *d_entity, QMetaObject::Call _c, int _id, void **_a);
9784459f0750 An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables
Max Samukha <maxter@spambox.com>
parents: 355
diff changeset
160 QTD_EXTERN typedef const QMetaObject* (*MetaObjectCallback)(void *d_entity);
301
4d8481385c71 windows fix
eldar
parents: 298
diff changeset
161
298
adae77fdc1ea Native QList implementation is now used throughout QtD
eldar
parents: 254
diff changeset
162 template <class T>
adae77fdc1ea Native QList implementation is now used throughout QtD
eldar
parents: 254
diff changeset
163 void call_destructor(T *a)
adae77fdc1ea Native QList implementation is now used throughout QtD
eldar
parents: 254
diff changeset
164 {
adae77fdc1ea Native QList implementation is now used throughout QtD
eldar
parents: 254
diff changeset
165 a->~T();
adae77fdc1ea Native QList implementation is now used throughout QtD
eldar
parents: 254
diff changeset
166 }
354
18bd68f586c6 removed superfluous destructors
Max Samukha <maxter@spambox.com>
parents: 303
diff changeset
167
1
e78566595089 initial import
mandel
parents:
diff changeset
168 #endif // QTD_CORE_H