qobjectcleanuphandler.3qt man page

QObjectCleanupHandler — Watches the lifetime of multiple QObjects

Synopsis

#include <qobjectcleanuphandler.h>

Inherits QObject.

Public Members

QObjectCleanupHandler ()

~QObjectCleanupHandler ()

QObject * add ( QObject * object )

void remove ( QObject * object )

bool isEmpty () const

void clear ()

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.

Example:

class FactoryComponent : public FactoryInterface, public QLibraryInterface

{

public:

    ...

    QObject *createObject();

    bool init();

    void cleanup();

    bool canUnload() const;

private:

    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.

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.

See Also

http://doc.trolltech.com/qobjectcleanup… http://www.trolltech.com/faq/tech.html

Author

Generated automatically from the source code.

Bugs

If you find a bug in Qt, please report it as described in http://doc.trolltech.com/bughowto.html. Good bug reports help us to help you. Thank you.

The definitive Qt documentation is provided in HTML format; it is located at $QTDIR/doc/html and can be read using Qt Assistant or with a web browser. This man page is provided as a convenience for those users who prefer man pages, although this format is not officially supported by Trolltech.

If you find errors in this manual page, please report them to qt-bugs@trolltech.com. Please include the name of the manual page (qobjectcleanuphandler.3qt) and the Qt version (3.3.8).

Referenced By

QObjectCleanupHandler.3qt(3) is an alias of qobjectcleanuphandler.3qt(3).

2 February 2007 Trolltech AS