-inline const timeMap* eEPGCache::getTimeMap(const eServiceReferenceDVB &service)
-{
- eventCache::iterator It = eventDB.find( service );
- if ( It != eventDB.end() && It->second.second.size() )
- return &(It->second.second);
- else
- return 0;
-}
+#ifndef SWIG
+ // eit_event_struct's are plain dvb eit_events .. it's not safe to use them after cache unlock
+ // its not allowed to delete this pointers via delete or free..
+ RESULT lookupEvent(const eServiceReference &service, int event_id, const eit_event_struct *&);
+ RESULT lookupEvent(const eServiceReference &service, time_t , const eit_event_struct *&);
+ RESULT getNextTimeEntry(const eit_event_struct *&);
+
+ // Event's are parsed epg events.. it's safe to use them after cache unlock
+ // after use this Events must be deleted (memleaks)
+ RESULT lookupEvent(const eServiceReference &service, int event_id, Event* &);
+ RESULT lookupEvent(const eServiceReference &service, time_t, Event* &);
+ RESULT getNextTimeEntry(Event *&);
+#endif
+
+ // eServiceEvent are parsed epg events.. it's safe to use them after cache unlock
+ // for use from python ( members: m_start_time, m_duration, m_short_description, m_extended_description )
+ RESULT lookupEvent(const eServiceReference &service, int event_id, ePtr<eServiceEvent> &);
+ RESULT lookupEvent(const eServiceReference &service, time_t, ePtr<eServiceEvent> &);
+ RESULT getNextTimeEntry(ePtr<eServiceEvent> &);
+};