Index: trunk/FACT++/src/ServiceList.cc
===================================================================
--- trunk/FACT++/src/ServiceList.cc	(revision 10305)
+++ trunk/FACT++/src/ServiceList.cc	(revision 10306)
@@ -367,5 +367,5 @@
 string ServiceList::GetFormat(const string &service) const
 {
-    StringMap::const_iterator i = fFormatList.find(service);
+    const StringMap::const_iterator i = fFormatList.find(service);
     return i==fFormatList.end() ? "" : i->second;
 }
@@ -388,4 +388,74 @@
 {
     return GetFormat(server+"/"+name);
+}
+
+// --------------------------------------------------------------------------
+//
+//! Get the Description vector of a command or service
+//!
+//! @param service
+//!    full qualified service name, e.g. SERVER/EXIT
+//!
+//! @returns
+//!    a vector of Description objects corresponding to the arguments
+//!
+//
+vector<Description> ServiceList::GetDescriptions(const string &service) const
+{
+    const DescriptionMap::const_iterator i = fDescriptionList.find(service);
+    return i==fDescriptionList.end() ? vector<Description>() : i->second;
+}
+
+// --------------------------------------------------------------------------
+//
+//! Get the Description vector of a command or service
+//!
+//! @param server
+//!     the server name, e.g. SERVER
+//!
+//! @param name
+//!     the service name, e.g. EXIT
+//!
+//! @returns
+//!    a vector of Description objects corresponding to the arguments
+//
+vector<Description> ServiceList::GetDescriptions(const string &server, const string &name) const
+{
+    return GetDescriptions(server+"/"+name);
+}
+
+// --------------------------------------------------------------------------
+//
+//! Get a description describing the given command or service if available.
+//!
+//! @param service
+//!    full qualified service name, e.g. SERVER/EXIT
+//!
+//! @returns
+//!    string with the stored comment
+//!
+//
+string ServiceList::GetComment(const string &service) const
+{
+    const StringMap::const_iterator i = fDescriptionMap.find(service);
+    return i==fDescriptionMap.end() ? "" : i->second;
+}
+
+// --------------------------------------------------------------------------
+//
+//! Get a description describing the given command or service if available.
+//!
+//! @param server
+//!     the server name, e.g. SERVER
+//!
+//! @param name
+//!     the service name, e.g. EXIT
+//!
+//! @returns
+//!    string with the stored comment
+//
+string ServiceList::GetComment(const string &server, const string &name) const
+{
+    return GetComment(server+"/"+name);
 }
 
Index: trunk/FACT++/src/ServiceList.h
===================================================================
--- trunk/FACT++/src/ServiceList.h	(revision 10305)
+++ trunk/FACT++/src/ServiceList.h	(revision 10306)
@@ -69,4 +69,10 @@
     std::string GetFormat(const std::string &service) const;
 
+    std::string GetComment(const std::string &server, const std::string &name) const;
+    std::string GetComment(const std::string &service) const;
+
+    std::vector<Description> GetDescriptions(const std::string &server, const std::string &name) const;
+    std::vector<Description> GetDescriptions(const std::string &service) const;
+
     void PrintServerList(std::ostream &out) const;
     void PrintServiceList(std::ostream &out) const;
