X-Git-Url: http://code.vuplus.com/gitweb/?a=blobdiff_plain;f=lib%2Fservice%2Fservice.h;h=ffc7d275de884556748bf1fb37e04141f9c60e7a;hb=f06b7a792a3250dfbe210ac6d55223146244832f;hp=9f4b45607fae62c8c156f97960a9d9992193af69;hpb=d9ee52e4f0fbe9a1ae00d0e66f9e6f0a07fa319f;p=vuplus_dvbapp diff --git a/lib/service/service.h b/lib/service/service.h index 9f4b456..ffc7d27 100644 --- a/lib/service/service.h +++ b/lib/service/service.h @@ -7,28 +7,43 @@ class eServiceCenter; +#ifndef SWIG typedef ePtr eServiceCenterPtr; +#endif class eServiceCenter: public iServiceHandler { -DECLARE_REF; -private: - std::map handler; + DECLARE_REF(eServiceCenter); + std::map > handler; + std::map > extensions; static eServiceCenter *instance; +#ifdef SWIG + eServiceCenter(); + ~eServiceCenter(); +#endif public: +#ifndef SWIG eServiceCenter(); virtual ~eServiceCenter(); + int getServiceTypeForExtension(const char *str); + int getServiceTypeForExtension(const std::string &str); + // iServiceHandler - RESULT play(const eServiceReference &, iPlayableServicePtr &ptr); - RESULT record(const eServiceReference &, iRecordableServicePtr &ptr); - RESULT list(const eServiceReference &, iListableServicePtr &ptr); + RESULT play(const eServiceReference &, ePtr &ptr); + RESULT record(const eServiceReference &, ePtr &ptr); + RESULT list(const eServiceReference &, ePtr &ptr); RESULT info(const eServiceReference &, ePtr &ptr); + RESULT offlineOperations(const eServiceReference &, ePtr &ptr); // eServiceCenter - static RESULT getInstance(eServiceCenterPtr &ptr) { ptr = instance; return 0; } - RESULT addServiceFactory(int id, iServiceHandler *hnd); + static RESULT getPrivInstance(ePtr &ptr) { ptr = instance; return 0; } + RESULT addServiceFactory(int id, iServiceHandler *hnd, std::list &extensions); RESULT removeServiceFactory(int id); + RESULT addFactoryExtension(int id, const char *extension); + RESULT removeFactoryExtension(int id, const char *extension); +#endif + static SWIG_VOID(RESULT) getInstance(ePtr &SWIG_NAMED_OUTPUT(ptr)) { ptr = instance; return 0; } }; #endif