Switch to side-by-side view

--- a/src/mediaserver/cdplugins/cdplugin.hxx
+++ b/src/mediaserver/cdplugins/cdplugin.hxx
@@ -27,31 +27,48 @@
 /// Service/Environment interface for media server modules
 class CDPluginServices {
 public:
-    /// Returns something like "/tidal" (no end slash)
+    /// For modules which use the common microhttpd server
+    /// (tidal/qobuz/gmusic). Returns something like "/tidal" (no end
+    /// slash), which must be inserted at the top of the track URLs
+    /// paths so that an HTTP request can be processed-for /
+    /// dispatched-to the right plugin.
     virtual std::string getpathprefix(CDPlugin *) = 0;
+    /// Returns the plugin to which belongs the parameter path, based
+    /// on the path prefix above.
+    virtual CDPlugin *getpluginforpath(const std::string& path) = 0;
 
-    /// Returns the plugin to which belongs the parameter path, based
-    /// on the path prefix above
-    virtual CDPlugin *getpluginforpath(const std::string& path) = 0;
+    /// Retrieve the "friendly name" for the media server, for display purposes
+    virtual std::string getfname() = 0;
     
-    /// Retrieve the IP address and port for the libupnp server. URLs
-    /// intended to be served this way (by adding a vdir) should use
-    /// these as host/port
+    /// IP address for the server.
+    ///
+    /// This is the host address / network interface used by libupnp,
+    /// which can only support one. All generated URLs should be for
+    /// this address as this is the only one guaranteed to be
+    /// accessible from clients (in case this server has several
+    /// interfaces). 
     virtual std::string getupnpaddr(CDPlugin *) = 0;
+    
+    /// IP port used by the libupnp HTTP server.
+    ///
+    /// URLs intended to be served this way (by adding a vdir) should
+    /// use this for the port value. No module does this at present so
+    /// that this call is not used. The microhttpd instance (serves
+    /// for the tidal/qobuz/gmusic plugins) uses port 49149 by
+    /// default. The value can be changed with the "plgmicrohttpport"
+    /// configuration variable. The local mediaserver (uprcl) uses
+    /// neither the libupnp HTTP server nor microhttpd, but an internal
+    /// Python server instance, on port 9090 by default (can be
+    /// changed with the "uprclhostport" configuration variable).
     virtual int getupnpport(CDPlugin *) = 0;
 
     /// Add a virtual directory and set file operation interface. path
-    /// must be equal or begin with the pathprefix.
+    /// must be equal or begin with the pathprefix. Not used at all at present.
     virtual bool setfileops(CDPlugin *, const std::string& path,
                             UPnPProvider::VirtualDir::FileOps ops)= 0;
 
     /// Get a pointer to the the main configuration file contents.
-    virtual ConfSimple *getconfig(CDPlugin *)= 0;
-
-    /// This calls plg->getname() and returns something like
-    /// datadir/nm/nm-app.py. Can't see why this is in contentdirectory
-    /// since it seems very specific to plgwithslave...
-    virtual std::string getexecpath(CDPlugin *)= 0;
+    virtual bool config_get(const std::string& nm, std::string& val) = 0;
 };
 
 /// Interface to media server modules