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

63 lines
1.3 KiB
C++
Executable File

/**
* @RDE_HEADER@
* Object folder
* $Id$
* $HeadURL$
* $Author$
* Created by Iuliana Ojog, SLSE, 2017-04-03
*/
#pragma once
#include "base.h"
#include <DDS/Core/function_reply_object.h>
// Generated
#include <FileManagement/flm_db.h>
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<int32_t> 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;
};
}