/** * @RDE_HEADER@ * ISM Object Mounting Point Schedule * $Id$ * $HeadURL$ * $Author$ * Created by Iuliana Ojog, SLSE, 2016-11-26 */ #pragma once #include "base.h" #include #include //------------------------------------------------------------------------------------------------------------- namespace InfrastructureManagement { class ObjectMainSchedule : public Base { public: explicit ObjectMainSchedule(MainHandler *mainHandler); ~ObjectMainSchedule(); Core::FunctionReplyObject createObject(const MainSchedule &data); Core::FunctionReplyObject updateObject(const MainSchedule &data); Core::FunctionReplyObject removeObject(); Core::FunctionReplyObject copyObject(qint32 scheduleId); qint32 getId() const { return m_data.id(); } MainSchedule getData() const { return m_data; } QString getName() const { return QString::fromStdString(m_data.name()); } ScheduleStatus scheduleStatus() const { return m_data.statusId(); } Core::FunctionReplyObject updateElements(const std::vector &newElements); bool isValid() const; bool isUsed() const; Core::FunctionReplyObject setUsed(bool isUsed); // convert methods static Database::IsmMountingPointPlan toDbData(int scheduleId, const MountingPointPlan &ddsData); // dds -> db static MountingPointPlan toDdsData(const Database::IsmMountingPointPlan &dbData); // db -> dds static Database::IsmMountingPointSchedule toDbData(const MainSchedule &ddsData); // dds -> db static MainSchedule toDdsData(const Database::IsmMountingPointSchedule &dbData); // db -> dds bool loadMountingPointPlans(); private: // Used by ScheduleStatusManager (only internal) bool setScheduleStatus(const ScheduleStatus &status); private: MainSchedule m_data; QHash m_mppMap; }; }