63 lines
1.3 KiB
C++
Executable File
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;
|
|
};
|
|
}
|