#ifndef CFICONTROLLER_H #define CFICONTROLLER_H #include #include #include #include "updatecontroller.h" #include "cfiobject.h" class CfiController : public QObject { Q_OBJECT public: explicit CfiController(UpdateController* updateController, QObject *parent = nullptr); ~CfiController(); public: void lockAccessToCfiXML(); void unLockAccessToCfiXML(); //Распарсивание файла CfiList.xml bool parsingCfiXML(QMap& mapCfiObjects); //Слияние (обновление) с новыми данными bool updateCfiXML(const QByteArray& array); //Для теста //void test(); signals: private: Vector3dDouble getXYZfromElement(QDomElement element); Vector2dDouble getXYfromElement(QDomElement element); double roundDoubleVal(double value, int cntNumAfterPoint); bool parsingCfiXML_DOM(QDomDocument& domDoc, QMap& mapCfiObjects); bool merge2map(QMap& mapCfiObjects_orig, QMap& mapCfiObjects_new); bool saveNewCfiListFile(QMap& mapCfiObjects); private: UpdateController* updateController; QMutex mtxAccess; //QList listCfiObjects; QLocale* germanLocale; }; #endif // CFICONTROLLER_H