Revision control

++ // Copyright (C) 2016 The Qt Company Ltd.
++ // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
++ // Qt-Security score:significant reason:default
++
++ #ifndef QOBJECTCLEANUPHANDLER_H
++ #define QOBJECTCLEANUPHANDLER_H
++
++ #include <QtCore/qobject.h>
++
++ QT_BEGIN_NAMESPACE
++
++ class Q_CORE_EXPORT QObjectCleanupHandler : public QObject
++ {
++ Q_OBJECT
++
++ public:
++ QObjectCleanupHandler();
++ ~QObjectCleanupHandler();
++
++ QObject *add(QObject *object);
++ void remove(QObject *object);
++ bool isEmpty() const;
++ void clear();
++
++ private:
++ // ### move into d pointer
++ QObjectList cleanupObjects;
++
++ private Q_SLOTS:
++ void objectDestroyed(QObject *);
++ };
++
++ QT_END_NAMESPACE
++
++ #endif // QOBJECTCLEANUPHANDLER_H