X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/dba614edd2aad3c17e244914eaef3809d8300cb1..4ea4f33a6a0382249996c4dae4db31ae2e059dbb:/lib/service/event.h diff --git a/lib/service/event.h b/lib/service/event.h index 99ce5b24..8c214af6 100644 --- a/lib/service/event.h +++ b/lib/service/event.h @@ -1,25 +1,81 @@ #ifndef __lib_service_event_h #define __lib_service_event_h +#ifndef SWIG #include -#include +#include #include class Event; +#endif + +#include +#include + +SWIG_IGNORE(eComponentData); +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 + eComponentData(const eComponentData& d) { *this = d; } + eComponentData() { m_streamContent = m_componentType = m_componentTag = 0; } + 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; } +}; +SWIG_TEMPLATE_TYPEDEF(ePtr, eComponentDataPtr); +SWIG_ALLOW_OUTPUT_SIMPLE(eServiceReference); // needed for SWIG_OUTPUT in eServiceEvent::getLinkageService + +SWIG_IGNORE(eServiceEvent); class eServiceEvent: public iObject { -DECLARE_REF(eServiceEvent); -public: + DECLARE_REF(eServiceEvent); + bool loadLanguage(Event *event, std::string lang, int tsidonid); + std::list m_component_data; + std::list m_linkage_services; time_t m_begin; int m_duration; - std::string m_event_name, m_description; + int m_event_id; + std::string m_event_name, m_short_description, m_extended_description; + static std::string m_language; // .. additional info - - RESULT parseFrom(Event *evt); +public: +#ifndef SWIG + RESULT parseFrom(Event *evt, int tsidonid=0); + RESULT parseFrom(const std::string filename, int tsidonid=0); + 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; } + 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 &SWIG_OUTPUT, int tagnum) const; + PyObject *getComponentData() const; + 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); +SWIG_EXTEND(ePtr, + static void setEPGLanguage( const std::string language ) + { + extern void setServiceEventLanguage(const std::string language); + setServiceEventLanguage(language); + } +); -TEMPLATE_TYPEDEF(ePtr, eServiceEventPtr); - +#ifndef SWIG +SWIG_IGNORE(eDebugClass); class eDebugClass: public iObject { DECLARE_REF(eDebugClass); @@ -29,7 +85,7 @@ public: eDebugClass(int i) { printf("build debug class %d\n", i); x = i; } ~eDebugClass() { printf("remove debug class %d\n", x); } }; - -// TEMPLATE_TYPEDEF(ePtr, eDebugClassPtr); +SWIG_TEMPLATE_TYPEDEF(ePtr, eDebugClassPtr); +#endif #endif