summaryrefslogtreecommitdiff
path: root/p2pvr/daemon/recordings.cpp
diff options
context:
space:
mode:
authorDan Goodliffe <dan@randomdan.homeip.net>2017-07-30 00:15:33 +0100
committerDan Goodliffe <dan@randomdan.homeip.net>2017-07-30 00:15:33 +0100
commitadd5644f64c86b635b62d560187c993aa7072b76 (patch)
tree70aaf1ae49ef4f27c4b20809250d5f5d63921d0e /p2pvr/daemon/recordings.cpp
parentSingle definition of glibmm (diff)
downloadp2pvr-add5644f64c86b635b62d560187c993aa7072b76.tar.bz2
p2pvr-add5644f64c86b635b62d560187c993aa7072b76.tar.xz
p2pvr-add5644f64c86b635b62d560187c993aa7072b76.zip
BIG migration from Project2 based to IceTray/Slicer :D
Diffstat (limited to 'p2pvr/daemon/recordings.cpp')
-rw-r--r--p2pvr/daemon/recordings.cpp49
1 files changed, 22 insertions, 27 deletions
diff --git a/p2pvr/daemon/recordings.cpp b/p2pvr/daemon/recordings.cpp
index ac8f27a..7c5125b 100644
--- a/p2pvr/daemon/recordings.cpp
+++ b/p2pvr/daemon/recordings.cpp
@@ -1,50 +1,45 @@
-#include <pch.hpp>
#include "recordings.h"
-#include "resources.h"
#include <Ice/Ice.h>
#include <logger.h>
#include <slicer/slicer.h>
#include <slicer/db/sqlSelectDeserializer.h>
#include <slicer/db/sqlInsertSerializer.h>
+#include <sql/Recordings_delete.sql.h>
+#include <sql/Recordings_getAll.sql.h>
+#include <sql/Recordings_getStorage.sql.h>
-ResourceString(Recording_Delete, sql_Recordings_delete);
-ResourceString(Recording_GetStorage, sql_Recordings_getStorage);
-ResourceString(Recording_GetAll, sql_Recordings_getAll);
+IceTray::Logging::LoggerPtr Recordings::logger(LOGMANAGER()->getLogger<Recordings>());
+
+Recordings::Recordings(IceTray::DatabasePoolPtr db) :
+ IceTray::AbstractDatabaseClient(db)
+{
+}
Ice::Int
Recordings::NewRecording(const P2PVR::RecordingPtr & r, const Ice::Current &)
{
- Logger()->messagebf(LOG_INFO, "%s: Creating new recording %s at %s", __PRETTY_FUNCTION__, r->Guid, r->StorageAddress);
- TxHelper tx(this);
- Store<Slicer::SqlFetchIdInsertSerializer>(r, "recordings");
- Logger()->messagebf(LOG_INFO, "%s: Created recording Id: %d", __PRETTY_FUNCTION__, r->RecordingId);
+ auto dbc = db->get();
+ logger->messagebf(LOG::INFO, "%s: Creating new recording %s at %s", __PRETTY_FUNCTION__, r->Guid, r->StorageAddress);
+ DB::TransactionScope tx(dbc.get());
+ Slicer::SerializeAny<Slicer::SqlFetchIdInsertSerializer>(r, dbc.get(), "recordings");
+ logger->messagebf(LOG::INFO, "%s: Created recording Id: %d", __PRETTY_FUNCTION__, r->RecordingId);
return r->RecordingId;
}
void
-Recordings::DeleteRecording(int id, const Ice::Current & ice)
+Recordings::DeleteRecording(int id, const Ice::Current &)
{
- Logger()->messagebf(LOG_INFO, "%s: Deleting recording Id: %d", __PRETTY_FUNCTION__, id);
- auto ic = ice.adapter->getCommunicator();
- TxHelper tx(this);
- auto recordingStorages = Select(Recording_GetStorage, id);
- while (recordingStorages.second->fetch()) {
- std::string addr = recordingStorages.second / "storageaddress";
- std::string guid = recordingStorages.second / "guid";
- auto storage = P2PVR::StoragePrx::checkedCast(ic->stringToProxy(addr));
- if (storage) {
- storage->Delete(guid);
- Logger()->messagebf(LOG_DEBUG, "%s: Delete %s from StorageAddress %s", __PRETTY_FUNCTION__, guid, addr);
- }
- }
- Modify(Recording_Delete, id).second->execute();
+ auto dbc = db->get();
+ logger->messagebf(LOG::INFO, "%s: Deleting recording Id: %d", __PRETTY_FUNCTION__, id);
+ auto del = P2PVR::sql::Recordings_delete.modify(dbc.get());
+ del->bindParamI(0, id);
+ del->execute();
}
P2PVR::RecordingList
Recordings::GetRecordings(const Ice::Current &)
{
- Logger()->message(LOG_DEBUG, __PRETTY_FUNCTION__);
- return Slicer::DeserializeAny<Slicer::SqlSelectDeserializer, P2PVR::RecordingList>(
- *Select(Recording_GetAll).second);
+ logger->message(LOG::DEBUG, __PRETTY_FUNCTION__);
+ return fetch<P2PVR::RecordingList>(P2PVR::sql::Recordings_getAll);
}