]> Creatis software - bbtk.git/blob - kernel/src/bbtkAtomicBlackBoxDescriptor.cxx
ea1a10d9fc97476103355c1ddeba3bff97ca8a31
[bbtk.git] / kernel / src / bbtkAtomicBlackBoxDescriptor.cxx
1 #include "bbtkAtomicBlackBoxDescriptor.h"
2 #include "bbtkBlackBox.h"
3 #include "bbtkPackage.h"
4
5 namespace bbtk
6 {
7   AtomicBlackBoxDescriptor::AtomicBlackBoxDescriptor() 
8   {  
9     bbtkDebugMessage("object",3,"==> AtomicBlackBoxDescriptor::AtomicBlackBoxDescriptor()"<<std::endl);
10     // Creates the input 'BoxProcessMode'
11     AddInputDescriptor
12       (new 
13        bbtk::AtomicBlackBoxInputDescriptor
14        (typeid(AtomicBlackBoxDescriptor),
15         "BoxProcessMode",
16         "Sets the processing mode of the box (Pipeline | Always | Reactive)",
17         "",
18         new bbtk::AtomicBlackBoxTGetFunctor<BlackBox,std::string,std::string>(&BlackBox::bbGetInputBoxProcessMode), 
19         new bbtk::AtomicBlackBoxTSetFunctor<BlackBox,std::string,std::string>(&BlackBox::bbSetInputBoxProcessMode) ) );
20     // Creates the input 'BoxExecute'
21     AddInputDescriptor
22       (new
23        bbtk::AtomicBlackBoxInputDescriptor
24        (typeid(AtomicBlackBoxDescriptor),
25         "BoxExecute",
26         "Any signal received by this input executes the box",
27         "signal",
28         new bbtk::AtomicBlackBoxTGetFunctor<BlackBox,Void,Void>(&BlackBox::bbGetInputBoxExecute), 
29         new bbtk::AtomicBlackBoxTSetFunctor<BlackBox,Void,Void>(&BlackBox::bbSetInputBoxExecute) ) );
30     // Creates the output 'BoxChange'      
31     AddOutputDescriptor
32       (new 
33        bbtk::AtomicBlackBoxOutputDescriptor
34        (typeid(AtomicBlackBoxDescriptor),
35         "BoxChange",
36         "Signals modifications of the box", 
37         "signal",
38         new bbtk::AtomicBlackBoxTGetFunctor<BlackBox,Void,Void>(&BlackBox::bbGetOutputBoxChange), 
39         new bbtk::AtomicBlackBoxTSetFunctor<BlackBox,Void,Void>(&BlackBox::bbSetOutputBoxChange) ) );
40     //
41     AddToCategory("atomic box");
42     bbtkDebugMessage("object",3,"<== AtomicBlackBoxDescriptor::AtomicBlackBoxDescriptor()"<<std::endl);
43   }
44   //===================================================================
45
46   AtomicBlackBoxDescriptor::~AtomicBlackBoxDescriptor() 
47   {  
48     bbtkDebugMessage("object",3,"==> AtomicBlackBoxDescriptor::AtomicBlackBoxDescriptor()"<<std::endl);
49     bbtkDebugMessage("object",3,"<== AtomicBlackBoxDescriptor::AtomicBlackBoxDescriptor()"<<std::endl);
50   }
51 }// namespace bbtk