Nix (Dev) 3.5.10
dev - 3.5.10 - 1af9301
Loading...
Searching...
No Matches
CLogicFile.hpp
Go to the documentation of this file.
1#ifndef LIBS_LOGIC_CLOGICFILE_HPP_
2#define LIBS_LOGIC_CLOGICFILE_HPP_
3
5#include "logic/structs.hpp"
6
7#include <memory>
8#include <string>
9
11class AbstractLog;
12class IGeneratorGraph;
13class CFormulaLogic;
14
15// TODO: aag. CFormulaLogic está preparada para 'move', pero no CLogicFile ni 'CParamOnLineList'.
16class CLogicFile final
17{
18public:
19 explicit CLogicFile(uint32_t idUnit);
20 explicit CLogicFile(const CLogicFile *logicFile);
21 CLogicFile(std::string_view folderProject, uint32_t idUnit);
23 CLogicFile() = delete;
24 CLogicFile(const CLogicFile &other) = delete;
25 CLogicFile(CLogicFile &&other) = delete;
26 CLogicFile &operator=(const CLogicFile &other) = delete;
27 CLogicFile &operator=(CLogicFile &&other) = delete;
28
29 [[nodiscard]] bool hasFormula() const;
30 [[nodiscard]] const std::string &getLomType() const;
31
32 [[nodiscard]] bool getIsXPFormatFileLed() const;
33
34 void checkIntegrityVersionNumeration(uint32_t idUnit, AbstractLog *logger) const;
35 void checkIntegrityVersionCommentaries(uint32_t idUnit, AbstractLog *logger) const;
36
37 bool generateGraph(IGeneratorGraph *generator) const;
38
40
41 void saveLogicVersion(const char *folderProject, uint32_t idUnit) const;
42
43 void setFormulaLogic(const std::shared_ptr<CFormulaLogic> &formulaLogic);
44 void setIsXPFormatFileLed(bool isXPFormatLogicEditable);
45 std::shared_ptr<CFormulaLogic> getFormulaLogic();
46
47 void removeFormulaLogic();
48
49private:
50 void prvIntegrityLogicFile() const;
51 static std::string prvGetInfoLogicTxtFileName(const std::string &fileName);
52
53 uint32_t m_idUnit;
54
56
57 std::shared_ptr<CFormulaLogic> m_formulaOpt;
58};
59
60#endif /* LIBS_LOGIC_CLOGICFILE_HPP_ */
Definition AbstractComponentGUI.hpp:30
Definition AbstractLog.hpp:9
Definition CFormulaLogic.hpp:16
Definition CLogicFile.hpp:17
void prvIntegrityLogicFile() const
Definition CLogicFile.cpp:177
std::shared_ptr< CFormulaLogic > getFormulaLogic()
Definition CLogicFile.cpp:186
const std::string & getLomType() const
Definition CLogicFile.cpp:80
static std::string prvGetInfoLogicTxtFileName(const std::string &fileName)
Definition CLogicFile.cpp:60
CLogicFile()=delete
bool hasFormula() const
Definition CLogicFile.cpp:72
CLogicFile(const CLogicFile &other)=delete
void removeFormulaLogic()
Definition CLogicFile.cpp:191
CLogicFile & operator=(CLogicFile &&other)=delete
AbstractComponentGUI * panelVersionsLogic() const
Definition CLogicFile.cpp:104
void checkIntegrityVersionCommentaries(uint32_t idUnit, AbstractLog *logger) const
Definition CLogicFile.cpp:154
bool m_isXPFormatFileLed
Definition CLogicFile.hpp:55
CLogicFile & operator=(const CLogicFile &other)=delete
void setFormulaLogic(const std::shared_ptr< CFormulaLogic > &formulaLogic)
Definition CLogicFile.cpp:167
bool getIsXPFormatFileLed() const
Definition CLogicFile.cpp:181
void saveLogicVersion(const char *folderProject, uint32_t idUnit) const
Definition CLogicFile.cpp:122
~CLogicFile()
Definition CLogicFile.cpp:55
bool generateGraph(IGeneratorGraph *generator) const
Definition CLogicFile.cpp:88
uint32_t m_idUnit
Definition CLogicFile.hpp:53
std::shared_ptr< CFormulaLogic > m_formulaOpt
Definition CLogicFile.hpp:57
void setIsXPFormatFileLed(bool isXPFormatLogicEditable)
Definition CLogicFile.cpp:172
void checkIntegrityVersionNumeration(uint32_t idUnit, AbstractLog *logger) const
Definition CLogicFile.cpp:136
CLogicFile(CLogicFile &&other)=delete
Definition IGeneratorGraph.hpp:5