diff options
| author | Andreas Monzner <andreas.monzner@multimedia-labs.de> | 2007-01-13 19:45:52 +0000 |
|---|---|---|
| committer | Andreas Monzner <andreas.monzner@multimedia-labs.de> | 2007-01-13 19:45:52 +0000 |
| commit | 855949a917ed8cf65397adc49872c99bdb2123c2 (patch) | |
| tree | 9f0512a205a3af1550b2a8d1f8da6609a405ea3a | |
| parent | 1f497d5b863644889bda758eed836a3d6be7be11 (diff) | |
| download | enigma2-855949a917ed8cf65397adc49872c99bdb2123c2.tar.gz enigma2-855949a917ed8cf65397adc49872c99bdb2123c2.zip | |
fix non working use of configured system language for epg language
| -rw-r--r-- | lib/python/enigma_python.i | 4 | ||||
| -rw-r--r-- | lib/service/event.cpp | 7 | ||||
| -rw-r--r-- | lib/service/event.h | 11 | ||||
| -rw-r--r-- | lib/service/iservice.h | 2 | ||||
| -rw-r--r-- | mytest.py | 2 |
5 files changed, 19 insertions, 7 deletions
diff --git a/lib/python/enigma_python.i b/lib/python/enigma_python.i index a1bb5b28..8ee7fb39 100644 --- a/lib/python/enigma_python.i +++ b/lib/python/enigma_python.i @@ -43,9 +43,9 @@ is usually caused by not marking PSignals as immutable. #include <lib/base/nconfig.h> #include <lib/base/message.h> #include <lib/driver/rc.h> +#include <lib/service/event.h> #include <lib/service/iservice.h> #include <lib/service/service.h> -#include <lib/service/event.h> #include <lib/service/servicedvb.h> #include <lib/gdi/fb.h> #include <lib/gdi/font.h> @@ -134,9 +134,9 @@ typedef long time_t; %immutable eSocketNotifier::activated; %include <lib/base/ebase.h> %include <lib/base/smartptr.h> +%include <lib/service/event.h> %include <lib/service/iservice.h> %include <lib/service/service.h> -%include <lib/service/event.h> // TODO: embed these... %immutable eConsoleAppContainer::appClosed; diff --git a/lib/service/event.cpp b/lib/service/event.cpp index 4dda5779..aa8482a0 100644 --- a/lib/service/event.cpp +++ b/lib/service/event.cpp @@ -72,7 +72,7 @@ std::string ISOtbl[MAX_LANG][2] = bool eServiceEvent::loadLanguage(Event *evt, std::string lang, int tsidonid) { bool retval=0; - for (DescriptorConstIterator desc = evt->getDescriptors()->begin(); desc != evt->getDescriptors()->end(); ++desc) + for (DescriptorConstIterator desc = evt->getDescriptors()->begin(); desc != evt->getDescriptors()->end() && !retval; ++desc) { switch ((*desc)->getTag()) { @@ -270,4 +270,9 @@ RESULT eServiceEvent::getLinkageService(eServiceReference &service, eServiceRefe return -1; } +void setServiceEventLanguage(const std::string language) +{ + eServiceEvent::setEPGLanguage(language); +} + DEFINE_REF(eDebugClass); diff --git a/lib/service/event.h b/lib/service/event.h index d1e1d08b..5d81d8cf 100644 --- a/lib/service/event.h +++ b/lib/service/event.h @@ -47,8 +47,8 @@ public: #ifndef SWIG RESULT parseFrom(Event *evt, int tsidonid=0); RESULT parseFrom(const std::string filename, int tsidonid=0); -#endif static void setEPGLanguage( const std::string language ); +#endif time_t getBeginTime() const { return m_begin; } int getDuration() const { return m_duration; } int getEventId() const { return m_event_id; } @@ -60,7 +60,14 @@ public: int getNumOfLinkageServices() const { return m_linkage_services.size(); } SWIG_VOID(RESULT) getLinkageService(eServiceReference &SWIG_OUTPUT, eServiceReference &parent, int num) const; }; -SWIG_TEMPLATE_TYPEDEF(ePtr<eServiceEvent>, eServiceEventPtr); +SWIG_TEMPLATE_TYPEDEF(ePtr<eServiceEvent>, eServiceEvent); +SWIG_EXTEND(ePtr<eServiceEvent>, + static void setEPGLanguage( const std::string language ) + { + extern setServiceEventLanguage(const std::string language); + setServiceEventLanguage(language); + } +); #ifndef SWIG SWIG_IGNORE(eDebugClass); diff --git a/lib/service/iservice.h b/lib/service/iservice.h index 96cd792d..015ef879 100644 --- a/lib/service/iservice.h +++ b/lib/service/iservice.h @@ -224,7 +224,7 @@ typedef long long pts_t; Hide the result only if there is another way to check for failure! */ -SWIG_TEMPLATE_TYPEDEF(ePtr<eServiceEvent>, eServiceEventPtr); +class eServiceEvent; SWIG_IGNORE(iStaticServiceInformation); class iStaticServiceInformation: public iObject @@ -1,6 +1,6 @@ from Tools import RedirectOutput from enigma import runMainloop, eDVBDB, eTimer, quitMainloop, eDVBVolumecontrol, \ - getDesktop, ePythonConfigQuery, eAVSwitch, eWindow + getDesktop, ePythonConfigQuery, eAVSwitch, eWindow, eServiceEvent from tools import * from Components.Language import language |
