diff options
| author | Andreas Monzner <andreas.monzner@multimedia-labs.de> | 2007-09-15 14:02:43 +0000 |
|---|---|---|
| committer | Andreas Monzner <andreas.monzner@multimedia-labs.de> | 2007-09-15 14:02:43 +0000 |
| commit | 3e3832c8784e966dca29354c158ffb636f33c8cb (patch) | |
| tree | 9e062b11fe5e60709f4538bc95d94399d51f6089 /lib/dvb | |
| parent | d65ce06bfed2444d9870630f095db401d78a096e (diff) | |
| download | enigma2-3e3832c8784e966dca29354c158ffb636f33c8cb.tar.gz enigma2-3e3832c8784e966dca29354c158ffb636f33c8cb.zip | |
show more information in service scan (needs additional changes in skin)
Diffstat (limited to 'lib/dvb')
| -rw-r--r-- | lib/dvb/frontend.h | 18 | ||||
| -rw-r--r-- | lib/dvb/frontendparms.h | 34 | ||||
| -rw-r--r-- | lib/dvb/idvb.h | 3 | ||||
| -rw-r--r-- | lib/dvb/scan.cpp | 20 | ||||
| -rw-r--r-- | lib/dvb/scan.h | 1 |
5 files changed, 41 insertions, 35 deletions
diff --git a/lib/dvb/frontend.h b/lib/dvb/frontend.h index 6bf36466..db1c3644 100644 --- a/lib/dvb/frontend.h +++ b/lib/dvb/frontend.h @@ -16,18 +16,18 @@ public: eDVBFrontendParameters(); ~eDVBFrontendParameters() {} - RESULT getSystem(int &type) const; - RESULT getDVBS(eDVBFrontendParametersSatellite &SWIG_OUTPUT) const; - RESULT getDVBC(eDVBFrontendParametersCable &SWIG_OUTPUT) const; - RESULT getDVBT(eDVBFrontendParametersTerrestrial &SWIG_OUTPUT) const; - RESULT setDVBS(const eDVBFrontendParametersSatellite &p, bool no_rotor_command_on_tune=false); RESULT setDVBC(const eDVBFrontendParametersCable &p); RESULT setDVBT(const eDVBFrontendParametersTerrestrial &p); - - RESULT calculateDifference(const iDVBFrontendParameters *parm, int &SWIG_OUTPUT, bool exact) const; - - RESULT getHash(unsigned long &SWIG_OUTPUT) const; + +#ifndef SWIG + RESULT getSystem(int &type) const; + RESULT getDVBS(eDVBFrontendParametersSatellite &) const; + RESULT getDVBC(eDVBFrontendParametersCable &) const; + RESULT getDVBT(eDVBFrontendParametersTerrestrial &) const; + RESULT calculateDifference(const iDVBFrontendParameters *parm, int &, bool exact) const; + RESULT getHash(unsigned long &) const; +#endif }; #ifndef SWIG diff --git a/lib/dvb/frontendparms.h b/lib/dvb/frontendparms.h index 86aea7cf..b8f47f43 100644 --- a/lib/dvb/frontendparms.h +++ b/lib/dvb/frontendparms.h @@ -1,6 +1,8 @@ #ifndef __lib_dvb_frontendparms_h #define __lib_dvb_frontendparms_h +#include <lib/python/swig.h> + class SatelliteDeliverySystemDescriptor; class CableDeliverySystemDescriptor; class TerrestrialDeliverySystemDescriptor; @@ -10,38 +12,32 @@ struct eDVBFrontendParametersSatellite #ifndef SWIG void set(const SatelliteDeliverySystemDescriptor &); #endif - struct Polarisation - { + struct Polarisation { enum { Horizontal, Vertical, CircularLeft, CircularRight }; }; - struct Inversion - { + struct Inversion { enum { Off, On, Unknown }; }; - struct FEC - { + struct FEC { enum { fAuto, f1_2, f2_3, f3_4, f5_6, f7_8, f8_9, f3_5, f4_5, f9_10, fNone=15 }; }; - struct System - { + struct System { enum { DVB_S, DVB_S2 }; }; - struct Modulation - { + struct Modulation { enum { Auto, QPSK, M8PSK, QAM_16 }; }; - struct RollOff // dvb-s2 - { + struct RollOff { // dvb-s2 enum { alpha_0_35, alpha_0_25, alpha_0_20, alpha_auto }; @@ -50,20 +46,19 @@ struct eDVBFrontendParametersSatellite unsigned int frequency, symbol_rate; int polarisation, fec, inversion, orbital_position, system, modulation, roll_off; }; +SWIG_ALLOW_OUTPUT_SIMPLE(eDVBFrontendParametersSatellite); struct eDVBFrontendParametersCable { #ifndef SWIG void set(const CableDeliverySystemDescriptor &); #endif - struct Inversion - { + struct Inversion { enum { Off, On, Unknown }; }; - struct FEC - { + struct FEC { enum { fAuto, f1_2, f2_3, f3_4, f5_6, f7_8, f8_9, fNone=15 }; @@ -76,19 +71,19 @@ struct eDVBFrontendParametersCable unsigned int frequency, symbol_rate; int modulation, inversion, fec_inner; }; +SWIG_ALLOW_OUTPUT_SIMPLE(eDVBFrontendParametersCable); struct eDVBFrontendParametersTerrestrial { #ifndef SWIG - void set(const TerrestrialDeliverySystemDescriptor &); + void set(const TerrestrialDeliverySystemDescriptor &); #endif struct Bandwidth { enum { Bw8MHz, Bw7MHz, Bw6MHz, /*Bw5MHz,*/ BwAuto }; // Bw5Mhz nyi (compatibilty with enigma1) }; - struct FEC - { + struct FEC { enum { f1_2, f2_3, f3_4, f5_6, f7_8, fAuto }; @@ -128,5 +123,6 @@ struct eDVBFrontendParametersTerrestrial int hierarchy; int inversion; }; +SWIG_ALLOW_OUTPUT_SIMPLE(eDVBFrontendParametersTerrestrial); #endif diff --git a/lib/dvb/idvb.h b/lib/dvb/idvb.h index 14d6ebb0..c18d2421 100644 --- a/lib/dvb/idvb.h +++ b/lib/dvb/idvb.h @@ -409,6 +409,7 @@ public: virtual RESULT calculateDifference(const iDVBFrontendParameters *parm, int &SWIG_OUTPUT, bool exact) const = 0; virtual RESULT getHash(unsigned long &SWIG_OUTPUT) const = 0; }; +SWIG_TEMPLATE_TYPEDEF(ePtr<iDVBFrontendParameters>, iDVBFrontendParametersPtr); #define MAX_DISEQC_LENGTH 16 @@ -509,7 +510,7 @@ public: state_last_instance, /* just one reference to this channel is left */ state_release /* channel is being shut down. */ }; - virtual RESULT getState(int &SWIG_OUTPUT)=0; + virtual RESULT getState(int &)=0; virtual RESULT getCurrentFrontendParameters(ePtr<iDVBFrontendParameters> &)=0; enum diff --git a/lib/dvb/scan.cpp b/lib/dvb/scan.cpp index 3915a0c4..20bb9159 100644 --- a/lib/dvb/scan.cpp +++ b/lib/dvb/scan.cpp @@ -123,13 +123,10 @@ RESULT eDVBScan::nextChannel() m_chid_current = eDVBChannelID(); m_channel_state = iDVBChannel::state_idle; + if (fe->tune(*m_ch_current)) - { return nextChannel(); - m_event(evtFail); - return -EINVAL; - } - + m_event(evtUpdate); return 0; } @@ -782,4 +779,15 @@ RESULT eDVBScan::getFrontend(ePtr<iDVBFrontend> &fe) return m_channel->getFrontend(fe); fe = 0; return -1; -}
\ No newline at end of file +} + +RESULT eDVBScan::getCurrentTransponder(ePtr<iDVBFrontendParameters> &tp) +{ + if (m_ch_current) + { + tp = m_ch_current; + return 0; + } + tp = 0; + return -1; +} diff --git a/lib/dvb/scan.h b/lib/dvb/scan.h index ab7f3b5d..6dcbe707 100644 --- a/lib/dvb/scan.h +++ b/lib/dvb/scan.h @@ -87,6 +87,7 @@ public: void getStats(int &transponders_done, int &transponders_total, int &services); void getLastServiceName(std::string &name); RESULT getFrontend(ePtr<iDVBFrontend> &); + RESULT getCurrentTransponder(ePtr<iDVBFrontendParameters> &); }; #endif |
