Home | All Classes | Main Classes | Annotated | Grouped Classes | Functions

QObjectCleanupHandler Class Reference

The QObjectCleanupHandler class watches the lifetime of multiple QObjects. More...

#include <qobjectcleanuphandler.h>

Inherits QObject.

List of all member functions.

Public Members

Detailed Description

The QObjectCleanupHandler class watches the lifetime of multiple QObjects.

A QObjectCleanupHandler is useful whenever you need to know when a number of QObjects that are owned by someone else have been deleted. This is important, for example, when referencing memory in an application that has been allocated in a shared library.


    class FactoryComponent : public FactoryInterface, public QLibraryInterface

        QObject *createObject();

        bool init();
        void cleanup();
        bool canUnload() const;

        QObjectCleanupHandler objects;

    // allocate a new object, and add it to the cleanup handler
    QObject *FactoryComponent::createObject()
        return objects.add( new QObject() );

    // QLibraryInterface implementation
    bool FactoryComponent::init()
        return TRUE;

    void FactoryComponent::cleanup()

    // it is only safe to unload the library when all QObject's have been destroyed
    bool FactoryComponent::canUnload() const
        return objects.isEmpty();

See also Object Model.

Member Function Documentation

QObjectCleanupHandler::QObjectCleanupHandler ()

Constructs an empty QObjectCleanupHandler.

QObjectCleanupHandler::~QObjectCleanupHandler ()

Destroys the cleanup handler. All objects in this cleanup handler will be deleted.

QObject * QObjectCleanupHandler::add ( QObject * object )

Adds object to this cleanup handler and returns the pointer to the object.

void QObjectCleanupHandler::clear ()

Deletes all objects in this cleanup handler. The cleanup handler becomes empty.

bool QObjectCleanupHandler::isEmpty () const

Returns TRUE if this cleanup handler is empty or if all objects in this cleanup handler have been destroyed; otherwise return FALSE.

void QObjectCleanupHandler::remove ( QObject * object )

Removes the object from this cleanup handler. The object will not be destroyed.

This file is part of the Qt toolkit. Copyright © 1995-2007 Trolltech. All Rights Reserved.

Copyright © 2007 TrolltechTrademarks
Qt 3.3.8