mirror of
https://gitea.msk.dinamika-avia.ru/Constanta-Design/RRJServer.git
synced 2026-03-28 19:55:48 +03:00
48 lines
1.3 KiB
C++
48 lines
1.3 KiB
C++
#ifndef DOCSUPDATER_H
|
|
#define DOCSUPDATER_H
|
|
|
|
#include <QObject>
|
|
#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<SubProc> getListSubProcForDMcode(QString dmCode);
|
|
|
|
bool updateDocsXML();
|
|
|
|
static ModeList parseCanplay(QString canplay);
|
|
static QString buildCanplay(ModeList modeList);
|
|
|
|
private:
|
|
void domElementParserAMM(QDomElement element, Module* moduleParent);
|
|
void deleteAllModulsAMM();
|
|
bool processingScenXML(const QString dmCode, QString& canplay, QList<SubProc>& listSubProc);
|
|
void selectSubProc(QDomElement& modeElement, QList<SubProc>& listSubProc);
|
|
DM* getDMmoduleByDMcode(QString dmCode);
|
|
|
|
private:
|
|
UpdateController* updateController;
|
|
|
|
QMutex mtxAccess;
|
|
|
|
bool flagStop;
|
|
QList<Module*> listAllModulesAMM; //?
|
|
QList<TaskAmmFim> listTasksAMM; //?
|
|
|
|
QMap<QString, DM*> DMmodulesMap; //общий (линейный) словарь всех DM-модулей
|
|
|
|
QMap<QString, QList<SubProc>> listSubProcMap; //словарь подпроцедур для всех DM-модулей
|
|
};
|
|
|
|
#endif // DOCSUPDATER_H
|