Index: trunk/src/lib/Makefile.am
===================================================================
--- trunk/src/lib/Makefile.am	(revision 5633)
+++ trunk/src/lib/Makefile.am	(revision 5634)
@@ -40,4 +40,5 @@
                         util/helper_functions.cc \
                         util/multi_type.cc \
+                        util/executor/executor.cc \
                         math/vector.cc \
                         math/curve.cc
@@ -57,4 +58,5 @@
                         util/helper_functions.h \
                         util/multi_type.h \
+                        util/executor/executor.h \
                         math/vector.h \
                         math/curve.h
Index: trunk/src/lib/Makefile.in
===================================================================
--- trunk/src/lib/Makefile.in	(revision 5633)
+++ trunk/src/lib/Makefile.in	(revision 5634)
@@ -58,5 +58,5 @@
 	ini_parser.$(OBJEXT) substring.$(OBJEXT) color.$(OBJEXT) \
 	helper_functions.$(OBJEXT) multi_type.$(OBJEXT) \
-	vector.$(OBJEXT) curve.$(OBJEXT)
+	executor.$(OBJEXT) vector.$(OBJEXT) curve.$(OBJEXT)
 libORXlibs_a_OBJECTS = $(am_libORXlibs_a_OBJECTS)
 DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
@@ -229,4 +229,5 @@
                         util/helper_functions.cc \
                         util/multi_type.cc \
+                        util/executor/executor.cc \
                         math/vector.cc \
                         math/curve.cc
@@ -246,4 +247,5 @@
                         util/helper_functions.h \
                         util/multi_type.h \
+                        util/executor/executor.h \
                         math/vector.h \
                         math/curve.h
@@ -311,4 +313,5 @@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/color.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/curve.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/executor.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/helper_functions.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ini_parser.Po@am__quote@
@@ -458,4 +461,18 @@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o multi_type.obj `if test -f 'util/multi_type.cc'; then $(CYGPATH_W) 'util/multi_type.cc'; else $(CYGPATH_W) '$(srcdir)/util/multi_type.cc'; fi`
+
+executor.o: util/executor/executor.cc
+@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT executor.o -MD -MP -MF "$(DEPDIR)/executor.Tpo" -c -o executor.o `test -f 'util/executor/executor.cc' || echo '$(srcdir)/'`util/executor/executor.cc; \
+@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/executor.Tpo" "$(DEPDIR)/executor.Po"; else rm -f "$(DEPDIR)/executor.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='util/executor/executor.cc' object='executor.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o executor.o `test -f 'util/executor/executor.cc' || echo '$(srcdir)/'`util/executor/executor.cc
+
+executor.obj: util/executor/executor.cc
+@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT executor.obj -MD -MP -MF "$(DEPDIR)/executor.Tpo" -c -o executor.obj `if test -f 'util/executor/executor.cc'; then $(CYGPATH_W) 'util/executor/executor.cc'; else $(CYGPATH_W) '$(srcdir)/util/executor/executor.cc'; fi`; \
+@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/executor.Tpo" "$(DEPDIR)/executor.Po"; else rm -f "$(DEPDIR)/executor.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='util/executor/executor.cc' object='executor.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o executor.obj `if test -f 'util/executor/executor.cc'; then $(CYGPATH_W) 'util/executor/executor.cc'; else $(CYGPATH_W) '$(srcdir)/util/executor/executor.cc'; fi`
 
 vector.o: math/vector.cc
@@ -621,5 +638,5 @@
 
 distdir: $(DISTFILES)
-	$(mkdir_p) $(distdir)/coord $(distdir)/graphics/render2D $(distdir)/lang $(distdir)/math $(distdir)/util
+	$(mkdir_p) $(distdir)/coord $(distdir)/graphics/render2D $(distdir)/lang $(distdir)/math $(distdir)/util $(distdir)/util/executor
 	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
 	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
Index: trunk/src/lib/shell/shell_command.cc
===================================================================
--- trunk/src/lib/shell/shell_command.cc	(revision 5633)
+++ trunk/src/lib/shell/shell_command.cc	(revision 5634)
@@ -584,25 +584,25 @@
     switch (this->parameters[i])
     {
-      case ParameterBool:
+      case MT_BOOL:
         this->defaultValue[i].setInt(va_arg(defaultList, int));
         break;
-      case ParameterChar:
+      case MT_CHAR:
         this->defaultValue[i].setChar((char)va_arg(defaultList, int));
         break;
-      case ParameterString:
+      case MT_STRING:
         this->defaultValue[i].setString(va_arg(defaultList, char*));
         break;
-      case ParameterInt:
+      case MT_INT:
         this->defaultValue[i].setInt(va_arg(defaultList, int));
         break;
-      case ParameterUInt:
+/*      case MT_UINT:
         this->defaultValue[i].setInt((int)va_arg(defaultList, unsigned int));
-        break;
-      case ParameterFloat:
+        break;*/
+      case MT_FLOAT:
         this->defaultValue[i].setFloat(va_arg(defaultList, double));
         break;
-      case ParameterLong:
+/*      case MT_LONG:
         this->defaultValue[i].setInt((int) va_arg(defaultList, long));
-        break;
+        break;*/
       default:
         break;
@@ -654,5 +654,7 @@
 const char* ShellCommandBase::paramToString(long parameter)
 {
-  switch (parameter)
+  return MultiType::MultiTypeToString((MT_Type)parameter);
+// FIXME
+  /*  switch (parameter)
   {
     case ParameterBool:
@@ -680,4 +682,4 @@
       return "NULL";
       break;
-  }
-}
+  }*/
+}
