fix for API < v3, thanks to pieter
[enigma2.git] / lib / service / service.h
index 9f4b45607fae62c8c156f97960a9d9992193af69..813da24c5ee967207cbca212e4e71be4c9d3e627 100644 (file)
@@ -11,22 +11,29 @@ typedef ePtr<eServiceCenter> eServiceCenterPtr;
 
 class eServiceCenter: public iServiceHandler
 {
-DECLARE_REF;
+DECLARE_REF(eServiceCenter);
 private:
        std::map<int,iServiceHandlerPtr> 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<iStaticServiceInformation> &ptr);
+       RESULT offlineOperations(const eServiceReference &, ePtr<iServiceOfflineOperations> &ptr);
        
                // eServiceCenter
-       static RESULT getInstance(eServiceCenterPtr &ptr) { ptr = instance; return 0; }
+       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);
 };