QObjectCleanupHandler

Section: Misc. Reference Manual Pages (3qt)
Updated: 5 August 2004
 

NAME

QObjectCleanupHandler - Watches the lifetime of multiple QObjects  

SYNOPSIS

#include <qobjectcleanuphandler.h>

Inherits QObject.

 

Public Members

<li class=fn>QObjectCleanupHandler () <li class=fn>~QObjectCleanupHandler () <li class=fn>QObject * add ( QObject * object ) <li class=fn>void remove ( QObject * object ) <li class=fn>bool isEmpty () const <li class=fn>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-2001 Trolltech AS, 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.3).


 

Index

NAME
SYNOPSIS
Public Members
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
blog comments powered by Disqus