Details
-
Suggestion
-
Resolution: Unresolved
-
Not Evaluated
-
None
-
None
-
None
Description
When a coclass has an member which is identified as an event interface, methods declared in that interface should be published as signals on the exported coclass declaration.
Currently, signals are known on the metaobject, but static_metacall has not been setup and no methods are declared in the generated class.
As a result of events being omitted, it is not possible to use the function pointer based syntax for QObject::connect, which in return also prevents the usage of the C++11 related overloads.
Generating the signal definitions on the generated class is trivials, and same goes for the implementation, analog to how the default moc implements a signal.
The tricky part is providing the static_metacall function required for the reverse lookup, as the current implementation of QAxBase::qt_static_metacall does not yet support QMetaObject::IndexOfMethod.
So I guess in order to properly support signals, we would need to register our own static_metacall function in the staticMetaObject object, which exclusively handles QMetaObject::IndexOfMethod, and for everything else invokes QAxBase::qt_static_metacall. Not entirely sure about this though, just theory.