#include <DoBaseI.h>
Public Types | |
enum | { NotLoaded = 0, LoadFailed, Loaded, Incompatible, InitFailed, CannotInit, Initialized, InitializedWithoutDoInit } |
Public Member Functions | |
Virtuals | |
Interface members | |
virtual DynObjType *docall | doGetType (const DynI **pself=0) const |
virtual int docall | GetState ()=0 |
virtual const char *docall | GetLibName ()=0 |
virtual const char *docall | GetLibFileName ()=0 |
virtual DynObj *docall | Create (const char *type, int type_id, const DynI *pdi_init=NULL)=0 |
virtual bool docall | Destroy (VObj *pvo)=0 |
virtual void docall | OnObjectCreate (DynObj *pdo, DynObjType *pdt)=0 |
virtual void docall | OnObjectDestroy (DynObj *pdo, DynObjType *pdt)=0 |
virtual bool docall | MayUnload ()=0 |
Inlines | |
Inline convenience functions | |
template<class T> | |
T * | Create (const DynI *pdi_init=NULL) |
anonymous enum |
Library status. Library can be used only when status is Initialized
virtual DynObjType* docall DynObjLibI::doGetType | ( | const DynI ** | pself = 0 |
) | const [virtual] |
Returns type of this object. Each type that wants to make itself known should override this method. DynI knows its own type so we get the type without any lookup. It is faster and works without registration.
pself | allows fetching the actual 'this' used inside doGetType (from a side base, this will be different to the 'this' of the caller). |
Reimplemented from DynI.
Reimplemented in DynObjLib.
virtual int docall DynObjLibI::GetState | ( | ) | [pure virtual] |
Returns library state
Implemented in DynObjLib.
virtual const char* docall DynObjLibI::GetLibName | ( | ) | [pure virtual] |
Returns error from library loader Get library name.
Implemented in DynObjLib.
virtual const char* docall DynObjLibI::GetLibFileName | ( | ) | [pure virtual] |
Get library file-name.
Implemented in DynObjLib.
virtual bool docall DynObjLibI::Destroy | ( | VObj * | pvo | ) | [pure virtual] |
virtual void docall DynObjLibI::OnObjectCreate | ( | DynObj * | pdo, | |
DynObjType * | pdt | |||
) | [pure virtual] |
Used by DynObj.cpp when a DynOb jis destroyed. It's used for internal object tracking.
Implemented in DynObjLib.
T* DynObjLibI::Create | ( | const DynI * | pdi_init = NULL |
) | [inline] |
Template wrapper for Create DynObj.
pdi_init | is the argument to the object constructor. |