update ca, sv language
[enigma2.git] / lib / service / event.h
index 3a71f7b732732dadff6d1263ec86e02b42640c5f..25b9d0b7df4e463ba7a51c942c7c3dbc080ae381 100644 (file)
@@ -1,36 +1,66 @@
 #ifndef __lib_service_event_h
 #define __lib_service_event_h
 
-#ifndef PYTHON
-
+#ifndef SWIG
 #include <time.h>
 #include <lib/base/object.h>
+#include <lib/service/iservice.h>
+#include <list>
 #include <string>
 class Event;
+#endif
 
+struct eComponentData
+{
+DECLARE_REF(eComponentData);
+#ifndef SWIG
+       uint8_t m_streamContent;
+       uint8_t m_componentType;
+       uint8_t m_componentTag;
+       std::string m_iso639LanguageCode;
+       std::string m_text;
 #endif
+       int getStreamContent(void) const { return m_streamContent; }
+       int getComponentType(void) const { return m_componentType; }
+       int getComponentTag(void) const { return m_componentTag; }
+       std::string getIso639LanguageCode(void) const { return m_iso639LanguageCode; }
+       std::string getText(void) const { return m_text; }
+};
+
+TEMPLATE_TYPEDEF(ePtr<eComponentData>, eComponentDataPtr);
+
 class eServiceEvent: public iObject
 {
-DECLARE_REF(eServiceEvent);
-public:
-#ifndef PYTHON
+       DECLARE_REF(eServiceEvent);
+       bool loadLanguage(Event *event, std::string lang, int tsidonid);
+       std::list<eComponentData> m_component_data;
+       std::list<eServiceReference> m_linkage_services;
        time_t m_begin;
        int m_duration;
+       int m_event_id;
        std::string m_event_name, m_short_description, m_extended_description;
+       static std::string m_language;
        // .. additional info
-       bool loadLanguage(Event *event, std::string lang);
-       RESULT parseFrom(Event *evt);
+public:
+#ifndef SWIG
+       RESULT parseFrom(Event *evt, int tsidonid=0);
+       RESULT parseFrom(const std::string filename, int tsidonid=0);
 #endif
-       time_t getBeginTime() { return m_begin; }
-       int getDuration() { return m_duration; }
-       std::string getEventName() { return m_event_name; }
-       std::string getShortDescription() { return m_short_description; }
-       std::string getExtendedDescription() { return m_extended_description; }
-       std::string getBeginTimeString();
+       static void setEPGLanguage( const std::string language );
+       time_t getBeginTime() const { return m_begin; }
+       int getDuration() const { return m_duration; }
+       int getEventId() const { return m_event_id; }
+       std::string getEventName() const { return m_event_name; }
+       std::string getShortDescription() const { return m_short_description; }
+       std::string getExtendedDescription() const { return m_extended_description; }
+       std::string getBeginTimeString() const;
+       SWIG_VOID(RESULT) getComponentData(ePtr<eComponentData> &SWIG_OUTPUT, int tagnum) const;
+       int getNumOfLinkageServices() const { return m_linkage_services.size(); }
+       SWIG_VOID(RESULT) getLinkageService(eServiceReference &SWIG_OUTPUT, eServiceReference &parent, int num) const;
 };
 
-#ifndef PYTHON
 TEMPLATE_TYPEDEF(ePtr<eServiceEvent>, eServiceEventPtr);
+#ifndef SWIG
 
 class eDebugClass: public iObject
 {