How would one ensure destructor call of a Singleton, which might be used in Qml or not?
Unsolved
QML and Qt Quick
-
A Singleton to use in QML is registered via qmlRegisterSingletonType. The Qml engine takes responsible to call the destructor thats why we instanciate the Singleton somewhat like this:
static QObject * instance(QQmlEngine *, QJSEngine *) { static UserInputManagement * uim = 0; if( not uim ) uim = new UserInputManagement; return uim; }
But if we want to use such a Singleton as gate to a library than we don't know if the client uses it in a QML context or not.
How to ensure the destructor is called, either way?