- add "getCurrent" to service listbox
[enigma2.git] / lib / service / service.h
index f32e23d9d1ddcad8e012a1fc1cfea24b997cc71f..9f4b45607fae62c8c156f97960a9d9992193af69 100644 (file)
@@ -5,23 +5,28 @@
 #include <lib/base/object.h>
 #include <lib/service/iservice.h>
 
-class eServiceCenter: public virtual iServiceHandler, public virtual iObject
+class eServiceCenter;
+
+typedef ePtr<eServiceCenter> eServiceCenterPtr;
+
+class eServiceCenter: public iServiceHandler
 {
 DECLARE_REF;
 private:
-       std::map<int,ePtr<iServiceHandler> > handler;
+       std::map<int,iServiceHandlerPtr> handler;
        static eServiceCenter *instance;
 public:
        eServiceCenter();
        virtual ~eServiceCenter();
 
                // iServiceHandler
-       RESULT play(const eServiceReference &, ePtr<iPlayableService> &ptr);
-       RESULT record(const eServiceReference &, ePtr<iRecordableService> &ptr);
-       RESULT list(const eServiceReference &, ePtr<iListableService> &ptr);
+       RESULT play(const eServiceReference &, iPlayableServicePtr &ptr);
+       RESULT record(const eServiceReference &, iRecordableServicePtr &ptr);
+       RESULT list(const eServiceReference &, iListableServicePtr &ptr);
+       RESULT info(const eServiceReference &, ePtr<iStaticServiceInformation> &ptr);
        
                // eServiceCenter
-       static RESULT getInstance(ePtr<eServiceCenter> &ptr) { ptr = instance; return 0; }
+       static RESULT getInstance(eServiceCenterPtr &ptr) { ptr = instance; return 0; }
        RESULT addServiceFactory(int id, iServiceHandler *hnd);
        RESULT removeServiceFactory(int id);
 };