X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/ddc3964ed95d01e72229dc9af968a327cd84e56c..d2ceae9583bc62daa872c316f8952b9a6a416a69:/lib/service/service.cpp?ds=sidebyside diff --git a/lib/service/service.cpp b/lib/service/service.cpp index d18b8eee..3a59d444 100644 --- a/lib/service/service.cpp +++ b/lib/service/service.cpp @@ -90,6 +90,28 @@ RESULT eServiceCenter::list(const eServiceReference &ref, ePtr return i->second->list(ref, ptr); } +RESULT eServiceCenter::info(const eServiceReference &ref, ePtr &ptr) +{ + std::map >::iterator i = handler.find(ref.type); + if (i == handler.end()) + { + ptr = 0; + return -1; + } + return i->second->info(ref, ptr); +} + +RESULT eServiceCenter::offlineOperations(const eServiceReference &ref, ePtr &ptr) +{ + std::map >::iterator i = handler.find(ref.type); + if (i == handler.end()) + { + ptr = 0; + return -1; + } + return i->second->offlineOperations(ref, ptr); +} + RESULT eServiceCenter::addServiceFactory(int id, iServiceHandler *hnd) { handler.insert(std::pair >(id, hnd)); @@ -102,4 +124,20 @@ RESULT eServiceCenter::removeServiceFactory(int id) return 0; } + /* default handlers */ +RESULT iServiceHandler::info(const eServiceReference &, ePtr &ptr) +{ + ptr = 0; + return -1; +} + +#include + +RESULT iServiceInformation::getEvent(ePtr &evt, int m_nownext) +{ + evt = 0; + return -1; +} + + eAutoInitPtr init_eServiceCenter(eAutoInitNumbers::service, "eServiceCenter");