+int eServiceCenter::getServiceTypeForExtension(const char *str)
+{
+ for (std::map<int, std::list<std::string> >::iterator sit(extensions.begin()); sit != extensions.end(); ++sit)
+ {
+ for (std::list<std::string>::iterator eit(sit->second.begin()); eit != sit->second.end(); ++eit)
+ {
+ if (*eit == str)
+ return sit->first;
+ }
+ }
+ return -1;
+}
+
+int eServiceCenter::getServiceTypeForExtension(const std::string &str)
+{
+ return getServiceTypeForExtension(str.c_str());
+}
+
+ /* default handlers */
+RESULT iServiceHandler::info(const eServiceReference &, ePtr<iStaticServiceInformation> &ptr)
+{
+ ptr = 0;
+ return -1;
+}
+
+#include <lib/service/event.h>
+
+RESULT iStaticServiceInformation::getEvent(const eServiceReference &ref, ePtr<eServiceEvent> &evt, time_t start_time)
+{
+ evt = 0;
+ return -1;
+}
+
+int iStaticServiceInformation::getLength(const eServiceReference &ref)
+{
+ return -1;
+}
+
+int iStaticServiceInformation::isPlayable(const eServiceReference &ref, const eServiceReference &ignore, bool simulate)
+{
+ return 0;
+}
+
+RESULT iServiceInformation::getEvent(ePtr<eServiceEvent> &evt, int m_nownext)
+{
+ evt = 0;
+ return -1;
+}
+
+int iStaticServiceInformation::getInfo(const eServiceReference &ref, int w)
+{
+ return -1;
+}
+
+std::string iStaticServiceInformation::getInfoString(const eServiceReference &ref, int w)
+{
+ return "";
+}
+
+PyObject *iStaticServiceInformation::getInfoObject(const eServiceReference &ref, int w)
+{
+ Py_RETURN_NONE;
+}
+
+int iServiceInformation::getInfo(int w)
+{
+ return -1;
+}
+
+std::string iServiceInformation::getInfoString(int w)
+{
+ return "";
+}
+
+PyObject* iServiceInformation::getInfoObject(int w)
+{
+ Py_RETURN_NONE;
+}
+
+int iStaticServiceInformation::setInfo(const eServiceReference &ref, int w, int v)
+{
+ return -1;
+}
+
+int iStaticServiceInformation::setInfoString(const eServiceReference &ref, int w, const char *v)
+{
+ return -1;
+}
+
+int iServiceInformation::setInfo(int w, int v)
+{
+ return -1;
+}
+
+int iServiceInformation::setInfoString(int w, const char *v)
+{
+ return -1;
+}
+
+eAutoInitPtr<eServiceCenter> init_eServiceCenter(eAutoInitNumbers::service, "eServiceCenter");