build fixes
[enigma2.git] / lib / dvb / dvb.h
index 037c1974d2e91970bd85b06db630c6c8964d4e09..f36e6f6760a49433db08033a1accdb18968c6b70 100644 (file)
@@ -125,9 +125,9 @@ private:
        eSmartPtrList<eDVBFrontend> m_frontend;
        eSmartPtrList<eDVBDemux>    m_demux;
 };
-
 #endif // SWIG
 
+SWIG_IGNORE(eDVBResourceManager);
 class eDVBResourceManager: public iObject, public Object
 {
        DECLARE_REF(eDVBResourceManager);
@@ -149,7 +149,7 @@ class eDVBResourceManager: public iObject, public Object
                           combinations. this will be evaluated here. */
                           
        RESULT allocateFrontend(ePtr<eDVBAllocatedFrontend> &fe, ePtr<iDVBFrontendParameters> &feparm);
-       RESULT allocateFrontendByIndex(ePtr<eDVBAllocatedFrontend> &fe, int index);
+       RESULT allocateFrontendByIndex(ePtr<eDVBAllocatedFrontend> &fe, int slot_index);
        
                        /* allocate a demux able to filter on the selected frontend. */
        RESULT allocateDemux(eDVBRegisteredFrontend *fe, ePtr<eDVBAllocatedDemux> &demux, int cap);
@@ -197,23 +197,34 @@ public:
                errNoDemux    = -2,
                errChidNotFound = -3
        };
-
+       
        RESULT connectChannelAdded(const Slot1<void,eDVBChannel*> &channelAdded, ePtr<eConnection> &connection);
        int canAllocateChannel(const eDVBChannelID &channelid, const eDVBChannelID &ignore);
 
                /* allocate channel... */
        RESULT allocateChannel(const eDVBChannelID &channelid, eUsePtr<iDVBChannel> &channel);
        RESULT allocatePVRChannel(eUsePtr<iDVBPVRChannel> &channel);
+       static RESULT getInstance(ePtr<eDVBResourceManager> &);
 #ifdef SWIG
 public:
 #endif
        PSignal1<void,int> frontendUseMaskChanged;
-       RESULT allocateRawChannel(eUsePtr<iDVBChannel> &, int frontend_index);
-       static RESULT getInstance(ePtr<eDVBResourceManager> &);
+       SWIG_VOID(RESULT) allocateRawChannel(eUsePtr<iDVBChannel> &SWIG_OUTPUT, int slot_index);
+       void setFrontendSlotInformations(SWIG_PYOBJECT(ePyObject) list);
 };
-TEMPLATE_TYPEDEF(ePtr<eDVBResourceManager>, eDVBResourceManagerPtr);
+SWIG_TEMPLATE_TYPEDEF(ePtr<eDVBResourceManager>, eDVBResourceManager);
+SWIG_EXTEND(ePtr<eDVBResourceManager>,
+       static ePtr<eDVBResourceManager> getInstance()
+       {
+               extern ePtr<eDVBResourceManager> NewResourceManagerPtr(void);
+               return NewResourceManagerPtr();
+       }
+);
+
 #ifndef SWIG
 
+class eDVBChannelFilePush;
+
        /* iDVBPVRChannel includes iDVBChannel. don't panic. */
 class eDVBChannel: public iDVBPVRChannel, public iFilePushScatterGather, public Object
 {
@@ -265,7 +276,7 @@ private:
        ePtr<eConnection> m_conn_frontendStateChanged;
        
                /* for PVR playback */
-       eFilePushThread *m_pvr_thread;
+       eDVBChannelFilePush *m_pvr_thread;
        void pvrEvent(int event);
        
        int m_pvr_fd_dst;
@@ -289,6 +300,6 @@ private:
        void AddUse();
        void ReleaseUse();
 };
-
 #endif // SWIG
+
 #endif