-inline const eventMap* eEPGCache::getEventMap(const eServiceReferenceDVB &service)
-{
- eventCache::iterator It = eventDB.find( service );
- if ( It != eventDB.end() && It->second.first.size() )
- return &(It->second.first);
- else
- return 0;
-}
-
-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;
-}
-
-inline void eEPGCache::readNowNextData( const __u8 *data)
-{
- if ( !data || state == 2 )
- m_NowNextReader->stop();
- else
- sectionRead(data, eEPGCache::NOWNEXT);
-}
-
-inline void eEPGCache::readScheduleData(const __u8 *data)
-{
- if ( !data || state == 2 )
- m_ScheduleReader->stop();
- else
- sectionRead(data, eEPGCache::SCHEDULE);
-}
+#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 lookupEventId(const eServiceReference &service, int event_id, const eit_event_struct *&);
+ RESULT lookupEventTime(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 lookupEventId(const eServiceReference &service, int event_id, Event* &);
+ RESULT lookupEventTime(const eServiceReference &service, time_t, Event* &);
+ RESULT getNextTimeEntry(Event *&);
+#endif