add function to get a comparable service reference string (useable to
[enigma2.git] / lib / service / service.cpp
index d079965b7fe90a96a42083e903628b2baf66ec35..aa1ee4d855a0152a99b966f202b0bce57c635389 100644 (file)
@@ -1,8 +1,10 @@
 #include <lib/base/eerror.h>
 #include <lib/base/estring.h>
+#include <lib/python/python.h>
 #include <lib/service/service.h>
 #include <lib/base/init_num.h>
 #include <lib/base/init.h>
+#include <Python.h>
 
 eServiceReference::eServiceReference(const std::string &string)
 {
@@ -49,6 +51,16 @@ std::string eServiceReference::toString() const
        return ret;
 }
 
+std::string eServiceReference::toCompareString() const
+{
+       std::string ret;
+       ret += getNum(type);
+       ret += ":0";
+       for (unsigned int i=0; i<sizeof(data)/sizeof(*data); ++i)
+               ret+=":"+getNum(data[i], 0x10);
+       ret+=":"+path;
+       return ret;
+}
 
 eServiceCenter *eServiceCenter::instance;
 
@@ -190,4 +202,10 @@ std::string iServiceInformation::getInfoString(int w)
        return "";
 }
 
+PyObject* iServiceInformation::getInfoObject(int w)
+{
+       Py_INCREF(Py_None);
+       return Py_None;
+}
+
 eAutoInitPtr<eServiceCenter> init_eServiceCenter(eAutoInitNumbers::service, "eServiceCenter");