aboutsummaryrefslogtreecommitdiff
path: root/lib/dvb
diff options
context:
space:
mode:
authorAndreas Monzner <andreas.monzner@multimedia-labs.de>2007-09-15 14:02:43 +0000
committerAndreas Monzner <andreas.monzner@multimedia-labs.de>2007-09-15 14:02:43 +0000
commit3e3832c8784e966dca29354c158ffb636f33c8cb (patch)
tree9e062b11fe5e60709f4538bc95d94399d51f6089 /lib/dvb
parentd65ce06bfed2444d9870630f095db401d78a096e (diff)
downloadenigma2-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.h18
-rw-r--r--lib/dvb/frontendparms.h34
-rw-r--r--lib/dvb/idvb.h3
-rw-r--r--lib/dvb/scan.cpp20
-rw-r--r--lib/dvb/scan.h1
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