--- a/libupnpp/control/ohproduct.cxx
+++ b/libupnpp/control/ohproduct.cxx
@@ -106,6 +106,10 @@
     const string::size_type sz(SType.size()-2);
     return !SType.compare(0, sz, st, 0, sz);
 }
+bool OHProduct::serviceTypeMatch(const std::string& tp)
+{
+    return isOHPrService(tp);
+}
 
 
 void OHProduct::evtCallback(
@@ -175,6 +179,11 @@
     return runSimpleAction("SetSourceIndex", "Value", index);
 }
 
+int OHProduct::setSourceIndexByName(const string& name)
+{
+    return runSimpleAction("SetSourceIndexByName", "Value", name);
+}
+
 int OHProduct::standby(bool *value)
 {
     return runSimpleGet("Standby", "Value", value);