/** * Handler for the HMI language * $Id$ * $HeadURL$ * $Author$ */ #include "object_video_team.h" #include "dds_handler.h" #include "logger.h" namespace AudioVideoManagement { //------------------------------------------------------------------------------------------------------------- ObjectVideoTeam::ObjectVideoTeam(Interface::Dts *dts, DatabaseInterface *db) : m_dts(dts) , m_db(db) , m_logger(getLogger("ObjectVideoTeam")) { } //------------------------------------------------------------------------------------------------------------- ObjectVideoTeam::~ObjectVideoTeam() { } //------------------------------------------------------------------------------------------------------------- Core::FunctionReplyObject ObjectVideoTeam::createObject(const VideoTeam &data) { Q_ASSERT(m_data.id <= 0); Q_ASSERT(data.id > 0); // only allow creation from existing db-entries m_data = data; // Publish Data via DTS onPublishData(); return Core::FunctionReplyObject(m_data.id); } //------------------------------------------------------------------------------------------------------------- Core::FunctionReplyObject ObjectVideoTeam::updateObject(const VideoTeam &data) { if (!isValid()) return Core::FunctionReplyObject(data.id, tr_lts("dds", "Object not valid/blocked")); m_data = data; Database::AvmVideoTeam dbData(toDbData(data)); if (!m_db->update(dbData)) return Core::FunctionReplyObject(data.id, tr_lts("dds", "Error updating VideoTeam into database")); DEBUG_LOG(m_logger) << "Data changed for VideoTeam Id: " << data.id; // Publish Data via DTS onPublishData(); return Core::FunctionReplyObject(data.id);} //------------------------------------------------------------------------------------------------------------- void ObjectVideoTeam::onPublishData() { INFO_LOG(m_logger) << "Publish AvmVideoTeam-data to dds (" << m_data.id << ") ..."; if (!m_dts->publish(m_data)) ERROR_LOG(m_logger) << "Error publishing AvmVideoTeam-data to dds"; } //------------------------------------------------------------------------------------------------------------- Database::AvmVideoTeam ObjectVideoTeam::toDbData(const VideoTeam &ddsData) { Database::AvmVideoTeam dbData; dbData.id = ddsData.id; dbData.name = QString::fromStdString(ddsData.name); dbData.ssrc = ddsData.ssrc; dbData.port = ddsData.vtPort; dbData.programId = ddsData.programId; dbData.timeOffset = ddsData.timeOffset; dbData.streamName = QString::fromStdString(ddsData.streamName); dbData.exerciseId = ddsData.exerciseId; return dbData; } //------------------------------------------------------------------------------------------------------------- AudioVideoManagement::VideoTeam ObjectVideoTeam::toDdsData(const Database::AvmVideoTeam &dbData) { AudioVideoManagement::VideoTeam ddsData; ddsData.id = dbData.id; ddsData.name = dbData.name.toStdString(); ddsData.ssrc = dbData.ssrc; ddsData.vtPort = dbData.port; ddsData.programId = dbData.programId; ddsData.timeOffset = dbData.timeOffset; ddsData.exerciseId = dbData.exerciseId; ddsData.streamName = dbData.streamName.toStdString(); return ddsData; } // end of toDdsData() } // Namespace