From: Andreas Monzner Date: Sat, 13 Jan 2007 19:45:52 +0000 (+0000) Subject: fix non working use of configured system language for epg language X-Git-Tag: 2.6.0~2451 X-Git-Url: https://git.cweiske.de/enigma2.git/commitdiff_plain/855949a917ed8cf65397adc49872c99bdb2123c2 fix non working use of configured system language for epg language --- 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 #include #include +#include #include #include -#include #include #include #include @@ -134,9 +134,9 @@ typedef long time_t; %immutable eSocketNotifier::activated; %include %include +%include %include %include -%include // 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, eServiceEventPtr); +SWIG_TEMPLATE_TYPEDEF(ePtr, eServiceEvent); +SWIG_EXTEND(ePtr, + 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, eServiceEventPtr); +class eServiceEvent; SWIG_IGNORE(iStaticServiceInformation); class iStaticServiceInformation: public iObject diff --git a/mytest.py b/mytest.py index 7d87a9cd..0eab8a65 100644 --- a/mytest.py +++ b/mytest.py @@ -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