#include <TObj_Container.hxx>
Defines | |
#define | _TOBJOCAF_PERSISTENCE_ACCESS_ |
Declare subclass and methods of the class inherited from TObj_Object necessary for implementation of persistence This declaration should be put inside class declaration, under 'protected' modifier. | |
#define | DECLARE_TOBJOCAF_PERSISTENCE(name, ancestor) |
#define | IMPLEMENT_TOBJOCAF_PERSISTENCE(name) |
Implement mechanism for registration the type for persistence This should not be used for abstract classes (while DECLARE should). | |
Functions | |
class | Handle (TObj_Object) |
|
|
|
Value: name (const TObj_Persistence *p, \ const TDF_Label& aLabel) : ancestor(p,aLabel) \ { initFields(); } /* give the object a chance to initialize its fields */ \ \ /* Creates an object of a proper type */ \ /* First argument is used just to avoid possible conflict with other constructors */ \ _TOBJOCAF_PERSISTENCE_ACCESS_ \ class Persistence_ : public TObj_Persistence { \ /* Friend private class of name, is a tool providing persistence */ \ public: \ Persistence_ () : TObj_Persistence(#name) {} /* register the tool */ \ virtual Handle(TObj_Object) New (const TDF_Label& aLabel) const; \ /* Creates an object of a proper type */ \ }; \ friend class Persistence_; \ static Persistence_ myPersistence_; |
|
Value: name::Persistence_ name::myPersistence_; \ Handle(TObj_Object) name::Persistence_::New (const TDF_Label& aLabel) const { \ return new name((const TObj_Persistence*)0, aLabel); \ } |
|
|