X-Git-Url: http://code.vuplus.com/gitweb/?p=vuplus_dvbapp;a=blobdiff_plain;f=lib%2Fdvb%2Fdvb.h;h=3e9fc7fde4ab573b0c532bcf00d516619860106d;hp=92771604f3fcaa1395731f6956c9619fc127a9c8;hb=eb510064c67c19fec47fd04ea03017c17569e3c5;hpb=bf2fd661276ac59550e24154b7611e8cf8a9b47a diff --git a/lib/dvb/dvb.h b/lib/dvb/dvb.h index 9277160..3e9fc7f 100644 --- a/lib/dvb/dvb.h +++ b/lib/dvb/dvb.h @@ -12,6 +12,7 @@ #include #include #include +#include #include @@ -135,7 +136,7 @@ class eDVBResourceManager: public iObject, public Object DECLARE_REF(eDVBResourceManager); int avail, busy; - enum { DM7025, DM800, DM500HD, DM800SE, DM8000 }; + enum { DM7025, DM800, DM500HD, DM800SE, DM8000, DM7020HD }; int m_boxtype; @@ -143,6 +144,7 @@ class eDVBResourceManager: public iObject, public Object eSmartPtrList m_demux; eSmartPtrList m_frontend, m_simulate_frontend; void addAdapter(iDVBAdapter *adapter); + void setUsbTuner(); struct active_channel { @@ -158,8 +160,11 @@ class eDVBResourceManager: public iObject, public Object ePtr m_list; ePtr m_sec; static eDVBResourceManager *instance; - + + ePtr m_fbc_mng; + friend class eDVBChannel; + friend class eFBCTunerManager; RESULT addChannel(const eDVBChannelID &chid, eDVBChannel *ch); RESULT removeChannel(eDVBChannel *ch); @@ -191,11 +196,11 @@ public: }; RESULT connectChannelAdded(const Slot1 &channelAdded, ePtr &connection); - int canAllocateChannel(const eDVBChannelID &channelid, const eDVBChannelID &ignore, bool simulate=false); + int canAllocateChannel(const eDVBChannelID &channelid, const eDVBChannelID &ignore, int &system, bool simulate=false); /* allocate channel... */ RESULT allocateChannel(const eDVBChannelID &channelid, eUsePtr &channel, bool simulate=false); - RESULT allocatePVRChannel(eUsePtr &channel); + RESULT allocatePVRChannel(const eDVBChannelID &channelid, eUsePtr &channel); static RESULT getInstance(ePtr &); /* allocates a frontend able to tune to frontend paramters 'feperm'. @@ -218,6 +223,8 @@ public: PSignal1 frontendUseMaskChanged; SWIG_VOID(RESULT) allocateRawChannel(eUsePtr &SWIG_OUTPUT, int slot_index); PyObject *setFrontendSlotInformations(SWIG_PYOBJECT(ePyObject) list); + bool frontendIsCompatible(int index, const char *type); + void setFrontendType(int index, const char *type); }; SWIG_TEMPLATE_TYPEDEF(ePtr, eDVBResourceManager); SWIG_EXTEND(ePtr, @@ -260,7 +267,7 @@ public: RESULT playFile(const char *file); void stopFile(); - RESULT playSource(ePtr& source, const char *priv=NULL); + RESULT playSource(ePtr& source, const char *priv=NULL); void stopSource(); void setCueSheet(eCueSheet *cuesheet); @@ -281,6 +288,7 @@ private: Signal1 m_stateChanged; Signal2 m_event; int m_state; + ePtr m_source; /* for channel list */ ePtr m_mgr;