aboutsummaryrefslogtreecommitdiff
path: root/lib/service
diff options
context:
space:
mode:
authorAndreas Monzner <andreas.monzner@multimedia-labs.de>2007-01-13 19:45:52 +0000
committerAndreas Monzner <andreas.monzner@multimedia-labs.de>2007-01-13 19:45:52 +0000
commit855949a917ed8cf65397adc49872c99bdb2123c2 (patch)
tree9f0512a205a3af1550b2a8d1f8da6609a405ea3a /lib/service
parent1f497d5b863644889bda758eed836a3d6be7be11 (diff)
downloadenigma2-855949a917ed8cf65397adc49872c99bdb2123c2.tar.gz
enigma2-855949a917ed8cf65397adc49872c99bdb2123c2.zip
fix non working use of configured system language for epg language
Diffstat (limited to 'lib/service')
-rw-r--r--lib/service/event.cpp7
-rw-r--r--lib/service/event.h11
-rw-r--r--lib/service/iservice.h2
3 files changed, 16 insertions, 4 deletions
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