]> Creatis software - bbtk.git/blobdiff - kernel/src/bbtkAtomicBlackBoxDescriptor.cxx
=== MAJOR RELEASE ====
[bbtk.git] / kernel / src / bbtkAtomicBlackBoxDescriptor.cxx
diff --git a/kernel/src/bbtkAtomicBlackBoxDescriptor.cxx b/kernel/src/bbtkAtomicBlackBoxDescriptor.cxx
new file mode 100644 (file)
index 0000000..6511313
--- /dev/null
@@ -0,0 +1,51 @@
+#include "bbtkAtomicBlackBoxDescriptor.h"
+#include "bbtkBlackBox.h"
+#include "bbtkPackage.h"
+
+namespace bbtk
+{
+  AtomicBlackBoxDescriptor::AtomicBlackBoxDescriptor() 
+  {  
+    bbtkDebugMessage("object",3,"==> AtomicBlackBoxDescriptor::AtomicBlackBoxDescriptor()"<<std::endl);
+    // Creates the input 'BoxProcessMode'
+    AddInputDescriptor
+      (new 
+       bbtk::AtomicBlackBoxInputDescriptor
+       (typeid(AtomicBlackBoxDescriptor),
+       "BoxProcessMode",
+       "Sets the processing mode of the box (Pipeline | Always | Reactive)",
+       "",
+       new bbtk::AtomicBlackBoxTGetFunctor<BlackBox,std::string,std::string>(&BlackBox::bbGetInputBoxProcessMode), 
+       new bbtk::AtomicBlackBoxTSetFunctor<BlackBox,std::string,std::string>(&BlackBox::bbSetInputBoxProcessMode) ) );
+    // Creates the input 'BoxExecute'
+    AddInputDescriptor
+      (new
+       bbtk::AtomicBlackBoxInputDescriptor
+       (typeid(AtomicBlackBoxDescriptor),
+       "BoxExecute",
+       "Any signal received by this input executes the box",
+       "",
+       new bbtk::AtomicBlackBoxTGetFunctor<BlackBox,Void,Void>(&BlackBox::bbGetInputBoxExecute), 
+       new bbtk::AtomicBlackBoxTSetFunctor<BlackBox,Void,Void>(&BlackBox::bbSetInputBoxExecute) ) );
+    // Creates the output 'BoxChange'      
+    AddOutputDescriptor
+      (new 
+       bbtk::AtomicBlackBoxOutputDescriptor
+       (typeid(AtomicBlackBoxDescriptor),
+       "BoxChange",
+       "Signal modifications of the box", 
+       "",
+       new bbtk::AtomicBlackBoxTGetFunctor<BlackBox,Void,Void>(&BlackBox::bbGetOutputBoxChange), 
+       new bbtk::AtomicBlackBoxTSetFunctor<BlackBox,Void,Void>(&BlackBox::bbSetOutputBoxChange) ) );
+    //
+    AddToCategory("atomic box");
+    bbtkDebugMessage("object",3,"<== AtomicBlackBoxDescriptor::AtomicBlackBoxDescriptor()"<<std::endl);
+  }
+  //===================================================================
+
+  AtomicBlackBoxDescriptor::~AtomicBlackBoxDescriptor() 
+  {  
+    bbtkDebugMessage("object",3,"==> AtomicBlackBoxDescriptor::AtomicBlackBoxDescriptor()"<<std::endl);
+    bbtkDebugMessage("object",3,"<== AtomicBlackBoxDescriptor::AtomicBlackBoxDescriptor()"<<std::endl);
+  }
+}// namespace bbtk