#ifndef __service_h #define __service_h #include #include #include class eServiceCenter; typedef ePtr eServiceCenterPtr; class eServiceCenter: public iServiceHandler { DECLARE_REF(eServiceCenter); private: std::map handler; static eServiceCenter *instance; #ifdef SWIG eServiceCenter(); ~eServiceCenter(); #endif public: #ifndef SWIG eServiceCenter(); virtual ~eServiceCenter(); #endif // iServiceHandler RESULT play(const eServiceReference &, iPlayableServicePtr &ptr); RESULT record(const eServiceReference &, iRecordableServicePtr &ptr); RESULT list(const eServiceReference &, iListableServicePtr &ptr); RESULT info(const eServiceReference &, ePtr &ptr); RESULT offlineOperations(const eServiceReference &, ePtr &ptr); // eServiceCenter static RESULT getPrivInstance(eServiceCenterPtr &ptr) { ptr = instance; return 0; } static SWIG_VOID(RESULT) getInstance(iServiceHandlerPtr &SWIG_NAMED_OUTPUT(ptr)) { ptr = instance; return 0; } RESULT addServiceFactory(int id, iServiceHandler *hnd); RESULT removeServiceFactory(int id); }; #endif