summaryrefslogtreecommitdiff
path: root/epgsearch.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'epgsearch.cpp')
-rw-r--r--epgsearch.cpp20
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)