Fixes for Qt 4.6
[lqt.git] / generator / qt_internal.lua
blob84c03631fa7af2ea2c77ba66038f865eec7a009d
2 local classes, enums = ...
3 local ret1, ret2 = {}, {}
5 -- don't bind this Qt internals/unsupported classes
6 -- if there are linker errors, or errors when laoding the .so
7 -- add the class here
9 for c in pairs(classes) do
10 local n = c.xarg.name
11 if n~=string.lower(n) and not (string.match(n, '_')
12 -- these are useless to bind, but compile
13 or c.xarg.fullname=='QVariant::Private' -- well, it IS public
14 or c.xarg.fullname=='QVariant::Private::Data' -- well, it IS public
15 or c.xarg.fullname=='QVariant::PrivateShared' -- well, it IS public
16 or c.xarg.fullname=='QObjectData'-- compiles
17 or c.xarg.fullname=='QtConcurrent::internal::ExceptionStore' -- it compiles
18 or c.xarg.fullname=='QtConcurrent::internal::ExceptionHolder' -- it compiles
19 or c.xarg.fullname=='QtConcurrent::ResultIteratorBase' -- it compiles
20 or c.xarg.fullname=='QtSharedPointer' -- compiles
21 or c.xarg.fullname=='QtSharedPointer::InternalRefCountData' -- compiles
22 or c.xarg.fullname=='QtSharedPointer::ExternalRefCountData' -- compiles
23 or c.xarg.fullname=='QUpdateLaterEvent' -- compiles
24 or c.xarg.fullname=='QTextStreamManipulator' -- compiles
25 or c.xarg.fullname=='QtConcurrent::ThreadEngineSemaphore' -- compiles
27 -- platform specific, TODO
28 or c.xarg.fullname=='QWindowsCEStyle'
29 or c.xarg.fullname=='QWindowsMobileStyle'
30 or c.xarg.fullname=='QWindowsXPStyle'
31 or c.xarg.fullname=='QWindowsVistaStyle'
32 or c.xarg.fullname=='QMacStyle'
33 or c.xarg.fullname=='QS60Style'
34 or c.xarg.fullname=='QS60MainApplication'
35 or c.xarg.fullname=='QS60MainAppUI'
36 or c.xarg.fullname=='QS60MainDocument'
37 or c.xarg.fullname=='QWSCalibratedMouseHandler'
38 or c.xarg.fullname=='QWSClient'
39 or c.xarg.fullname=='QWSEmbedWidget'
40 or c.xarg.fullname=='QWSEvent'
41 or c.xarg.fullname=='QWSGLWindowSurface'
42 or c.xarg.fullname=='QWSInputMethod'
43 or c.xarg.fullname=='QWSKeyboardHandler'
44 or c.xarg.fullname=='QWSMouseHandler'
45 or c.xarg.fullname=='QWSPointerCalibrationData'
46 or c.xarg.fullname=='QWSScreenSaver'
47 or c.xarg.fullname=='QWSServer'
48 or c.xarg.fullname=='QWSWindow'
49 or c.xarg.fullname=='QXmlNodeModelIndex' -- a method "name" is public but is not part of the documented API
50 or c.xarg.fullname=='QXmlName' -- a method "localName" is public but is not part of the documented API
52 -- binding bugs
53 or c.xarg.fullname=='QThreadStorageData' -- binding error (function pointer)
54 or c.xarg.fullname=='QForeachContainerBase' -- "was not declared in this scope"
55 or c.xarg.fullname=='QtConcurrent::Exception' -- GCC throw() in destructor base declaration
56 or c.xarg.fullname=='QtConcurrent::UnhandledException' -- GCC throw() in destructor base declaration
57 or c.xarg.fullname=='QHashData' -- not in the docs at all. free_helper is not present during compilation
58 or c.xarg.fullname=='QEasingCurve' -- wrapper for function: function pointer parsing problem
59 or string.match(c.xarg.fullname, '^QtConcurrent') -- does not make sense anyway, because we should duplicate the lua_State
61 ) then
62 ret1[c] = true
63 end
64 end
66 for e in pairs(enums) do
67 local n = e.xarg.name
68 if n~=string.lower(n) and not string.match(n, '_') then
69 ret2[e] = true
70 end
71 end
73 return ret1, ret2