eSmartPtrList<eDVBFrontend> m_frontend;
eSmartPtrList<eDVBDemux> m_demux;
};
-
#endif // SWIG
+SWIG_IGNORE(eDVBResourceManager);
class eDVBResourceManager: public iObject, public Object
{
DECLARE_REF(eDVBResourceManager);
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);
Signal1<void,eDVBChannel*> m_channelAdded;
- bool canAllocateFrontend(ePtr<iDVBFrontendParameters> &feparm);
+ int canAllocateFrontend(ePtr<iDVBFrontendParameters> &feparm);
eUsePtr<iDVBChannel> m_cached_channel;
Connection m_cached_channel_state_changed_conn;
eTimer m_releaseCachedChannelTimer;
void DVBChannelStateChanged(iDVBChannel*);
- void releaseCachedChannel();
void feStateChanged();
#ifndef SWIG
public:
#endif
+ void releaseCachedChannel();
eDVBResourceManager();
virtual ~eDVBResourceManager();
errNoDemux = -2,
errChidNotFound = -3
};
-
+
RESULT connectChannelAdded(const Slot1<void,eDVBChannel*> &channelAdded, ePtr<eConnection> &connection);
- bool canAllocateChannel(const eDVBChannelID &channelid, const eDVBChannelID &ignore);
+ 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);
+ PyObject *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
{
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;
void AddUse();
void ReleaseUse();
};
-
#endif // SWIG
+
#endif