comparison cpp/qt_qtd/qtd_core.cpp @ 248:7664de4a55e5

Fixed #23. QtD_QObjectEntity is not created dynamically for shell classes any more. Class initialization is now performed by static constructors. When wrapping QObjects returned from functions, their run-time types are now taken into account. QObjects are allocated on GC heap, a doubly-linked list is used to prevent them from been collected (arguably a better solution than allocating on C heap and adding GC ranges) Minor changes (including unnecessary).
author maxter
date Thu, 20 Aug 2009 14:47:17 +0000
parents 27497bbe62a1
children 37eed70de029
comparison
equal deleted inserted replaced
247:27497bbe62a1 248:7664de4a55e5
38 { 38 {
39 return qSharedBuild(); 39 return qSharedBuild();
40 } 40 }
41 41
42 #ifdef CPP_SHARED 42 #ifdef CPP_SHARED
43 QTD_EXPORT_VAR(_d_toUtf8) 43 QTD_EXPORT_VAR(qtd_toUtf8);
44 QTD_EXPORT_VAR(__qtd_dummy) 44 QTD_EXPORT_VAR(qtd_dummy);
45 45
46 extern "C" DLL_PUBLIC void __qtd_qtd_core_initCallBacks(pfunc_abstr d_func, pfunc_abstr dummy) { 46 extern "C" DLL_PUBLIC void qtd_core_initCallBacks(pfunc_abstr d_func, pfunc_abstr dummy) {
47 QTD_EXPORT_VAR_SET(_d_toUtf8, d_func); 47 QTD_EXPORT_VAR_SET(qtd_toUtf8, d_func);
48 QTD_EXPORT_VAR_SET(__qtd_dummy, dummy); 48 QTD_EXPORT_VAR_SET(qtd_dummy, dummy);
49 // std::cout << _d_toUtf8 << "\n"; 49 //std::cout << "qtd_core initialized" << std::endl;
50 } 50 }
51 #endif 51 #endif
52 52
53 extern bool qRegisterResourceData 53 extern bool qRegisterResourceData
54 (int, const unsigned char *, const unsigned char *, const unsigned char *); 54 (int, const unsigned char *, const unsigned char *, const unsigned char *);