annotate include/qtd_core.h @ 382:1d56b2a2e10c

Fixes to debugging stuff. Added size_t as primitive type to workaround Qwt build failure in debug
author Max Samukha <maxter@spambox.com>
date Mon, 12 Jul 2010 20:36:07 +0300
parents 7341c47790d4
children d2f48c4cb3e3
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"
366
da4235301224 Fixed VoidFunc. Updated to dmd.2.047.
Max Samukha <maxter@spambox.com>
parents: 361
diff changeset
12 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
13
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 #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
15
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_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
17 #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
18
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 #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
20
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 #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
22 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
23 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
24
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 #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
26 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
27 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
28
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 #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
30
1
e78566595089 initial import
mandel
parents:
diff changeset
31 #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
32
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 #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
34 #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
35
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 #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
37 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
38
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 #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
40
1
e78566595089 initial import
mandel
parents:
diff changeset
41 #endif
e78566595089 initial import
mandel
parents:
diff changeset
42
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
43 #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
44
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 #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
46 #define QTD_CORE_DLL_PUBLIC QTD_DLL_EXPORT
1
e78566595089 initial import
mandel
parents:
diff changeset
47 #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
48 #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
49 #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
50
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 #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
52 #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
53 #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
54 #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
55 #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
56
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 #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
58 #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
59 #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
60 #define QTD_OPENGL_DLL_PUBLIC QTD_DLL_IMPORT
1
e78566595089 initial import
mandel
parents:
diff changeset
61 #endif
e78566595089 initial import
mandel
parents:
diff changeset
62
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
63 #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
64 #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
65 #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
66 #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
67 #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
68
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 #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
70 #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
71 #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
72 #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
73 #endif
355
08c1ca7975ab obviated redundant virtual dispatch callbacks
Max Samukha <maxter@spambox.com>
parents: 354
diff changeset
74
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
75 #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
76 #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
77 #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
78 #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
79 #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
80
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 #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
82 #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
83 #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
84 #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
85 #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
86
378
7341c47790d4 binding of qwt
Eldar Insafutdinov
parents: 366
diff changeset
87 #ifdef QTD_QWT
7341c47790d4 binding of qwt
Eldar Insafutdinov
parents: 366
diff changeset
88 #define QTD_QWT_DLL_PUBLIC QTD_DLL_EXPORT
7341c47790d4 binding of qwt
Eldar Insafutdinov
parents: 366
diff changeset
89 #else
7341c47790d4 binding of qwt
Eldar Insafutdinov
parents: 366
diff changeset
90 #define QTD_QWT_DLL_PUBLIC QTD_DLL_IMPORT
7341c47790d4 binding of qwt
Eldar Insafutdinov
parents: 366
diff changeset
91 #endif
7341c47790d4 binding of qwt
Eldar Insafutdinov
parents: 366
diff changeset
92
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
93 //TODO: ditch
1
e78566595089 initial import
mandel
parents:
diff changeset
94 struct QModelIndexAccessor {
e78566595089 initial import
mandel
parents:
diff changeset
95 int row;
e78566595089 initial import
mandel
parents:
diff changeset
96 int col;
e78566595089 initial import
mandel
parents:
diff changeset
97 void *ptr;
e78566595089 initial import
mandel
parents:
diff changeset
98 QAbstractItemModel *model;
e78566595089 initial import
mandel
parents:
diff changeset
99 };
e78566595089 initial import
mandel
parents:
diff changeset
100
e78566595089 initial import
mandel
parents:
diff changeset
101 struct DArray {
e78566595089 initial import
mandel
parents:
diff changeset
102 size_t length;
e78566595089 initial import
mandel
parents:
diff changeset
103 void* ptr;
e78566595089 initial import
mandel
parents:
diff changeset
104 };
e78566595089 initial import
mandel
parents:
diff changeset
105
254
maxter
parents: 252
diff changeset
106 enum QtdObjectFlags
maxter
parents: 252
diff changeset
107 {
maxter
parents: 252
diff changeset
108 qNone,
maxter
parents: 252
diff changeset
109 qNativeOwnership = 0x01,
maxter
parents: 252
diff changeset
110 qDOwnership = 0x02
maxter
parents: 252
diff changeset
111 //gcManaged = 0x04
maxter
parents: 252
diff changeset
112 };
maxter
parents: 252
diff changeset
113
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
114 class QTD_CORE_DLL_PUBLIC QtdObjectLink
254
maxter
parents: 252
diff changeset
115 {
maxter
parents: 252
diff changeset
116 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
117 void* dId;
355
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 QtdObjectLink(void* id) : dId(id) {}
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 template<typename T>
08c1ca7975ab obviated redundant virtual dispatch callbacks
Max Samukha <maxter@spambox.com>
parents: 354
diff changeset
122 static QtdObjectLink* getLink(const T* object)
08c1ca7975ab obviated redundant virtual dispatch callbacks
Max Samukha <maxter@spambox.com>
parents: 354
diff changeset
123 {
08c1ca7975ab obviated redundant virtual dispatch callbacks
Max Samukha <maxter@spambox.com>
parents: 354
diff changeset
124 return dynamic_cast<QtdObjectLink*>((T*)object);
08c1ca7975ab obviated redundant virtual dispatch callbacks
Max Samukha <maxter@spambox.com>
parents: 354
diff changeset
125 }
08c1ca7975ab obviated redundant virtual dispatch callbacks
Max Samukha <maxter@spambox.com>
parents: 354
diff changeset
126
08c1ca7975ab obviated redundant virtual dispatch callbacks
Max Samukha <maxter@spambox.com>
parents: 354
diff changeset
127 template<typename T>
08c1ca7975ab obviated redundant virtual dispatch callbacks
Max Samukha <maxter@spambox.com>
parents: 354
diff changeset
128 static void* getDId(const T* object)
08c1ca7975ab obviated redundant virtual dispatch callbacks
Max Samukha <maxter@spambox.com>
parents: 354
diff changeset
129 {
08c1ca7975ab obviated redundant virtual dispatch callbacks
Max Samukha <maxter@spambox.com>
parents: 354
diff changeset
130 QtdObjectLink *link = getLink((T*)object);
08c1ca7975ab obviated redundant virtual dispatch callbacks
Max Samukha <maxter@spambox.com>
parents: 354
diff changeset
131 return link ? link->dId : NULL;
08c1ca7975ab obviated redundant virtual dispatch callbacks
Max Samukha <maxter@spambox.com>
parents: 354
diff changeset
132 }
08c1ca7975ab obviated redundant virtual dispatch callbacks
Max Samukha <maxter@spambox.com>
parents: 354
diff changeset
133 };
254
maxter
parents: 252
diff changeset
134
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
135 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
136 {
08c1ca7975ab obviated redundant virtual dispatch callbacks
Max Samukha <maxter@spambox.com>
parents: 354
diff changeset
137 public:
08c1ca7975ab obviated redundant virtual dispatch callbacks
Max Samukha <maxter@spambox.com>
parents: 354
diff changeset
138 enum Flags
254
maxter
parents: 252
diff changeset
139 {
355
08c1ca7975ab obviated redundant virtual dispatch callbacks
Max Samukha <maxter@spambox.com>
parents: 354
diff changeset
140 None,
08c1ca7975ab obviated redundant virtual dispatch callbacks
Max Samukha <maxter@spambox.com>
parents: 354
diff changeset
141 CreatedByD = 0x1
08c1ca7975ab obviated redundant virtual dispatch callbacks
Max Samukha <maxter@spambox.com>
parents: 354
diff changeset
142 };
08c1ca7975ab obviated redundant virtual dispatch callbacks
Max Samukha <maxter@spambox.com>
parents: 354
diff changeset
143
08c1ca7975ab obviated redundant virtual dispatch callbacks
Max Samukha <maxter@spambox.com>
parents: 354
diff changeset
144 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
145 static uint userDataId;
355
08c1ca7975ab obviated redundant virtual dispatch callbacks
Max Samukha <maxter@spambox.com>
parents: 354
diff changeset
146
08c1ca7975ab obviated redundant virtual dispatch callbacks
Max Samukha <maxter@spambox.com>
parents: 354
diff changeset
147 QObjectLink(QObject* qObject, void* dId);
08c1ca7975ab obviated redundant virtual dispatch callbacks
Max Samukha <maxter@spambox.com>
parents: 354
diff changeset
148 bool createdByD();
08c1ca7975ab obviated redundant virtual dispatch callbacks
Max Samukha <maxter@spambox.com>
parents: 354
diff changeset
149 virtual ~QObjectLink();
08c1ca7975ab obviated redundant virtual dispatch callbacks
Max Samukha <maxter@spambox.com>
parents: 354
diff changeset
150 void destroyLink(QObject* qObject = NULL);
08c1ca7975ab obviated redundant virtual dispatch callbacks
Max Samukha <maxter@spambox.com>
parents: 354
diff changeset
151 static QObjectLink* getLink(const QObject* qObject);
08c1ca7975ab obviated redundant virtual dispatch callbacks
Max Samukha <maxter@spambox.com>
parents: 354
diff changeset
152 static void* getDId(const QObject* qObject);
254
maxter
parents: 252
diff changeset
153 };
105
3aa118a9ae71 each QObject now has associated child QObject for handling signals. fixes #15
eldar
parents: 35
diff changeset
154
33
cf8a415f3f32 gui package is fully wrapped now. lots of fixes in the generator
eldar
parents: 1
diff changeset
155 #define Array DArray
cf8a415f3f32 gui package is fully wrapped now. lots of fixes in the generator
eldar
parents: 1
diff changeset
156
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
157 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
158 QTD_EXPORT_DECL(CORE, void, QtdObject_delete, (void* dId))
1
e78566595089 initial import
mandel
parents:
diff changeset
159
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
160 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
161 QTD_EXTERN QModelIndexAccessor qtd_from_QModelIndex(const QModelIndex &index);
1
e78566595089 initial import
mandel
parents:
diff changeset
162
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
163 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
164 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
165 QTD_EXTERN typedef const QMetaObject* (*MetaObjectCallback)(void *d_entity);
301
4d8481385c71 windows fix
eldar
parents: 298
diff changeset
166
298
adae77fdc1ea Native QList implementation is now used throughout QtD
eldar
parents: 254
diff changeset
167 template <class T>
adae77fdc1ea Native QList implementation is now used throughout QtD
eldar
parents: 254
diff changeset
168 void call_destructor(T *a)
adae77fdc1ea Native QList implementation is now used throughout QtD
eldar
parents: 254
diff changeset
169 {
adae77fdc1ea Native QList implementation is now used throughout QtD
eldar
parents: 254
diff changeset
170 a->~T();
adae77fdc1ea Native QList implementation is now used throughout QtD
eldar
parents: 254
diff changeset
171 }
354
18bd68f586c6 removed superfluous destructors
Max Samukha <maxter@spambox.com>
parents: 303
diff changeset
172
1
e78566595089 initial import
mandel
parents:
diff changeset
173 #endif // QTD_CORE_H