summaryrefslogtreecommitdiff
path: root/epgsearch.cpp
diff options
context:
space:
mode:
authorChristian Wieninger <cwieninger (at) gmx (dot) de>2008-01-13 13:46:22 +0100
committerChristian Wieninger <cwieninger (at) gmx (dot) de>2008-01-13 13:46:22 +0100
commit3be2cb060c30581bd1c59c72a90b0d0c3f79bd45 (patch)
treed2aa801a41a49dc56e1b08dfd82ea04ad3b35e0a /epgsearch.cpp
parent3aebe74569e17712947b3cd1d1aa0d5ae108fca9 (diff)
downloadvdr-plugin-live-3be2cb060c30581bd1c59c72a90b0d0c3f79bd45.tar.gz
vdr-plugin-live-3be2cb060c30581bd1c59c72a90b0d0c3f79bd45.tar.bz2
- code for collecting and displaying EPG events in 'What's on' is now separated
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)