#include <MetaObject.h>

Public Member Functions | |
| AbstractMetaObject (const char *name) | |
| B * | autoDelete (B *pObject) const |
| virtual bool | canCreate () const =0 |
| virtual B * | create () const =0 |
| virtual void | destroy (B *pObject) const |
| virtual B & | instance () const =0 |
| virtual bool | isAutoDelete (B *pObject) const |
| const char * | name () const |
| virtual | ~AbstractMetaObject () |
Private Types | |
| typedef std::set< B * > | ObjectSet |
Private Member Functions | |
| AbstractMetaObject () | |
| AbstractMetaObject (const AbstractMetaObject &) | |
| AbstractMetaObject & | operator= (const AbstractMetaObject &) |
Private Attributes | |
| ObjectSet | _deleteSet |
| const char * | _name |
A MetaObject stores some information about a C++ class. The MetaObject class is used by the Manifest class. AbstractMetaObject is a common base class for all MetaObject in a rooted class hierarchy. A MetaObject can also be used as an object factory for its class.
Definition at line 53 of file MetaObject.h.
typedef std::set<B*> Poco::AbstractMetaObject< B >::ObjectSet [private] |
Definition at line 139 of file MetaObject.h.
| Poco::AbstractMetaObject< B >::AbstractMetaObject | ( | const char * | name | ) | [inline] |
Definition at line 63 of file MetaObject.h.
| virtual Poco::AbstractMetaObject< B >::~AbstractMetaObject | ( | ) | [inline, virtual] |
Definition at line 67 of file MetaObject.h.
| Poco::AbstractMetaObject< B >::AbstractMetaObject | ( | ) | [private] |
| Poco::AbstractMetaObject< B >::AbstractMetaObject | ( | const AbstractMetaObject< B > & | ) | [private] |
| B* Poco::AbstractMetaObject< B >::autoDelete | ( | B * | pObject | ) | const [inline] |
Give ownership of pObject to the meta object. The meta object will delete all objects it owns when it is destroyed.
Returns pObject.
Definition at line 107 of file MetaObject.h.
| virtual bool Poco::AbstractMetaObject< B >::canCreate | ( | ) | const [pure virtual] |
Returns a reference to the only instance of the class. Used for singletons only.
Implemented in Poco::MetaSingleton< C, B >, and Poco::MetaObject< C, B >.
| virtual B* Poco::AbstractMetaObject< B >::create | ( | ) | const [pure virtual] |
Implemented in Poco::MetaSingleton< C, B >, and Poco::MetaObject< C, B >.
| virtual void Poco::AbstractMetaObject< B >::destroy | ( | B * | pObject | ) | const [inline, virtual] |
Returns true iff the create method can be used to create instances of the class. Returns false if the class is a singleton. If pObject was owned by meta object, the ownership of the deleted object is removed and the object is deleted.
Definition at line 93 of file MetaObject.h.
| virtual B& Poco::AbstractMetaObject< B >::instance | ( | ) | const [pure virtual] |
Create a new instance of a class. Cannot be used for singletons.
Implemented in Poco::MetaSingleton< C, B >, and Poco::MetaObject< C, B >.
| virtual bool Poco::AbstractMetaObject< B >::isAutoDelete | ( | B * | pObject | ) | const [inline, virtual] |
Returns true if the object is owned by meta object.
Overloaded in MetaSingleton - returns true if the class is a singleton.
Reimplemented in Poco::MetaSingleton< C, B >.
Definition at line 124 of file MetaObject.h.
| const char* Poco::AbstractMetaObject< B >::name | ( | ) | const [inline] |
Definition at line 75 of file MetaObject.h.
| AbstractMetaObject& Poco::AbstractMetaObject< B >::operator= | ( | const AbstractMetaObject< B > & | ) | [private] |
ObjectSet Poco::AbstractMetaObject< B >::_deleteSet [mutable, private] |
Definition at line 142 of file MetaObject.h.
const char* Poco::AbstractMetaObject< B >::_name [private] |
Definition at line 141 of file MetaObject.h.