diff options
| author | Felix Domke <tmbinc@elitedvb.net> | 2005-01-31 22:51:14 +0000 |
|---|---|---|
| committer | Felix Domke <tmbinc@elitedvb.net> | 2005-01-31 22:51:14 +0000 |
| commit | 4bc08995411e21f3564f09e136809be68ddf96a8 (patch) | |
| tree | 59e2f1babc2b85b61782fe76aadd031faa704f73 /lib/service/service.cpp | |
| parent | 6b7b7977a92c9a092763bf699cba85347f9f2ec6 (diff) | |
| download | enigma2-4bc08995411e21f3564f09e136809be68ddf96a8.tar.gz enigma2-4bc08995411e21f3564f09e136809be68ddf96a8.zip | |
- fixed dvb scan
- fixed dvbdb (reading/writing lamedb)
- fixed (i.e. disallow) operator= in iObject (destroyed refcounts before)
- implemented listboxcontent for servicelists
- implemented getServiceInformation for non-playing services (still not happy with the result, though)
- implemented first try of serviceSelector component
Diffstat (limited to 'lib/service/service.cpp')
| -rw-r--r-- | lib/service/service.cpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/lib/service/service.cpp b/lib/service/service.cpp index d18b8eee..40cbf8df 100644 --- a/lib/service/service.cpp +++ b/lib/service/service.cpp @@ -90,6 +90,17 @@ RESULT eServiceCenter::list(const eServiceReference &ref, ePtr<iListableService> return i->second->list(ref, ptr); } +RESULT eServiceCenter::info(const eServiceReference &ref, ePtr<iServiceInformation> &ptr) +{ + std::map<int,ePtr<iServiceHandler> >::iterator i = handler.find(ref.type); + if (i == handler.end()) + { + ptr = 0; + return -1; + } + return i->second->info(ref, ptr); +} + RESULT eServiceCenter::addServiceFactory(int id, iServiceHandler *hnd) { handler.insert(std::pair<int,ePtr<iServiceHandler> >(id, hnd)); @@ -102,4 +113,11 @@ RESULT eServiceCenter::removeServiceFactory(int id) return 0; } + /* default handlers */ +RESULT iServiceHandler::info(const eServiceReference &, ePtr<iServiceInformation> &ptr) +{ + ptr = 0; + return -1; +} + eAutoInitPtr<eServiceCenter> init_eServiceCenter(eAutoInitNumbers::service, "eServiceCenter"); |
