{
public:
enum {
+ LINKABLE_CSW,
+ LINKABLE_UCSW,
+ LINKABLE_TONEBURST,
NEW_CSW,
NEW_UCSW,
NEW_TONEBURST,
CUR_VOLTAGE, // current voltage
CUR_TONE, // current continuous tone
SATCR, // current SatCR
+ DICTION, // current diction
+ PIN, // pin
NUM_DATA_ENTRIES
};
Signal1<void,iDVBFrontend*> m_stateChanged;
DECLARE_REF(eDVBFrontend);
bool m_simulate;
bool m_enabled;
- int m_type;
+ bool m_fbc;
eDVBFrontend *m_simulate_fe; // only used to set frontend type in dvb.cpp
int m_dvbid;
int m_slotid;
int m_fd;
bool m_rotor_mode;
bool m_need_rotor_workaround;
- bool m_can_handle_dvbs2;
+ std::map<fe_delivery_system_t, bool> m_delsys, m_delsys_whitelist;
char m_filename[128];
char m_description[128];
#if HAVE_DVB_API_VERSION < 3
char m_sec_filename[128];
#endif
FRONTENDPARAMETERS parm;
- union {
- eDVBFrontendParametersSatellite sat;
- eDVBFrontendParametersCable cab;
- eDVBFrontendParametersTerrestrial ter;
- } oparm;
+ eDVBFrontendParameters oparm;
int m_state;
ePtr<iDVBSatelliteEquipmentControl> m_sec;
void setFrontend(bool recvEvents=true);
bool setSecSequencePos(int steps);
static int PriorityOrder;
+ static int PreferredFrontendIndex;
public:
eDVBFrontend(int adap, int fe, int &ok, bool simulate=false, eDVBFrontend *simulate_fe=NULL);
virtual ~eDVBFrontend();
int readInputpower();
- RESULT getFrontendType(int &type);
RESULT tune(const iDVBFrontendParameters &where);
RESULT prepare_sat(const eDVBFrontendParametersSatellite &, unsigned int timeout);
RESULT prepare_cable(const eDVBFrontendParametersCable &);
bool setSlotInfo(ePyObject obj); // get a tuple (slotid, slotdescr)
static void setTypePriorityOrder(int val) { PriorityOrder = val; }
static int getTypePriorityOrder() { return PriorityOrder; }
+ static void setPreferredFrontend(int index) { PreferredFrontendIndex = index; }
+ static int getPreferredFrontend() { return PreferredFrontendIndex; }
+
+ bool supportsDeliverySystem(const fe_delivery_system_t &sys, bool obeywhitelist);
+ void setDeliverySystemWhitelist(const std::vector<fe_delivery_system_t> &whitelist);
void reopenFrontend();
int openFrontend();
int closeFrontend(bool force=false, bool no_delayed=false);
const char *getDescription() const { return m_description; }
bool is_simulate() const { return m_simulate; }
+ bool is_FBCTuner() { return m_fbc; }
+ bool getEnabled() { return m_enabled; }
+ void setEnabled(bool enable) { m_enabled = enable; }
+ bool isLoopTimerActive() { return m_tuneTimer->isActive(); }
+ bool isScheduledSendDiseqc();
};
#endif // SWIG