diff options
Diffstat (limited to 'epgsearch.cpp')
-rw-r--r-- | epgsearch.cpp | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/epgsearch.cpp b/epgsearch.cpp index e905bd9..622ef21 100644 --- a/epgsearch.cpp +++ b/epgsearch.cpp @@ -557,10 +557,10 @@ Blacklists::Blacklists() SearchResult::SearchResult( string const& data ) { - vector< string > parts = StringSplit( data, ':' ); - try { - vector< string >::const_iterator part = parts.begin(); - for ( int i = 0; part != parts.end(); ++i, ++part ) { + vector< string > parts = StringSplit( data, ':' ); + try { + vector< string >::const_iterator part = parts.begin(); + for ( int i = 0; part != parts.end(); ++i, ++part ) { switch ( i ) { case 0: m_searchId = lexical_cast< int >( *part ); break; case 1: m_eventId = lexical_cast< u_int32_t >( *part ); break; @@ -580,6 +580,18 @@ SearchResult::SearchResult( string const& data ) } } +const cEvent* SearchResult::GetEvent() +{ + cSchedulesLock schedulesLock; + const cSchedules* Schedules = cSchedules::Schedules(schedulesLock); + if (!Schedules) return NULL; + const cChannel *Channel = GetChannel(); + if (!Channel) return NULL; + const cSchedule *Schedule = Schedules->GetSchedule(Channel); + if (!Schedule) return NULL; + return Schedule->GetEvent(m_eventId); +} + std::set<std::string> SearchResults::querySet; void SearchResults::GetByID(int id) |