Switch to side-by-side view

--- a/libupnpp/device.hxx
+++ b/libupnpp/device.hxx
@@ -37,9 +37,10 @@
     void addService(UpnpService *, const std::string& serviceId);
 
     /**
-     * Add mapping from action-name to handler function.
+     * Add mapping from service+action-name to handler function.
      */
-    void addActionMapping(const std::string& actName, soapfun fun);
+    void addActionMapping(const UpnpService*, 
+                          const std::string& actName, soapfun);
 
     /** 
      * Generate event.
@@ -104,7 +105,7 @@
 class UpnpService {
 public:
     UpnpService(const std::string& stp,const std::string& sid, UpnpDevice *dev) 
-        : m_serviceType(stp)
+        : m_serviceType(stp), m_serviceId(sid)
         {
             dev->addService(this, sid);
         }
@@ -128,9 +129,14 @@
         {
             return m_serviceType;
         }
+    virtual const std::string& getServiceId() const
+        {
+            return m_serviceId;
+        }
 
 protected:
     const std::string m_serviceType;
+    const std::string m_serviceId;
 };
 
 #endif /* _DEVICE_H_X_INCLUDED_ */