Open CASCADE Technology
6.5.4
|
#include <TObj_Persistence.hxx>
Static Public Member Functions | |
static Handle< TObj_Object > | CreateNewObject (const Standard_CString theType, const TDF_Label &theLabel) |
Creates and returns a new object of the registered type If the type is not registered, returns Null handle. | |
static void | DumpTypes (Standard_OStream &theOs) |
Dumps names of all the types registered for persistence to the specified stream. | |
Protected Member Functions | |
TObj_Persistence (const Standard_CString theType) | |
The constructor registers the object. | |
virtual | ~TObj_Persistence () |
The destructor unregisters the object. | |
virtual Handle< TObj_Object > | New (const TDF_Label &theLabel) const =0 |
The method must be redefined in the derived class and return new object of the proper type. | |
Static Protected Member Functions | |
static TObj_DataMapOfStringPointer & | getMapOfTypes () |
Dictionary storing all the registered types. It is implemented as static variable inside member function in order to ensure initialization at first call. |
This class is intended to be a root of tools (one per class) to manage persistence of objects inherited from TObj_Object It provides a mechanism to recover correctly typed objects (subtypes of TObj_Object) out of their persistent names
This is a special kind of object, it automatically registers itself in a global map when created, and the only thing it does is to create a new object of the type that it manages, by request
TObj_Persistence::TObj_Persistence | ( | const Standard_CString | theType | ) | [protected] |
Protected methods, to be used or defined by descendants
virtual TObj_Persistence::~TObj_Persistence | ( | ) | [protected, virtual] |
static Handle< TObj_Object > TObj_Persistence::CreateNewObject | ( | const Standard_CString | theType, |
const TDF_Label & | theLabel | ||
) | [static] |
Public methods, to be called externally
static void TObj_Persistence::DumpTypes | ( | Standard_OStream & | theOs | ) | [static] |
static TObj_DataMapOfStringPointer& TObj_Persistence::getMapOfTypes | ( | ) | [static, protected] |
virtual Handle< TObj_Object > TObj_Persistence::New | ( | const TDF_Label & | theLabel | ) | const [protected, pure virtual] |