Files
qt5-legatus-legacy/Lts/Services/InfrastructureManagement/object_main_schedule.h
T
2026-08-13 18:33:10 +02:00

59 lines
1.9 KiB
C++
Executable File

/**
* @RDE_HEADER@
* ISM Object Mounting Point Schedule
* $Id$
* $HeadURL$
* $Author$
* Created by Iuliana Ojog, SLSE, 2016-11-26
*/
#pragma once
#include "base.h"
#include <DDS/Core/function_reply_object.h>
#include <InfrastructureManagement/ism_db.h>
//-------------------------------------------------------------------------------------------------------------
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<MountingPointPlan> &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<int, MountingPointPlan> m_mppMap;
};
}