Index: /trunk/FACT++/src/RemoteControl.h
===================================================================
--- /trunk/FACT++/src/RemoteControl.h	(revision 10300)
+++ /trunk/FACT++/src/RemoteControl.h	(revision 10301)
@@ -64,5 +64,6 @@
     typedef std::map<const std::string, StateClient*> ClientList;
 
-    ServiceList fServiceList;    /// An up-to-date list of all available commands
+    ServiceList fCommandList;    /// An up-to-date list of all available commands
+    ServiceList fServiceList;    /// An up-to-date list of all available services
     ClientList  fClientList;     /// A list with all MESSAGE services to which we subscribed
 
@@ -76,6 +77,7 @@
         MessageImp(out),
         DimErrorRedirecter(static_cast<MessageImp&>(*this)),
-        lout(in), fServiceList("CMD", out)
-    {
+        lout(in), fCommandList("CMD", out), fServiceList("", out)
+    {
+        fCommandList.SetHandler(this);
         fServiceList.SetHandler(this);
     }
@@ -119,9 +121,9 @@
         {
             if (fCurrentServer.empty())
-                return T::Complete(fServiceList.GetServerList(), text);
+                return T::Complete(fCommandList.GetServerList(), text);
             else
-                return T::Complete(fServiceList.GetServiceList(fCurrentServer), text);
-        }
-        return T::Complete(fServiceList.GetServiceList(l), text);
+                return T::Complete(fCommandList.GetServiceList(fCurrentServer), text);
+        }
+        return T::Complete(fCommandList.GetServiceList(l), text);
     }
 
@@ -129,5 +131,5 @@
     {
         RemoteControlImp::infoHandler();
-        if (!fCurrentServer.empty() && !fServiceList.HasServer(fCurrentServer))
+        if (!fCurrentServer.empty() && !fCommandList.HasServer(fCurrentServer))
         {
             fCurrentServer = "";
@@ -142,5 +144,4 @@
         lout(T::GetStreamIn())
     {
-        fServiceList.SetHandler(this);
     }
 
@@ -151,4 +152,5 @@
         lout << " " << kUnderline << "Specific commands:" << endl;
         lout << kBold << "  s,servers   " << kReset << "List all servers which are connected." << endl;
+        lout << kBold << "  svc,service " << kReset << "List all services in the network." << endl;
         lout << endl;
         return true;
@@ -158,5 +160,5 @@
     {
         lout << endl << kBold << "List of commands:" << endl;
-        fServiceList.PrintServiceList(lout);
+        fCommandList.PrintDescription(lout);
         return true;
     }
@@ -170,5 +172,11 @@
         if (str=="servers" || str=="s")
         {
-            fServiceList.PrintServerList(lout);
+            fCommandList.PrintServerList(lout);
+            return true;
+        }
+
+        if (str=="service" || str=="svc")
+        {
+            fServiceList.PrintDescription(lout);
             return true;
         }
