#pragma once #include "logger.h" #include #include #include #include #include #include namespace FileManagement { namespace Interface { class Dtc; } } namespace AdlerJson { class MainDispatcher; class FlmHandler : public QObject , protected FileManagement::Interface::Ftc::FileContentModifyReplyHandler , protected FileManagement::Interface::Ftc::PathCreateReplyHandler , protected NotificationManagement::Interface::Ftc::CreateNotificationReplyHandler { Q_OBJECT public: explicit FlmHandler(QObject *parent = nullptr); bool processHQMessage(int partyId, const QString &name, int meldungsnummer, const QJsonObject &obj); void createHQNotification(const int partyId, const int folderId, const int fileId); signals: public slots: bool init(MainDispatcher *mainDispatcher); void initHQFolders(int partyId); private: void onFileContentModifyReply(const Core::FunctionReplyObject &reply) override; void onPathCreateReply(const Core::FunctionReplyObject &reply) override; void onCreateNotificationReply(const Core::FunctionReplyObject &replyObject) override final; bool parseContent(const QString &contentString, QMap &retMap); private: NGL::INGLLogger &m_logger; MainDispatcher *m_mainDispatcher = nullptr; int m_exerciseId; int m_parentFolderId; int m_partyId; int m_folderHXMessagesId; std::shared_ptr m_dtcFlm; std::shared_ptr m_ftcFlm; std::shared_ptr m_ftcNom; std::shared_ptr m_opmDtc; }; }