From 01d8689f9260fb063de7712681b243fb48ef513a Mon Sep 17 00:00:00 2001 From: Christian Wieninger Date: Thu, 28 Feb 2008 20:29:47 +0100 Subject: changes for new service interface version in epgsearch --- timerconflict.cpp | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) (limited to 'timerconflict.cpp') diff --git a/timerconflict.cpp b/timerconflict.cpp index 4943d54..99005d4 100644 --- a/timerconflict.cpp +++ b/timerconflict.cpp @@ -17,7 +17,7 @@ namespace vdrlive { using namespace std; - static char ServiceInterface[] = "Epgsearch-services-v1.0"; + static char ServiceInterface[] = "Epgsearch-services-v1.1"; bool operator<( TimerConflict const& left, TimerConflict const& right ) { @@ -68,21 +68,28 @@ namespace vdrlive { TimerConflicts::TimerConflicts() { - Epgsearch_services_v1_0 service; + Epgsearch_services_v1_1 service; if ( !CheckEpgsearchVersion() || cPluginManager::CallFirstService(ServiceInterface, &service) == 0 ) throw HtmlError( tr("EPGSearch version outdated! Please update.") ); - - list< string > conflicts = service.handler->TimerConflictList(); - m_conflicts.assign( conflicts.begin(), conflicts.end() ); - m_conflicts.sort(); + cServiceHandler_v1_1* handler = dynamic_cast(service.handler.get()); + if (handler) + { + list< string > conflicts = service.handler->TimerConflictList(); + m_conflicts.assign( conflicts.begin(), conflicts.end() ); + m_conflicts.sort(); + } } bool TimerConflicts::CheckAdvised() { - Epgsearch_services_v1_0 service; + Epgsearch_services_v1_1 service; if ( !CheckEpgsearchVersion() || cPluginManager::CallFirstService(ServiceInterface, &service) == 0 ) throw HtmlError( tr("EPGSearch version outdated! Please update.") ); - return service.handler->IsConflictCheckAdvised(); + cServiceHandler_v1_1* handler = dynamic_cast(service.handler.get()); + if (!handler) + return false; + else + return handler->IsConflictCheckAdvised(); } TimerConflictNotifier::TimerConflictNotifier() -- cgit v1.2.3 From ae21d7d32eff88f3384887ebcd8341039681b223 Mon Sep 17 00:00:00 2001 From: Christian Wieninger Date: Thu, 28 Feb 2008 22:47:08 +0100 Subject: removed throw in timer conflict check if epgsearch is too old --- timerconflict.cpp | 30 +++++++++++++++++------------- 1 file changed, 17 insertions(+), 13 deletions(-) (limited to 'timerconflict.cpp') diff --git a/timerconflict.cpp b/timerconflict.cpp index 99005d4..01f473a 100644 --- a/timerconflict.cpp +++ b/timerconflict.cpp @@ -69,27 +69,31 @@ namespace vdrlive { TimerConflicts::TimerConflicts() { Epgsearch_services_v1_1 service; - if ( !CheckEpgsearchVersion() || cPluginManager::CallFirstService(ServiceInterface, &service) == 0 ) - throw HtmlError( tr("EPGSearch version outdated! Please update.") ); - cServiceHandler_v1_1* handler = dynamic_cast(service.handler.get()); - if (handler) + if ( CheckEpgsearchVersion() && cPluginManager::CallFirstService(ServiceInterface, &service)) { - list< string > conflicts = service.handler->TimerConflictList(); - m_conflicts.assign( conflicts.begin(), conflicts.end() ); - m_conflicts.sort(); + cServiceHandler_v1_1* handler = dynamic_cast(service.handler.get()); + if (handler) + { + list< string > conflicts = service.handler->TimerConflictList(); + m_conflicts.assign( conflicts.begin(), conflicts.end() ); + m_conflicts.sort(); + } } } bool TimerConflicts::CheckAdvised() { Epgsearch_services_v1_1 service; - if ( !CheckEpgsearchVersion() || cPluginManager::CallFirstService(ServiceInterface, &service) == 0 ) - throw HtmlError( tr("EPGSearch version outdated! Please update.") ); - cServiceHandler_v1_1* handler = dynamic_cast(service.handler.get()); - if (!handler) + if (CheckEpgsearchVersion() && cPluginManager::CallFirstService(ServiceInterface, &service)) + { + cServiceHandler_v1_1* handler = dynamic_cast(service.handler.get()); + if (!handler) + return false; + else + return handler->IsConflictCheckAdvised(); + } + else return false; - else - return handler->IsConflictCheckAdvised(); } TimerConflictNotifier::TimerConflictNotifier() -- cgit v1.2.3