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.
Public Members
- QObject * add ( QObject * object )
- void remove ( QObject * object )
- bool isEmpty () const
- void clear ()
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.
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.
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-2002 Trolltech. All Rights Reserved.
Copyright © 2002 Trolltech | Trademarks | Qt version 3.0.5
|