+ ~eDVBSatelliteEquipmentControl();
+#endif
+ static int m_params[MAX_PARAMS];
+public:
+#ifndef SWIG
+ eDVBSatelliteEquipmentControl(eSmartPtrList<eDVBRegisteredFrontend> &avail_frontends, eSmartPtrList<eDVBRegisteredFrontend> &avail_simulate_frontends);
+ RESULT prepare(iDVBFrontend &frontend, FRONTENDPARAMETERS &parm, const eDVBFrontendParametersSatellite &sat, int frontend_id, unsigned int tunetimeout);
+ void prepareTurnOffSatCR(iDVBFrontend &frontend, int satcr); // used for unicable
+ int canTune(const eDVBFrontendParametersSatellite &feparm, iDVBFrontend *, int frontend_id, int *highest_score_lnb=0);
+ bool currentLNBValid() { return m_lnbidx > -1 && m_lnbidx < (int)(sizeof(m_lnbs) / sizeof(eDVBSatelliteLNBParameters)); }
+#endif
+ static eDVBSatelliteEquipmentControl *getInstance() { return instance; }
+ static void setParam(int param, int value);
+ RESULT clear();
+/* LNB Specific Parameters */
+ RESULT addLNB();
+ RESULT setLNBSlotMask(int slotmask);
+ RESULT setLNBLOFL(int lofl);
+ RESULT setLNBLOFH(int lofh);
+ RESULT setLNBThreshold(int threshold);
+ RESULT setLNBIncreasedVoltage(bool onoff);
+ RESULT setLNBPrio(int prio);
+ RESULT setLNBNum(int LNBNum);
+/* DiSEqC Specific Parameters */
+ RESULT setDiSEqCMode(int diseqcmode);
+ RESULT setToneburst(int toneburst);
+ RESULT setRepeats(int repeats);
+ RESULT setCommittedCommand(int command);
+ RESULT setUncommittedCommand(int command);
+ RESULT setCommandOrder(int order);
+ RESULT setFastDiSEqC(bool onoff);
+ RESULT setSeqRepeat(bool onoff); // send the complete switch sequence twice (without rotor command)
+/* Rotor Specific Parameters */
+ RESULT setLongitude(float longitude);
+ RESULT setLatitude(float latitude);
+ RESULT setLoDirection(int direction);
+ RESULT setLaDirection(int direction);
+ RESULT setUseInputpower(bool onoff);
+ RESULT setInputpowerDelta(int delta); // delta between running and stopped rotor
+ RESULT setRotorTurningSpeed(int speed); // set turning speed..
+/* Unicable Specific Parameters */
+ RESULT setLNBSatCR(int SatCR_idx);
+ RESULT setLNBSatCRvco(int SatCRvco);
+ RESULT setLNBSatCRpositions(int SatCR_positions);
+ RESULT getLNBSatCR();
+ RESULT getLNBSatCRvco();
+ RESULT getLNBSatCRpositions();
+/* Satellite Specific Parameters */
+ RESULT addSatellite(int orbital_position);
+ RESULT setVoltageMode(int mode);
+ RESULT setToneMode(int mode);
+ RESULT setRotorPosNum(int rotor_pos_num);
+/* Tuner Specific Parameters */
+ RESULT setTunerLinked(int from, int to);
+ RESULT setTunerDepends(int from, int to);
+ void setSlotNotLinked(int tuner_no);
+
+ void setRotorMoving(int, bool); // called from the frontend's
+ bool isRotorMoving();
+ bool canMeasureInputPower() { return m_canMeasureInputPower; }