X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=kernel%2Fsrc%2FbbtkAtomicBlackBoxMacros.h;h=17e1c05369619f7103aacceec0b68f65c70b4798;hb=bafc00d3eee5ab3c580e0971cb2d8806b5c74f35;hp=9bc56ad02c3d59b53d957fe7adcfc962f93700b1;hpb=edd3ac38162ff897429cc7af71557dc54e7d5efe;p=bbtk.git diff --git a/kernel/src/bbtkAtomicBlackBoxMacros.h b/kernel/src/bbtkAtomicBlackBoxMacros.h index 9bc56ad..17e1c05 100644 --- a/kernel/src/bbtkAtomicBlackBoxMacros.h +++ b/kernel/src/bbtkAtomicBlackBoxMacros.h @@ -2,8 +2,8 @@ Program: bbtk Module: $RCSfile: bbtkAtomicBlackBoxMacros.h,v $ Language: C++ - Date: $Date: 2009/04/30 14:31:30 $ - Version: $Revision: 1.15 $ + Date: $Date: 2009/06/10 11:36:51 $ + Version: $Revision: 1.19 $ =========================================================================*/ /* --------------------------------------------------------------------- @@ -53,13 +53,18 @@ { return std::string(#CLASS)+std::string(" '") \ +bbGetNameWithParent()+std::string("'"); } \ virtual void bbLockDescriptor(); \ - virtual void bbConstructor() { \ - PARENT::bbConstructor(); \ - CLASS::bbUserConstructor(); \ + virtual void bbUserSetDefaultValues(); \ + virtual void bbUserInitializeProcessing(); \ + virtual void bbUserFinalizeProcessing(); \ + virtual void bbRecursiveInitializeProcessing() \ + { \ + PARENT::bbRecursiveInitializeProcessing(); \ + CLASS::bbUserInitializeProcessing(); \ } \ - virtual void bbDestructor() { \ - PARENT::bbDestructor(); \ - CLASS::bbUserDestructor(); \ + virtual void bbRecursiveFinalizeProcessing() \ + { \ + CLASS::bbUserFinalizeProcessing(); \ + PARENT::bbRecursiveFinalizeProcessing(); \ } \ private: \ CLASS() : PARENT("") {} \ @@ -93,21 +98,26 @@ } \ inline bbtk::BlackBox::Pointer bbClone(const std::string& name) \ { \ - bbtkDebugMessage("object",1,"##> "<<#CLASS \ - <<"::bbClone(\""< "<<#CLASS \ + <<"::bbClone(\""< Processing ["< Processing..." \ + < "<<#CLASS<<"::"<<#CLASS \ - <<"(\""< "<<#CLASS<<"::"<<#CLASS \ + <<"()"< "<<#CLASS<<"::"<<#CLASS \ - <<"("< "<<#CLASS<<"::"<<#CLASS \ + <<"("< "<<#CLASS <<"::~"<< #CLASS \ - <<"() ["<bbGetFullName()<<"]"< "<<#CLASS <<"::~"<< #CLASS \ + <<"()"<bbGetFullName()<<"]"<());*/ \ - BBTK_END_BLACK_BOX_COPY_CONSTRUCTOR(CLASS,from); \ + CLASS::bbUserSetDefaultValues(); \ + BBTK_END_BLACK_BOX_COPY_CONSTRUCTOR(CLASS,from,allocate_connectors); \ } \ CLASS::~CLASS() \ { \ BBTK_BEGIN_BLACK_BOX_DESTRUCTOR(CLASS); \ - /*CLASS::bbUserDestructor();*/ \ BBTK_END_BLACK_BOX_DESTRUCTOR(CLASS); \ } \ void CLASS::bbLockDescriptor() \ @@ -528,6 +544,9 @@ (&CLASS::bbSetOutput##NAME) ) ) //============================================================================ + +//JCP 09JUIN2009 BBTK_EXPORT + //============================================================================ /// Template AtomicBlackBox std implementation of ctor and dtor #define BBTK_BLACK_BOX_TEMPLATE_IMPLEMENTATION(CLASS,PARENT) \ @@ -536,7 +555,7 @@ : PARENT(name,false) \ { \ BBTK_BEGIN_BLACK_BOX_CONSTRUCTOR(CLASS,alloc); \ - /*CLASS::bbUserConstructor();*/ \ + CLASS::bbUserSetDefaultValues(); \ BBTK_END_BLACK_BOX_CONSTRUCTOR(CLASS); \ } \ template \ @@ -545,14 +564,13 @@ : PARENT(from,name,false) \ { \ BBTK_BEGIN_BLACK_BOX_COPY_CONSTRUCTOR(CLASS,from,allocate_connectors); \ - /*CLASS::bbUserCopyConstructor(from.GetThisPointer());*/ \ - BBTK_END_BLACK_BOX_COPY_CONSTRUCTOR(CLASS,from); \ + CLASS::bbUserSetDefaultValues(); \ + BBTK_END_BLACK_BOX_COPY_CONSTRUCTOR(CLASS,from,allocate_connectors); \ } \ template \ CLASS::~CLASS() \ { \ BBTK_BEGIN_BLACK_BOX_DESTRUCTOR(CLASS); \ - /*CLASS::bbUserDestructor();*/ \ BBTK_END_BLACK_BOX_DESTRUCTOR(CLASS); \ } \ template \ @@ -711,7 +729,7 @@ : PARENT(name,false) \ { \ BBTK_BEGIN_BLACK_BOX_CONSTRUCTOR(CLASS,alloc); \ - /*CLASS::bbUserConstructor();*/ \ + CLASS::bbUserSetDefaultValues(); \ BBTK_END_BLACK_BOX_CONSTRUCTOR(CLASS); \ } \ template \ @@ -720,14 +738,13 @@ : PARENT(from,name,false) \ { \ BBTK_BEGIN_BLACK_BOX_COPY_CONSTRUCTOR(CLASS,from,allocate_connectors); \ - /*CLASS::bbUserCopyConstructor(from.GetThisPointer());*/ \ - BBTK_END_BLACK_BOX_COPY_CONSTRUCTOR(CLASS,from); \ + CLASS::bbUserSetDefaultValues(); \ + BBTK_END_BLACK_BOX_COPY_CONSTRUCTOR(CLASS,from,allocate_connectors); \ } \ template \ CLASS::~CLASS() \ { \ BBTK_BEGIN_BLACK_BOX_DESTRUCTOR(CLASS); \ - /*CLASS::bbUserDestructor();*/ \ BBTK_END_BLACK_BOX_DESTRUCTOR(CLASS); \ } \ template \