/** * 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