/** * @RDE_HEADER@ * Object folder * $Id$ * $HeadURL$ * $Author$ * Created by Iuliana Ojog, SLSE, 2017-04-03 */ #pragma once #include "base.h" #include // Generated #include namespace FileManagement { class Folder; class ObjectFolder : public Base { public: explicit ObjectFolder(MainHandler *mainHandler); ~ObjectFolder(); Core::FunctionReplyObject createObject(const Folder &data); Core::FunctionReplyObject updateObject(const Folder &data); Core::FunctionReplyObject removeObject(); qint32 getId() const { return m_data.id(); } Folder getData() const { return m_data; } QString getName() const { return QString::fromStdString(m_data.name()); } std::vector getPath() const { return m_data.path(); } qint32 getParentId() const { return m_data.path().size() > 1 ? m_data.path().at(m_data.path().size() - 2) : 0; } bool pathContains(const int32_t &val) const { for (auto i : m_data.path()) if (i == val) return true; return false; } bool isValid() const; bool isUsed() const; Core::FunctionReplyObject setUsed(bool isUsed); // convert methods static Database::FlmFolder toDbData(const Folder &ddsData); // dds -> db void onPublishData(); private: Folder m_data; }; }