eDVBRegisteredFrontend(eDVBFrontend *fe, iDVBAdapter *adap)
:disable(new eTimer(eApp)), m_adapter(adap), m_frontend(fe), m_inuse(0)
{
- disable = new eTimer(eApp);
CONNECT(disable->timeout, eDVBRegisteredFrontend::closeFrontend);
}
+ ~eDVBRegisteredFrontend()
+ {
+ delete disable;
+ }
void dec_use()
{
if (!--m_inuse)
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);
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();
public:
#endif
PSignal1<void,int> frontendUseMaskChanged;
- SWIG_VOID(RESULT) allocateRawChannel(eUsePtr<iDVBChannel> &SWIG_OUTPUT, int frontend_index);
+ SWIG_VOID(RESULT) allocateRawChannel(eUsePtr<iDVBChannel> &SWIG_OUTPUT, int slot_index);
+ PyObject *setFrontendSlotInformations(SWIG_PYOBJECT(ePyObject) list);
};
SWIG_TEMPLATE_TYPEDEF(ePtr<eDVBResourceManager>, eDVBResourceManager);
SWIG_EXTEND(ePtr<eDVBResourceManager>,
);
#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;