diff options
Diffstat (limited to 'p2pvr/daemon/schedules.cpp')
-rw-r--r-- | p2pvr/daemon/schedules.cpp | 36 |
1 files changed, 18 insertions, 18 deletions
diff --git a/p2pvr/daemon/schedules.cpp b/p2pvr/daemon/schedules.cpp index 40d7863..90a42a9 100644 --- a/p2pvr/daemon/schedules.cpp +++ b/p2pvr/daemon/schedules.cpp @@ -11,15 +11,13 @@ #include "resources.h" #include <boost/date_time/posix_time/posix_time.hpp> #include <factory.impl.h> -#include "sqlSelectDeserializer.h" -#include <slicer/slicer.h> +#include <slicer/db/sqlSelectDeserializer.h> +#include <slicer/db/sqlInsertSerializer.h> +#include <slicer/db/sqlUpdateSerializer.h> #include <p2pvr-int.h> #include <privateExecContext.h> ResourceString(Schedules_getCandidates, sql_Schedules_getCandidates); -ResourceString(Schedules_insert, sql_Schedules_insert); -ResourceString(Schedules_insertNewId, sql_Schedules_insertNewId); -ResourceString(Schedules_update, sql_Schedules_update); ResourceString(Schedules_delete, sql_Schedules_delete); ResourceString(Schedules_selectAll, sql_Schedules_selectAll); ResourceString(Schedules_selectById, sql_Schedules_selectById); @@ -193,7 +191,7 @@ Schedules::DoReschedule(const Ice::Current & ice) unsigned int tunerCount = devs->TunerCount(); // Load list from database - auto episodes = Slicer::DeserializeAny<SqlSelectDeserializer, P2PVR::ScheduleCandidates>( + auto episodes = Slicer::DeserializeAny<Slicer::SqlSelectDeserializer, P2PVR::ScheduleCandidates>( *Select(Schedules_getCandidates).second); Episodes scheduleList; @@ -309,7 +307,7 @@ P2PVR::ScheduleList Schedules::GetSchedules(const Ice::Current &) { Logger()->message(LOG_DEBUG, __PRETTY_FUNCTION__); - return Slicer::DeserializeAny<SqlSelectDeserializer, P2PVR::ScheduleList>( + return Slicer::DeserializeAny<Slicer::SqlSelectDeserializer, P2PVR::ScheduleList>( *Select(Schedules_selectAll).second); } @@ -317,7 +315,7 @@ P2PVR::SchedulePtr Schedules::GetSchedule(int id, const Ice::Current &) { Logger()->messagebf(LOG_DEBUG, "%s(%d)", __PRETTY_FUNCTION__, id); - auto schedules = Slicer::DeserializeAny<SqlSelectDeserializer, P2PVR::ScheduleList>( + auto schedules = Slicer::DeserializeAny<Slicer::SqlSelectDeserializer, P2PVR::ScheduleList>( *Select(Schedules_selectById, id).second); if (schedules.empty()) throw P2PVR::NotFound(); return schedules.front(); @@ -327,24 +325,26 @@ P2PVR::ScheduledToRecordList Schedules::GetScheduledToRecord(const Ice::Current &) { Logger()->message(LOG_DEBUG, __PRETTY_FUNCTION__); - return Slicer::DeserializeAny<SqlSelectDeserializer, P2PVR::ScheduledToRecordList>( + return Slicer::DeserializeAny<Slicer::SqlSelectDeserializer, P2PVR::ScheduledToRecordList>( *Select(Schedules_scheduledToRecord).second); } -int -Schedules::UpdateSchedule(const P2PVR::SchedulePtr & s, const Ice::Current & ice) +Ice::Int +Schedules::NewSchedule(const P2PVR::SchedulePtr & s, const Ice::Current & ice) { TxHelper tx(this); - if (s->ScheduleId == 0) { - Modify(Schedules_insert, s->ServiceId, s->EventUid, s->Title, s->Search, s->Priority, s->Early, s->Late, s->Repeats).second->execute(); - s->ScheduleId = SelectScalar<int>(Schedules_insertNewId); - } - else { - Modify(Schedules_update, s->ServiceId, s->EventUid, s->Title, s->Search, s->Priority, s->Early, s->Late, s->Repeats, s->ScheduleId).second->execute(); - } + Store<Slicer::SqlFetchIdInsertSerializer>(s, "schedules"); DoReschedule(ice); return s->ScheduleId; } +void +Schedules::UpdateSchedule(const P2PVR::SchedulePtr & s, const Ice::Current & ice) +{ + TxHelper tx(this); + Store<Slicer::SqlUpdateSerializer>(s, "schedules"); + DoReschedule(ice); +} + INSTANTIATEFACTORY(EpisodeGroup, const Episodes &); |