-inline RESULT eEPGCache::lookupEvent(const eServiceReferenceDVB &service, time_t t, Event *& result )
-{
- const eventData *data=0;
- RESULT ret = lookupEvent(service, t, data);
- if ( !ret && data )
- result = new Event((uint8_t*)data->get());
- return ret;
-}
-
-inline RESULT eEPGCache::lookupEvent(const eServiceReferenceDVB &service, int event_id, Event *& result)
-{
- const eventData *data=0;
- RESULT ret = lookupEvent(service, event_id, data);
- if ( !ret && data )
- result = new Event((uint8_t*)data->get());
- return ret;
-}
-
-inline RESULT eEPGCache::getEventMap(const eServiceReferenceDVB &service, const eventMap *& result)
-{
- eventCache::iterator It = eventDB.find( service );
- if ( It != eventDB.end() && It->second.first.size() )
- {
- result=&(It->second.first);
- return 0;
- }
- else
- result=0;
- return -1;
-}
+ // 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* &, int direction=0);
+ RESULT getNextTimeEntry(Event *&);
+#endif
+ enum {
+ SIMILAR_BROADCASTINGS_SEARCH,
+ EXAKT_TITLE_SEARCH,
+ PARTIAL_TITLE_SEARCH
+ };
+ enum {
+ CASE_CHECK,
+ NO_CASE_CHECK
+ };
+ PyObject *lookupEvent(PyObject *list, PyObject *convertFunc=NULL);
+ PyObject *search(PyObject *);