diff options
Diffstat (limited to 'p2pvr/daemon/schedules.cpp')
-rw-r--r-- | p2pvr/daemon/schedules.cpp | 53 |
1 files changed, 27 insertions, 26 deletions
diff --git a/p2pvr/daemon/schedules.cpp b/p2pvr/daemon/schedules.cpp index d948603..273aa38 100644 --- a/p2pvr/daemon/schedules.cpp +++ b/p2pvr/daemon/schedules.cpp @@ -1,7 +1,7 @@ #include "schedules.h" #include <logger.h> #include <Ice/Ice.h> -#include "commonHelpers.h" +#include "chronoHelpers.h" #include <boost/date_time/posix_time/posix_time.hpp> #include <factory.impl.h> #include <slicer/db/sqlSelectDeserializer.h> @@ -18,6 +18,7 @@ #include "sql/schedules/scheduledToRecord.sql.h" namespace po = boost::program_options; +using namespace IceTray::Logging; namespace P2PVR { IceTray::Logging::LoggerPtr SchedulesI::logger(LOGMANAGER()->getLogger<SchedulesI>()); @@ -164,7 +165,7 @@ EpisodeGroup::SuggestWithFeedback(const Showings & showings) } } -SchedulesI::SchedulesI(IceTray::DatabasePoolPtr db) : +SchedulesI::SchedulesI(DB::ConnectionPoolPtr db) : IceTray::AbstractDatabaseClient(db) { } @@ -178,7 +179,7 @@ SchedulesI::GetEpisodeIntersects(Episodes & all, Episodes & grouped) for (const auto & gs : ge->showings) { for (const auto & as : ae->showings) { if (gs->period.intersects(as->period)) { - logger->messagebf(LOG::DEBUG, " added %s", ae->what); + logger->messagebf(LogLevel::DEBUG, " added %s", ae->what); grouped.push_back(ae); all.erase(aei); GetEpisodeIntersects(all, grouped); @@ -194,7 +195,7 @@ void SchedulesI::DoReschedule(const Ice::Current & ice) { auto ic = ice.adapter->getCommunicator(); - auto devs = P2PVR::TunersPrx::checkedCast(ice.adapter->createProxy(ic->stringToIdentity("Devices"))); + auto devs = Ice::checkedCast<P2PVR::TunersPrx>(ice.adapter->createProxy(Ice::stringToIdentity("Devices"))); unsigned int tunerCount = devs->TunerCount(); // Load list from database @@ -206,18 +207,18 @@ SchedulesI::DoReschedule(const Ice::Current & ice) int minPriority = 0; for (const auto & c : episodes) { if (!cur || cur->what != c->What) { - cur = new Episode(c->What); + cur = std::make_shared<Episode>(c->What); scheduleList.push_back(cur); } - ShowingPtr s = new Showing(c->EventUid, c->TransportStreamId, c->ScheduleId, + ShowingPtr s = std::make_shared<Showing>(c->EventUid, c->TransportStreamId, c->ScheduleId, *c->StartTime, *c->StopTime, c->Priority, cur.get()); minPriority = std::min(minPriority, s->priority); cur->showings.push_back(s); allShowings.push_back(s); } - logger->messagebf(LOG::DEBUG, "%d episodes created, %s showings", scheduleList.size(), allShowings.size()); + logger->messagebf(LogLevel::DEBUG, "%d episodes created, %s showings", scheduleList.size(), allShowings.size()); for (const auto & e : scheduleList) { - logger->messagebf(LOG::DEBUG, " %s", e->what); + logger->messagebf(LogLevel::DEBUG, " %s", e->what); for (const auto & s : e->showings) { s->priority += 1 - minPriority; e->priority += s->priority; @@ -229,7 +230,7 @@ SchedulesI::DoReschedule(const Ice::Current & ice) // Solve while (!scheduleList.empty()) { auto work = scheduleList.begin(); - logger->messagebf(LOG::DEBUG, "start %s", (*work)->what); + logger->messagebf(LogLevel::DEBUG, "start %s", (*work)->what); Episodes group; group.push_back(*work); scheduleList.erase(work); @@ -240,15 +241,15 @@ SchedulesI::DoReschedule(const Ice::Current & ice) return a->what < b->what; }); - logger->messagebf(LOG::DEBUG, "group created with %d episodes", group.size()); + logger->messagebf(LogLevel::DEBUG, "group created with %d episodes", group.size()); double total = 1; // Measure and add the optional to not record for (const auto & e : group) { - logger->messagebf(LOG::DEBUG, " %d * %d:%s", e->showings.size(), e->priority, e->what); + logger->messagebf(LogLevel::DEBUG, " %d * %d:%s", e->showings.size(), e->priority, e->what); e->showings.push_back(NULL); total *= e->showings.size(); } - logger->messagebf(LOG::DEBUG, "group complexity of %d options", total); + logger->messagebf(LogLevel::DEBUG, "group complexity of %d options", total); EpisodeGroupPtr sched = EpisodeGroupPtr(EpisodeGroupFactory::createNew(options->SchedulerAlgorithm, group)); sched->tuners = tunerCount; @@ -258,17 +259,17 @@ SchedulesI::DoReschedule(const Ice::Current & ice) } for (const auto & c : group) { - logger->messagebf(LOG::DEBUG, "Episode %s, %d options", c->what, c->showings.size()); + logger->messagebf(LogLevel::DEBUG, "Episode %s, %d options", c->what, c->showings.size()); for (const auto & i : c->showings) { if (selected.find(i) != selected.end()) { - logger->messagebf(LOG::DEBUG, " %s - %s (%d) <-", i->startTime, i->stopTime, i->transportStreamId); + logger->messagebf(LogLevel::DEBUG, " %s - %s (%d) <-", i->startTime, i->stopTime, i->transportStreamId); } else if (i) { - logger->messagebf(LOG::DEBUG, " %s - %s (%d)", i->startTime, i->stopTime, i->transportStreamId); + logger->messagebf(LogLevel::DEBUG, " %s - %s (%d)", i->startTime, i->stopTime, i->transportStreamId); } } } - logger->message(LOG::DEBUG, "----------"); + logger->message(LogLevel::DEBUG, "----------"); for (const auto & c : group) { bool found = false; for (const auto & i : c->showings) { @@ -279,22 +280,22 @@ SchedulesI::DoReschedule(const Ice::Current & ice) } for (const auto & i : c->showings) { if (i) { - records.push_back(new P2PVR::ScheduledToRecord(i->eventUid, + records.push_back(std::make_shared<P2PVR::ScheduledToRecord>(i->eventUid, found ? - selected.find(i) != selected.end() ? P2PVR::WillRecordThisShowing : P2PVR::WillRecordOtherShowing : - P2PVR::CannotRecordAnyShowing, i->scheduleId)); + selected.find(i) != selected.end() ? RecordStatuses::WillRecordThisShowing : RecordStatuses::WillRecordOtherShowing : + RecordStatuses::CannotRecordAnyShowing, i->scheduleId)); } } } } auto dbc = db->get(); - DB::TransactionScope tx(dbc.get()); + DB::TransactionScope tx(*dbc.get()); DB::TablePatch mergeRecords; mergeRecords.dest = "record"; Slicer::SerializeAny<Slicer::SqlTablePatchSerializer>(records, dbc.get(), mergeRecords); - auto recorder = P2PVR::RecorderPrx::checkedCast(ice.adapter->createProxy(ice.adapter->getCommunicator()->stringToIdentity("Recorder"))); + auto recorder = Ice::checkedCast<RecorderPrx>(ice.adapter->createProxy(Ice::stringToIdentity("Recorder"))); recorder->RefreshSchedules(); } @@ -311,14 +312,14 @@ SchedulesI::DeleteSchedule(int id, const Ice::Current & ice) P2PVR::ScheduleList SchedulesI::GetSchedules(const Ice::Current &) { - logger->message(LOG::DEBUG, __PRETTY_FUNCTION__); + logger->message(LogLevel::DEBUG, __PRETTY_FUNCTION__); return fetch<P2PVR::ScheduleList>(P2PVR::sql::schedules::selectAll); } P2PVR::SchedulePtr SchedulesI::GetSchedule(int id, const Ice::Current &) { - logger->messagebf(LOG::DEBUG, "%s(%d)", __PRETTY_FUNCTION__, id); + logger->messagebf(LogLevel::DEBUG, "%s(%d)", __PRETTY_FUNCTION__, id); auto schedules = fetch<P2PVR::ScheduleList>(P2PVR::sql::schedules::selectById, id); if (schedules.empty()) throw P2PVR::NotFound(); return schedules.front(); @@ -327,12 +328,12 @@ SchedulesI::GetSchedule(int id, const Ice::Current &) P2PVR::ScheduledToRecordList SchedulesI::GetScheduledToRecord(const Ice::Current &) { - logger->message(LOG::DEBUG, __PRETTY_FUNCTION__); + logger->message(LogLevel::DEBUG, __PRETTY_FUNCTION__); return fetch<P2PVR::ScheduledToRecordList>(P2PVR::sql::schedules::scheduledToRecord); } Ice::Int -SchedulesI::NewSchedule(const P2PVR::SchedulePtr & s, const Ice::Current & ice) +SchedulesI::NewSchedule(const P2PVR::SchedulePtr s, const Ice::Current & ice) { auto dbc = db->get(); Slicer::SerializeAny<Slicer::SqlFetchIdInsertSerializer>(s, dbc.get(), "schedules"); @@ -341,7 +342,7 @@ SchedulesI::NewSchedule(const P2PVR::SchedulePtr & s, const Ice::Current & ice) } void -SchedulesI::UpdateSchedule(const P2PVR::SchedulePtr & s, const Ice::Current & ice) +SchedulesI::UpdateSchedule(const P2PVR::SchedulePtr s, const Ice::Current & ice) { auto dbc = db->get(); Slicer::SerializeAny<Slicer::SqlUpdateSerializer>(s, dbc.get(), "schedules"); |