table of contents
- NAME
- SYNOPSIS
- DESCRIPTION
- MEMBER FUNCTION DOCUMENTATION
- QObjectCleanupHandler::QObjectCleanupHandler ()
- QObjectCleanupHandler::~QObjectCleanupHandler ()
- QObject * QObjectCleanupHandler::add ( QObject * object )
- void QObjectCleanupHandler::clear ()
- bool QObjectCleanupHandler::isEmpty () const
- void QObjectCleanupHandler::remove ( QObject * object )
- SEE ALSO
- COPYRIGHT
- AUTHOR
- BUGS
QObjectCleanupHandler(3qt) | QObjectCleanupHandler(3qt) |
NAME¶
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.
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.
SEE ALSO¶
http://doc.trolltech.com/qobjectcleanuphandler.html http://www.trolltech.com/faq/tech.html
COPYRIGHT¶
Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the license file included in the distribution for a complete license statement.
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).
2 February 2007 | Trolltech AS |