Switch to side-by-side view

--- a/libupnpp/control/mediarenderer.cxx
+++ b/libupnpp/control/mediarenderer.cxx
@@ -47,6 +47,7 @@
     STD_WEAK_PTR<OHTime> ohtm;
     STD_WEAK_PTR<OHVolume> ohvl;
     STD_WEAK_PTR<OHReceiver> ohrc;
+    STD_WEAK_PTR<OHRadio> ohrd;
 };
 
 // We don't include a version in comparisons, as we are satisfied with
@@ -204,6 +205,24 @@
     return ohrcl;
 }
 
+OHRDH MediaRenderer::ohrd() 
+{
+    OHRDH handle = m->ohrd.lock();
+    if (handle)
+        return handle;
+    for (vector<UPnPServiceDesc>::const_iterator it = desc()->services.begin();
+         it != desc()->services.end();it++) {
+        if (OHRadio::isOHRdService(it->serviceType)) {
+            handle = OHRDH(new OHRadio(*desc(), *it));
+            break;
+        }
+    }
+    if (!handle)
+        LOGDEB("MediaRenderer: OHRadio service not found" << endl);
+    m->ohrd = handle;
+    return handle;
+}
+
 OHTMH MediaRenderer::ohtm() 
 {
     OHTMH ohtml = m->ohtm.lock();