Fix for bug #2068 - removing or rescheduling a playlist will still play the playlist because the scheduler is not signalled.

This commit is contained in:
paul 2006-12-01 17:26:32 +00:00
parent 426b40f2ce
commit b5abe48ea6
2 changed files with 10 additions and 1 deletions

View File

@ -44,6 +44,7 @@
#include "ScheduleInterface.h" #include "ScheduleInterface.h"
#include "ScheduleFactory.h" #include "ScheduleFactory.h"
#include "SchedulerDaemon.h"
#include "LiveSupport/Core/XmlRpcTools.h" #include "LiveSupport/Core/XmlRpcTools.h"
#include "RemoveFromScheduleMethod.h" #include "RemoveFromScheduleMethod.h"
@ -135,7 +136,10 @@ RemoveFromScheduleMethod :: execute(XmlRpc::XmlRpcValue & rootParameter,
return; return;
} }
schedule->removeFromSchedule(entryId); schedule->removeFromSchedule(entryId);
// tell the scheduler daemon to reload the scheduled events
Ptr<SchedulerDaemon>::Ref scheduler = SchedulerDaemon::getInstance();
scheduler->update();
} catch (std::invalid_argument &e) { } catch (std::invalid_argument &e) {
XmlRpcTools::markError(errorId+3, "schedule entry not found", XmlRpcTools::markError(errorId+3, "schedule entry not found",
returnValue); returnValue);

View File

@ -44,6 +44,7 @@
#include "ScheduleInterface.h" #include "ScheduleInterface.h"
#include "ScheduleFactory.h" #include "ScheduleFactory.h"
#include "SchedulerDaemon.h"
#include "LiveSupport/Core/XmlRpcTools.h" #include "LiveSupport/Core/XmlRpcTools.h"
#include "RescheduleMethod.h" #include "RescheduleMethod.h"
@ -153,6 +154,10 @@ RescheduleMethod :: execute(XmlRpc::XmlRpcValue & rootParameter,
} }
try { try {
schedule->reschedule(entryId, playschedule); schedule->reschedule(entryId, playschedule);
// tell the scheduler daemon to reload the scheduled events
Ptr<SchedulerDaemon>::Ref scheduler = SchedulerDaemon::getInstance();
scheduler->update();
} catch (std::invalid_argument &e) { } catch (std::invalid_argument &e) {
XmlRpcTools::markError(errorId+5, e.what(), XmlRpcTools::markError(errorId+5, e.what(),
returnValue); returnValue);