Nix (Dev) 3.5.10
dev - 3.5.10 - 1af9301
Loading...
Searching...
No Matches
CFormulaLogic.hpp
Go to the documentation of this file.
1#ifndef LIBS_LOGIC_CFORMULALOGIC_HPP_
2#define LIBS_LOGIC_CFORMULALOGIC_HPP_
3
7#include "logic/structs.hpp"
9#include "model/Revisions.hpp"
11
12#include <memory>
13#include <string>
14
15class CFormulaLogic final
16{
17public:
18 explicit CFormulaLogic(const CFormulaLogic *formulaLogic);
19 CFormulaLogic() = default;
20 CFormulaLogic(const CFormulaLogic &other) = default;
21 CFormulaLogic(CFormulaLogic &&other) = delete;
22 virtual ~CFormulaLogic() = default;
23 CFormulaLogic &operator=(const CFormulaLogic &other) = default;
25
26 [[nodiscard]] const std::string &getLomType() const;
27
28 void checkIntegrityVersionNumeration(const char *name, AbstractLog *logger) const;
29 void checkIntegrityVersionCommentaries(const char *name, AbstractLog *logger) const;
30
31 void generateGraph(IGeneratorGraph *generator) const;
32 [[nodiscard]] const std::vector<iv::logic::formulaLogic::SBlock> &getBlocks();
33 std::vector<iv::logic::formulaLogic::SBlock> *getBlocksPointer();
34 [[nodiscard]] const std::vector<iv::logic::formulaLogic::SGraphicsInfo> &getGraphicsInfo() const;
35 [[nodiscard]] iv::logic::InfoLogicTxt getInfoLogictTxt() const;
36 void setInfoLogicTxtFile(const std::string &file);
37 void setInfoLogicTxt(iv::file::xml::File &fileXml) const;
38
39 void readHistory(std::string_view lomLogicFilePath);
40 void saveHistory(std::string_view lomLogicFilePath) const;
41
43
44 // void processVersions(const char *name, CHistoryVersions *historyVersions);
45
46 void setInfoLogictTxt(const iv::logic::InfoLogicTxt &infoLogic);
47
48 void setLomType(std::string_view lomType);
49 void setInfoLogicTxt(const iv::logic::InfoLogicTxt &infoLogicTxt);
50 void setBlocks(const std::vector<iv::logic::formulaLogic::SBlock> &blocks);
51 void setGraphicsInfo(const std::vector<iv::logic::formulaLogic::SGraphicsInfo> &graphicsInfo);
52 void setListOfLogicChannels(const std::vector<std::weak_ptr<iv::channels::AbstractChannel>> &listOfLogicChannels);
53 [[nodiscard]] const std::vector<std::weak_ptr<iv::channels::AbstractChannel>> &getListOfLogicChannels() const;
54 void setVersionsLogic(const iv::model::Revisions &versionsLogic);
55
56private:
59
60 [[nodiscard]] uint32_t prvNumberOfBlocks(const std::vector<iv::logic::formulaLogic::SBlock> &blocks) const;
61 [[nodiscard]] uint32_t prvNumberOfBlocks() const;
62
63 void prvSortBlocks(std::vector<iv::logic::formulaLogic::SBlock> &blocks);
64
65 void prvGetBlocksToWrite(const std::vector<iv::logic::formulaLogic::SBlock> &blocks,
66 std::vector<iv::logic::formulaLogic::SBlock> &blocksToWrite) const;
67 [[nodiscard]] std::vector<iv::logic::formulaLogic::SBlock> prvGetBlocksToWrite() const;
68
69 std::string m_lomType {};
70
72 std::vector<iv::logic::formulaLogic::SBlock> m_blocks {};
73 std::vector<iv::logic::formulaLogic::SGraphicsInfo> m_graphicsInfo {};
74 std::vector<std::weak_ptr<iv::channels::AbstractChannel>> m_pListOfLogicChannels;// Se mantiene?
76};
77
78#endif /* LIBS_LOGIC_CFORMULALOGIC_HPP_ */
Definition AbstractComponentGUI.hpp:30
Definition AbstractLog.hpp:9
Definition CFormulaLogic.hpp:16
CFormulaLogic(const CFormulaLogic &other)=default
const std::vector< std::weak_ptr< iv::channels::AbstractChannel > > & getListOfLogicChannels() const
Definition CFormulaLogic.cpp:577
const std::string & getLomType() const
Definition CFormulaLogic.cpp:413
void generateGraph(IGeneratorGraph *generator) const
Definition CFormulaLogic.cpp:418
std::vector< iv::logic::formulaLogic::SBlock > m_blocks
Definition CFormulaLogic.hpp:72
iv::logic::InfoLogicTxt getInfoLogictTxt() const
Definition CFormulaLogic.cpp:447
void saveHistory(std::string_view lomLogicFilePath) const
Definition CFormulaLogic.cpp:517
void setBlocks(const std::vector< iv::logic::formulaLogic::SBlock > &blocks)
Definition CFormulaLogic.cpp:554
virtual ~CFormulaLogic()=default
std::string m_lomType
Definition CFormulaLogic.hpp:69
iv::logic::InfoLogicTxt m_infoLogicTxt
Definition CFormulaLogic.hpp:71
CFormulaLogic()=default
void setInfoLogicTxtFile(const std::string &file)
Definition CFormulaLogic.cpp:452
void setInfoLogictTxt(const iv::logic::InfoLogicTxt &infoLogic)
Definition CFormulaLogic.cpp:475
void checkIntegrityVersionNumeration(const char *name, AbstractLog *logger) const
Definition CFormulaLogic.cpp:539
const std::vector< iv::logic::formulaLogic::SGraphicsInfo > & getGraphicsInfo() const
Definition CFormulaLogic.cpp:664
void setLomType(std::string_view lomType)
Definition CFormulaLogic.cpp:549
std::vector< iv::logic::formulaLogic::SBlock > prvGetBlocksToWrite() const
Definition CFormulaLogic.cpp:650
void setInfoLogicTxt(iv::file::xml::File &fileXml) const
Definition CFormulaLogic.cpp:457
CFormulaLogic & operator=(const CFormulaLogic &other)=default
std::vector< std::weak_ptr< iv::channels::AbstractChannel > > m_pListOfLogicChannels
Definition CFormulaLogic.hpp:74
std::vector< iv::logic::formulaLogic::SBlock > * getBlocksPointer()
Definition CFormulaLogic.cpp:659
void checkIntegrityVersionCommentaries(const char *name, AbstractLog *logger) const
Definition CFormulaLogic.cpp:544
uint32_t prvNumberOfBlocks() const
Definition CFormulaLogic.cpp:613
void readHistory(std::string_view lomLogicFilePath)
Definition CFormulaLogic.cpp:480
void prvSortBlocks(std::vector< iv::logic::formulaLogic::SBlock > &blocks)
Definition CFormulaLogic.cpp:618
CFormulaLogic(CFormulaLogic &&other)=delete
void setListOfLogicChannels(const std::vector< std::weak_ptr< iv::channels::AbstractChannel > > &listOfLogicChannels)
Definition CFormulaLogic.cpp:571
CFormulaLogic & operator=(CFormulaLogic &&other)=delete
void setGraphicsInfo(const std::vector< iv::logic::formulaLogic::SGraphicsInfo > &graphicsInfo)
Definition CFormulaLogic.cpp:566
const std::vector< iv::logic::formulaLogic::SBlock > & getBlocks()
Definition CFormulaLogic.cpp:441
AbstractComponentGUI * panelVersionsLogic()
Definition CFormulaLogic.cpp:528
std::vector< iv::logic::formulaLogic::SGraphicsInfo > m_graphicsInfo
Definition CFormulaLogic.hpp:73
static bool prvSortByNumBlockOrder(const iv::logic::formulaLogic::SBlock &blockA, const iv::logic::formulaLogic::SBlock &blockB)
Definition CFormulaLogic.cpp:587
iv::model::Revisions m_versionsLogic
Definition CFormulaLogic.hpp:75
void setVersionsLogic(const iv::model::Revisions &versionsLogic)
Definition CFormulaLogic.cpp:582
Definition IGeneratorGraph.hpp:5
Definition xmlFile.hpp:128
Definition structs.hpp:43
Definition structs.hpp:81
Definition Revisions.hpp:15