]> Creatis software - bbtk.git/commitdiff
*** empty log message ***
authorguigues <guigues>
Mon, 17 Mar 2008 08:46:00 +0000 (08:46 +0000)
committerguigues <guigues>
Mon, 17 Mar 2008 08:46:00 +0000 (08:46 +0000)
kernel/appli/bbCreateBox/bbCreateBox.sh.in [new file with mode: 0755]
kernel/appli/bbCreateBox/template_standard.xml [new file with mode: 0644]

diff --git a/kernel/appli/bbCreateBox/bbCreateBox.sh.in b/kernel/appli/bbCreateBox/bbCreateBox.sh.in
new file mode 100755 (executable)
index 0000000..bb06866
--- /dev/null
@@ -0,0 +1,32 @@
+#!/bin/bash
+# creates the file architecture for a new user package
+
+if [ $# -lt 3 ]
+    then
+    echo "usage : bbCreateBox <template-xml-file-name> <box-name> <package-name> [author] [description] [category]"  
+    exit
+fi
+
+# bbCreatePackage path
+TMP=$(which $0|rev)
+BINPATH=$(echo ${TMP#*/}|rev)
+# Input data path
+#INPUT=${BINPATH}/@bbCreateBox_DATA_REL_PATH_FROM_BIN@/$1
+INPUT=$1
+
+BBCB_BOX_NAME=$2
+BBCB_PACKAGE_NAME=$3
+BBCB_AUTHOR=$4
+BBCB_DESCRIPTION=$5
+BBCB_CATEGORY=$6
+
+echo "input       = " $INPUT
+echo "box name    = " $BBCB_BOX_NAME
+echo "package     = " $BBCB_PACKAGE_NAME
+echo "author      = " $BBCB_AUTHOR
+echo "description = " $BBCB_DESCRIPTION
+echo "category    = " $BBCB_CATEGORY
+
+sed s,BBCB_BOX_NAME,"${BBCB_BOX_NAME}", < $INPUT | sed  s/BBCB_AUTHOR/"${BBCB_AUTHOR}"/ | sed s{BBCB_DESCRIPTION{"${BBCB_DESCRIPTION}"{ | sed s/BBCB_CATEGORY/"${BBCB_CATEGORY}"/ > bb${BBCB_PACKAGE_NAME}${BBCB_BOX_NAME}.xml
+
+
diff --git a/kernel/appli/bbCreateBox/template_standard.xml b/kernel/appli/bbCreateBox/template_standard.xml
new file mode 100644 (file)
index 0000000..8d727e5
--- /dev/null
@@ -0,0 +1,71 @@
+#============================================================================
+# STARTS THE DESCRIPTION OF THE BLACK BOX
+<blackbox name="BBCB_BOX_NAME">
+#============================================================================
+
+  #============================================================================
+  # THE BOX DOCUMENTATION
+  <author>BBCB_AUTHOR</author>
+  <description>BBCB_DESCRIPTION</description>
+  <category>BBCB_CATEGORY</category>
+  #============================================================================
+
+  #============================================================================
+  # #include directives to be put in the .h generated
+  # There must be one tag per file to include
+  # Here we include the standard header iostream.h
+  <include><PRE>
+    iostream.h
+  </PRE></include>
+  #============================================================================
+
+  #============================================================================
+  # INPUTS/OUTPUTS DECLARATION
+  # Declares an input with name 'In', type 'double' and description 'First input'
+  <input name="In" type="double" description="First input"/>
+  # Declares an output with name 'Out', type 'double' and description 'First output'
+  <output name="Out" type="double" description="First output"/>
+  #============================================================================
+
+  #============================================================================
+  # THE PROCESSING METHOD BODY :
+  # Here simpy copies the value of the input 'In' to the output 'Out'
+  # INPUT/OUTPUT ACCESSORS ARE OF THE FORM :
+  # void bbSet{Input|Output}NAME(const TYPE&)
+  # const TYPE& bbGet{Input|Output}NAME() const 
+  # Where :
+  # * NAME is the name of the input/output
+  #   (the one provided in the attribute 'name' of the tag <input>)
+  # * TYPE is the C++ type of the input/output
+  #   (the one provided in the attribute 'type' of the tag <input>)
+  <process><PRE>
+    bbSetOutputOut( bbGetInputIn() );
+    std::cout << "Here I am !" << std::endl;
+  </PRE></process>
+  #============================================================================
+
+  #============================================================================
+  # CONSTRUCTORS / DESTRUCTORS (OPTIONAL) 
+  # THE CONSTRUCTION METHOD BODY :
+  # Here initializes the input 'In' to 0
+  # This is also where you should allocate the output pointers
+  <constructor><PRE>
+    bbSetInputIn(0);
+  </PRE></constructor>    
+  # THE COPY-CONSTRUCTION METHOD BODY :
+  # Here does nothing 
+  # But this is where you should allocate the output pointers if any
+  # and copy the pointed values (to avoid bug caused by multiple references)
+  <copyconstructor><PRE>
+  </PRE></copyconstructor>    
+  # THE DESTRUCTION METHOD BODY :
+  # Here does nothing 
+  # but this is where you should desallocate the output pointers if any
+  <destructor><PRE>
+  </PRE></destructor>    
+  #============================================================================
+
+#============================================================================
+# END OF BLACK BOX DESCRIPTION
+</blackbox>
+#============================================================================