summaryrefslogtreecommitdiff
path: root/p2pvr/daemon/schedules.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'p2pvr/daemon/schedules.cpp')
-rw-r--r--p2pvr/daemon/schedules.cpp53
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");