comparison cpp/qt_core/QMetaObject_shell.cpp @ 357:9784459f0750

An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables Q_CLASSINFO implementation Now Qtd can be built on Windows
author Max Samukha <maxter@spambox.com>
date Wed, 02 Jun 2010 19:38:05 +0300
parents 463563fc9e17
children d2f48c4cb3e3
comparison
equal deleted inserted replaced
356:12cec2d14e1c 357:9784459f0750
2 #include <qobjectdefs.h> 2 #include <qobjectdefs.h>
3 3
4 4
5 #include <QList> 5 #include <QList>
6 6
7 extern "C" DLL_PUBLIC void* qtd_QMetaObject_superClass(void *nativeId) 7 QTD_EXTERN QTD_DLL_PUBLIC void* qtd_QMetaObject_superClass(void *nativeId)
8 { 8 {
9 return (void*)((QMetaObject*)nativeId)->superClass(); 9 return (void*)((QMetaObject*)nativeId)->superClass();
10 } 10 }
11 11
12 extern "C" DLL_PUBLIC void qtd_QMetaObject_activate(QObject *sender, int signal_index, void **argv) 12 QTD_EXTERN QTD_DLL_PUBLIC void qtd_QMetaObject_activate(QObject *sender, int signal_index, void **argv)
13 { 13 {
14 QMetaObject::activate(sender, signal_index, argv); 14 QMetaObject::activate(sender, signal_index, argv);
15 } 15 }
16 16
17 extern "C" DLL_PUBLIC void qtd_QMetaObject_activate_3(QObject *sender, const QMetaObject *m, int local_signal_index, void **argv) 17 QTD_EXTERN QTD_DLL_PUBLIC void qtd_QMetaObject_activate_3(QObject *sender, const QMetaObject *m, int local_signal_index, void **argv)
18 { 18 {
19 QMetaObject::activate(sender, m, local_signal_index, argv); 19 QMetaObject::activate(sender, m, local_signal_index, argv);
20 } 20 }
21 21
22 extern "C" DLL_PUBLIC void qtd_QMetaObject_activate_4(QObject *sender, const QMetaObject *m, int from_local_signal_index, int to_local_signal_index, void **argv) 22 QTD_EXTERN QTD_DLL_PUBLIC void qtd_QMetaObject_activate_4(QObject *sender, const QMetaObject *m, int from_local_signal_index, int to_local_signal_index, void **argv)
23 { 23 {
24 QMetaObject::activate(sender, m, from_local_signal_index, to_local_signal_index, argv); 24 QMetaObject::activate(sender, m, from_local_signal_index, to_local_signal_index, argv);
25 } 25 }
26 26
27 extern "C" DLL_PUBLIC bool qtd_QMetaObject_connect(const QObject *sender, int signal_index, 27 QTD_EXTERN QTD_DLL_PUBLIC bool qtd_QMetaObject_connect(const QObject *sender, int signal_index,
28 const QObject *receiver, int method_index, 28 const QObject *receiver, int method_index,
29 int type, int *types) 29 int type, int *types)
30 { 30 {
31 return QMetaObject::connect(sender, signal_index, receiver, method_index, type, types); 31 return QMetaObject::connect(sender, signal_index, receiver, method_index, type, types);
32 } 32 }
33 33
34 extern "C" DLL_PUBLIC int qtd_QMetaObject_indexOfMethod(void *nativeId, const char *method) 34 QTD_EXTERN QTD_DLL_PUBLIC int qtd_QMetaObject_indexOfMethod(void *nativeId, const char *method)
35 { 35 {
36 return ((QMetaObject*)nativeId)->indexOfMethod(method); 36 return ((QMetaObject*)nativeId)->indexOfMethod(method);
37 } 37 }
38 38
39 extern "C" DLL_PUBLIC int qtd_QMetaObject_methodCount(void *nativeId) 39 QTD_EXTERN QTD_DLL_PUBLIC int qtd_QMetaObject_methodCount(void *nativeId)
40 { 40 {
41 return ((QMetaObject*)nativeId)->methodCount(); 41 return ((QMetaObject*)nativeId)->methodCount();
42 } 42 }
43 43
44 extern "C" DLL_PUBLIC void qtd_create_QList(void *nativeId) 44 QTD_EXTERN QTD_DLL_PUBLIC void qtd_create_QList(void *nativeId)
45 { 45 {
46 QList<int> & list = (*(QList<int> *)nativeId); 46 QList<int> & list = (*(QList<int> *)nativeId);
47 list.append(54); 47 list.append(54);
48 list.append(45); 48 list.append(45);
49 } 49 }
50 50
51 extern "C" DLL_PUBLIC void qtd_create_QList_double(void *nativeId) 51 QTD_EXTERN QTD_DLL_PUBLIC void qtd_create_QList_double(void *nativeId)
52 { 52 {
53 QList<double> & list = (*(QList<double> *)nativeId); 53 QList<double> & list = (*(QList<double> *)nativeId);
54 list.append(54.44); 54 list.append(54.44);
55 list.append(45.55); 55 list.append(45.55);
56 } 56 }
57 57
58 extern "C" DLL_PUBLIC void qtd_create_QList_QObject(void *nativeId) 58 QTD_EXTERN QTD_DLL_PUBLIC void qtd_create_QList_QObject(void *nativeId)
59 { 59 {
60 QList<QObject*> & list2 = (*(QList<QObject*> *)nativeId); 60 QList<QObject*> & list2 = (*(QList<QObject*> *)nativeId);
61 61
62 QList<QObject*> list; 62 QList<QObject*> list;
63 QObject* a1 = new QObject(); 63 QObject* a1 = new QObject();
64 a1->setObjectName("a1"); 64 a1->setObjectName("a1");
65 list.append(a1); 65 list.append(a1);
66 QObject* a2 = new QObject(); 66 QObject* a2 = new QObject();