summaryrefslogtreecommitdiff
path: root/epgsearch.cpp
diff options
context:
space:
mode:
authorChristian Wieninger <cwieninger (at) gmx (dot) de>2007-04-24 20:04:53 +0000
committerChristian Wieninger <cwieninger (at) gmx (dot) de>2007-04-24 20:04:53 +0000
commitd4dcdd1b39d3bc749de5df6a3160e2997bef982d (patch)
treefd8979bd85ea6949ef5bc72dc7370ff72977d41d /epgsearch.cpp
parent478fff53434734e68f125a66f443644d740e6610 (diff)
downloadvdr-plugin-live-d4dcdd1b39d3bc749de5df6a3160e2997bef982d.tar.gz
vdr-plugin-live-d4dcdd1b39d3bc749de5df6a3160e2997bef982d.tar.bz2
- added deletion of search timers
Diffstat (limited to 'epgsearch.cpp')
-rw-r--r--epgsearch.cpp44
1 files changed, 32 insertions, 12 deletions
diff --git a/epgsearch.cpp b/epgsearch.cpp
index 8e12e13..9ff5760 100644
--- a/epgsearch.cpp
+++ b/epgsearch.cpp
@@ -284,6 +284,11 @@ string SearchTimer::StopTimeFormatted()
SearchTimers::SearchTimers()
{
+ Reload();
+}
+
+bool SearchTimers::Reload()
+{
Epgsearch_services_v1_0 service;
if ( cPluginManager::CallFirstService("Epgsearch-services-v1.0", &service) == 0 )
throw HtmlError( tr("No searchtimers available") );
@@ -291,7 +296,8 @@ SearchTimers::SearchTimers()
ReadLock channelsLock( Channels, 0 );
list< string > timers = service.handler->SearchTimerList();
m_timers.assign( timers.begin(), timers.end() );
- m_timers.sort();
+ m_timers.sort();
+ return true;
}
bool SearchTimers::Save(SearchTimer* searchtimer)
@@ -300,18 +306,18 @@ bool SearchTimers::Save(SearchTimer* searchtimer)
if ( cPluginManager::CallFirstService("Epgsearch-services-v1.0", &service) == 0 )
throw HtmlError( tr("No searchtimers available") );
- if (!searchtimer) return false;
+ if (!searchtimer) return false;
ReadLock channelsLock( Channels, 0 );
- if (searchtimer->Id() >= 0)
- return service.handler->ModSearchTimer(searchtimer->ToText());
- else
- {
- searchtimer->SetId(0);
- int id = service.handler->AddSearchTimer(searchtimer->ToText());
- if (id >= 0)
- searchtimer->SetId(id);
- return (id >= 0);
- }
+ if (searchtimer->Id() >= 0)
+ return service.handler->ModSearchTimer(searchtimer->ToText());
+ else
+ {
+ searchtimer->SetId(0);
+ int id = service.handler->AddSearchTimer(searchtimer->ToText());
+ if (id >= 0)
+ searchtimer->SetId(id);
+ return (id >= 0);
+ }
}
SearchTimer* SearchTimers::GetByTimerId( std::string const& id )
@@ -331,6 +337,20 @@ bool SearchTimers::ToggleActive(std::string const& id)
return Save(search);
}
+bool SearchTimers::Delete(std::string const& id)
+{
+ SearchTimer* search = GetByTimerId( id );
+ if (!search) return false;
+
+ Epgsearch_services_v1_0 service;
+ if ( cPluginManager::CallFirstService("Epgsearch-services-v1.0", &service) == 0 )
+ throw HtmlError( tr("No searchtimers available") );
+
+ if (service.handler->DelSearchTimer(lexical_cast< int >( id )))
+ return Reload();
+ return false;
+}
+
bool SearchTimer::BlacklistSelected(int id) const
{
for(unsigned int i=0; i<m_blacklistIDs.size(); i++)