diff options
author | Dan Goodliffe <dan@randomdan.homeip.net> | 2017-07-30 00:15:33 +0100 |
---|---|---|
committer | Dan Goodliffe <dan@randomdan.homeip.net> | 2017-07-30 00:15:33 +0100 |
commit | add5644f64c86b635b62d560187c993aa7072b76 (patch) | |
tree | 70aaf1ae49ef4f27c4b20809250d5f5d63921d0e /p2pvr/daemon/recordings.cpp | |
parent | Single definition of glibmm (diff) | |
download | p2pvr-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.cpp | 49 |
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); } |