Index: /trunk/src/lib/shell/shell_completion.cc
===================================================================
--- /trunk/src/lib/shell/shell_completion.cc	(revision 7371)
+++ /trunk/src/lib/shell/shell_completion.cc	(revision 7372)
@@ -58,5 +58,5 @@
   const std::list<BaseObject*>* objectList;   //< the list of Objects stored in classID
   bool emptyComplete = false;           //< if the completion input is empty string. e.g ""
-  long completeType = SHELLC_NONE;      //< the Type we'd like to complete.
+  long completeType = NullCompletion;   //< the Type we'd like to complete.
   std::string completeString;           //< the string to complete.
 
@@ -81,11 +81,11 @@
   if (inputSplits.size() == 0)
   {
-    completeType |= SHELLC_CLASS;
-    completeType |= SHELLC_ALIAS;
+    completeType |= ClassCompletion;
+    completeType |= AliasCompletion;
   }
   else if (inputSplits.size() == 1 && emptyComplete == false)
   {
-    completeType |= SHELLC_CLASS;
-    completeType |= SHELLC_ALIAS;
+    completeType |= ClassCompletion;
+    completeType |= AliasCompletion;
   }
 
@@ -97,7 +97,7 @@
     objectList = ClassList::getList((ClassID)classID);
     if (classID != CL_NULL)
-      completeType |= SHELLC_OBJECT;
+      completeType |= ObjectCompletion;
     //if (objectList != NULL && objectList->getSize() == 1)
-      completeType |= SHELLC_FUNCTION;
+      completeType |= FunctionCompletion;
   }
   else if ((inputSplits.size() == 2 && emptyComplete == true) ||
@@ -108,14 +108,14 @@
       return false;
     else
-     completeType |= SHELLC_FUNCTION;
-  }
-
-  if (completeType & SHELLC_CLASS)
+     completeType |= FunctionCompletion;
+  }
+
+  if (completeType & ClassCompletion)
     this->objectComplete(completeString, CL_SHELL_COMMAND_CLASS);
-  if (completeType & SHELLC_OBJECT)
+  if (completeType & ObjectCompletion)
     this->objectComplete(completeString, classID);
-  if (completeType & SHELLC_FUNCTION)
+  if (completeType & FunctionCompletion)
     this->functionComplete(completeString, inputSplits.getString(0));
-  if (completeType & SHELLC_ALIAS)
+  if (completeType & AliasCompletion)
     this->aliasComplete(completeString);
 
@@ -135,5 +135,5 @@
   if (clList != NULL)
   {
-    if (!this->addToCompleteList(*clList, classBegin, SHELLC_CLASS))
+    if (!this->addToCompleteList(*clList, classBegin, ClassCompletion))
       return false;
   }
