X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/1aeefd997cc362c3b37c1587c5f08891b35c3a75..defa1a765f48ec880b36b14a247b89649553c2ec:/lib/service/service.h diff --git a/lib/service/service.h b/lib/service/service.h index bd40fb08..2dd01acc 100644 --- a/lib/service/service.h +++ b/lib/service/service.h @@ -5,23 +5,28 @@ #include #include +class eServiceCenter; + +typedef ePtr eServiceCenterPtr; + class eServiceCenter: public iServiceHandler { -DECLARE_REF; +DECLARE_REF(eServiceCenter); private: - std::map > handler; + std::map handler; static eServiceCenter *instance; public: eServiceCenter(); virtual ~eServiceCenter(); // iServiceHandler - RESULT play(const eServiceReference &, ePtr &ptr); - RESULT record(const eServiceReference &, ePtr &ptr); - RESULT list(const eServiceReference &, ePtr &ptr); + RESULT play(const eServiceReference &, iPlayableServicePtr &ptr); + RESULT record(const eServiceReference &, iRecordableServicePtr &ptr); + RESULT list(const eServiceReference &, iListableServicePtr &ptr); + RESULT info(const eServiceReference &, ePtr &ptr); // eServiceCenter - static RESULT getInstance(ePtr &ptr) { ptr = instance; return 0; } + static RESULT getInstance(eServiceCenterPtr &ptr) { ptr = instance; return 0; } RESULT addServiceFactory(int id, iServiceHandler *hnd); RESULT removeServiceFactory(int id); };