#ifndef DOCSUPDATER_H #define DOCSUPDATER_H #include #include "updatecontroller.h" #include "module.h" class DocsUpdater : public QObject { Q_OBJECT public: DocsUpdater(UpdateController* updateController, QObject *parent = nullptr); ~DocsUpdater(); public: void lockAccessToDocsXML(); void unLockAccessToDocsXML(); QList getListSubProcForDMcode(QString dmCode); public slots: bool slot_updateDocsXML(); private: void domElementParserAMM(QDomElement element, Module* moduleParent); void deleteAllModulsAMM(); bool processingScenXML(const QString dmCode, QString& canplay, QList& listSubProc); void selectSubProc(QDomElement& modeElement, QList& listSubProc); DM* getDMmoduleByDMcode(QString dmCode); signals: void signal_DocsChanged(); private: UpdateController* updateController; QMutex mtxAccess; bool flagStop; QList listAllModulesAMM; //? QList listTasksAMM; //? QMap DMmodulesMap; //общий (линейный) словарь всех DM-модулей QMap> listSubProcMap; //словарь подпроцедур для всех DM-модулей }; #endif // DOCSUPDATER_H