@@ -154,7 +154,7 @@
   if (boList != NULL)
   {
-    SHELLC_TYPE type = SHELLC_OBJECT;
+    CompletionType type = ObjectCompletion;
     if (classID == CL_SHELL_COMMAND_CLASS)
-      type = SHELLC_CLASS;
+      type = ClassCompletion;
     if (!this->addToCompleteList(*boList, objectBegin, type))
       return false;
@@ -175,5 +175,5 @@
   ShellCommandClass::getCommandListOfClass(className, &fktList);
   //printf("%s\n", boList->firstElement()->getName());
-  if (!this->addToCompleteList(fktList, functionBegin, SHELLC_FUNCTION))
+  if (!this->addToCompleteList(fktList, functionBegin, FunctionCompletion))
     return false;
   return true;
@@ -190,5 +190,5 @@
   ShellCommandClass::getCommandListOfAlias(&aliasList);
   //printf("%s\n", boList->firstElement()->getName());
-  if (!this->addToCompleteList(aliasList, aliasBegin, SHELLC_ALIAS))
+  if (!this->addToCompleteList(aliasList, aliasBegin, AliasCompletion))
     return false;
   return true;
@@ -212,5 +212,5 @@
     return false;
 
-  ShellC_Element addElem = completionList.front();
+  CompletionElement addElem = completionList.front();
   const std::string& addString = addElem.name;
   unsigned int addLength = 0;
@@ -220,13 +220,13 @@
   addLength = addString.size();
 
-  SHELLC_TYPE changeType = SHELLC_NONE;
-  list<ShellC_Element>::iterator charIT;
+  CompletionType changeType = NullCompletion;
+  list<CompletionElement>::iterator charIT;
   for (charIT = completionList.begin(); charIT != completionList.end(); charIT++)
   {
     if ((*charIT).type != changeType)
     {
-      if (changeType != SHELLC_NONE)
+      if (changeType != NullCompletion)
         PRINT(0)("\n");
-      PRINT(0)("%s: ", ShellCompletion::typeToString((*charIT).type));
+      PRINT(0)("%s: ", ShellCompletion::typeToString((*charIT).type).c_str());
       changeType = (*charIT).type;
     }
@@ -265,5 +265,5 @@
  * !! The strings MUST NOT be deleted !!
  */
-bool ShellCompletion::addToCompleteList(const std::list<std::string>& inputList, const std::string& completionBegin, SHELLC_TYPE type)
+bool ShellCompletion::addToCompleteList(const std::list<std::string>& inputList, const std::string& completionBegin, CompletionType type)
 {
   unsigned int searchLength = completionBegin.size();
@@ -276,5 +276,5 @@
     {
       printf ("%s\n", (*string).c_str());
-      ShellC_Element newElem;
+      CompletionElement newElem;
       newElem.name = (*string);
       newElem.type = type;
@@ -291,5 +291,5 @@
  * !! The strings MUST NOT be deleted !!
  */
-bool ShellCompletion::addToCompleteList(const std::list<BaseObject*>& inputList, const std::string& completionBegin, SHELLC_TYPE type)
+bool ShellCompletion::addToCompleteList(const std::list<BaseObject*>& inputList, const std::string& completionBegin, CompletionType type)
 {
   unsigned int searchLength = completionBegin.size();
@@ -302,5 +302,5 @@
           !nocaseCmp((*bo)->getName(), completionBegin, searchLength))
     {
-      ShellC_Element newElem;
+      CompletionElement newElem;
       newElem.name = (*bo)->getName();
       newElem.type = type;
@@ -322,18 +322,28 @@
 }
 
-const char* ShellCompletion::typeToString(SHELLC_TYPE type)
+const std::string& ShellCompletion::typeToString(CompletionType type)
 {
   switch (type)
   {
     default:// SHELLC_NONE
-      return "error";
-    case  SHELLC_CLASS:
-      return "class";
-    case SHELLC_OBJECT:
-      return "object";
-    case SHELLC_FUNCTION:
-      return "function";
-    case SHELLC_ALIAS:
-      return "alias";
-  }
-}
+      return typeNames[0];
+    case  ClassCompletion:
+      return typeNames[1];
+    case ObjectCompletion:
+      return typeNames[2];
+    case FunctionCompletion:
+      return typeNames[3];
+    case AliasCompletion:
+      return typeNames[4];
+  }
+}
+
+
+const std::string ShellCompletion::typeNames[] =
+{
+  "error",
+  "class",
+  "object",
+  "function",
+  "alias"
+};
Index: /trunk/src/lib/shell/shell_completion.h
===================================================================
--- /trunk/src/lib/shell/shell_completion.h	(revision 7371)
+++ /trunk/src/lib/shell/shell_completion.h	(revision 7372)
@@ -26,15 +26,15 @@
   //! an enumerator for different types the Shell can complete.
   typedef enum {
-    SHELLC_NONE        = 0,
-    SHELLC_CLASS       = 1,
-    SHELLC_OBJECT      = 2,
-    SHELLC_FUNCTION    = 4,
-    SHELLC_ALIAS       = 8,
-  } SHELLC_TYPE;
+    NullCompletion         = 0,
+    ClassCompletion        = 1,
+    ObjectCompletion       = 2,
+    FunctionCompletion     = 4,
+    AliasCompletion        = 8,
+  } CompletionType;
 
 //! A struct for ShellElements (these are used as containers to identify an Input for what it is)
-  struct ShellC_Element{
+  struct CompletionElement{
     std::string     name;     //!< the Name of the Element to be completed.
-    SHELLC_TYPE     type;     //!< the type of the Element
+    CompletionType type;     //!< the type of the Element
   };
 
@@ -57,12 +57,15 @@
 
 
-  bool addToCompleteList(const std::list<std::string>& inputList, const std::string& completionBegin, SHELLC_TYPE type);
-  bool addToCompleteList(const std::list<BaseObject*>& inputList, const std::string& completionBegin, SHELLC_TYPE type);
+  bool addToCompleteList(const std::list<std::string>& inputList, const std::string& completionBegin, ShellCompletion::CompletionType type);
+  bool addToCompleteList(const std::list<BaseObject*>& inputList, const std::string& completionBegin, ShellCompletion::CompletionType type);
   void clearCompletionList();
 
-  static const char* ShellCompletion::typeToString(SHELLC_TYPE type);
+  static const std::string& ShellCompletion::typeToString(ShellCompletion::CompletionType type);
 
  private:
-   std::list<ShellC_Element>    completionList;          //!< A list of completions, that are io.
+   std::list<CompletionElement>    completionList;          //!< A list of completions, that are io.
+
+
+   static const std::string        typeNames[];             //!< A list of Completion-Type-Names.
 };
 
