Merge commit 'e8eb8e9694379204' into experimental
[enigma2.git] / lib / service / event.h
index 5d81d8cf38bf797b33d8fe0726b9a4bc385add59..4c354079b772880c6ed99213d8673693c1237b75 100644 (file)
@@ -14,14 +14,16 @@ class Event;
 SWIG_IGNORE(eComponentData);
 struct eComponentData
 {
-DECLARE_REF(eComponentData);
-#ifndef SWIG
+       friend class eServiceEvent;
+       DECLARE_REF(eComponentData);
        uint8_t m_streamContent;
        uint8_t m_componentType;
        uint8_t m_componentTag;
        std::string m_iso639LanguageCode;
        std::string m_text;
-#endif
+public:
+       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; }
@@ -30,6 +32,8 @@ DECLARE_REF(eComponentData);
 };
 SWIG_TEMPLATE_TYPEDEF(ePtr<eComponentData>, eComponentDataPtr);
 
+SWIG_ALLOW_OUTPUT_SIMPLE(eServiceReference);  // needed for SWIG_OUTPUT in eServiceEvent::getLinkageService
+
 SWIG_IGNORE(eServiceEvent);
 class eServiceEvent: public iObject
 {
@@ -57,6 +61,7 @@ public:
        std::string getExtendedDescription() const { return m_extended_description; }
        std::string getBeginTimeString() const;
        SWIG_VOID(RESULT) getComponentData(ePtr<eComponentData> &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;
 };
@@ -64,7 +69,7 @@ SWIG_TEMPLATE_TYPEDEF(ePtr<eServiceEvent>, eServiceEvent);
 SWIG_EXTEND(ePtr<eServiceEvent>,
        static void setEPGLanguage( const std::string language )
        {
-               extern setServiceEventLanguage(const std::string language);
+               extern void setServiceEventLanguage(const std::string language);
                setServiceEventLanguage(language);
        }
 );