aboutsummaryrefslogtreecommitdiff
path: root/lib/service/service.cpp
diff options
context:
space:
mode:
authorFelix Domke <tmbinc@elitedvb.net>2005-01-31 22:51:14 +0000
committerFelix Domke <tmbinc@elitedvb.net>2005-01-31 22:51:14 +0000
commit4bc08995411e21f3564f09e136809be68ddf96a8 (patch)
tree59e2f1babc2b85b61782fe76aadd031faa704f73 /lib/service/service.cpp
parent6b7b7977a92c9a092763bf699cba85347f9f2ec6 (diff)
downloadenigma2-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.cpp18
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");