/** * @RDE_HEADER@ * FlmHandler for UFomHlaJson Plugin * $Id: pdm_handler.h 62304 2024-03-21 08:17:45Z ewert_j $ * $HeadURL: svn://slssvn/TDS/branches/product/features/ufom/Lts/Proxies/TrainingAreaBase/Plugins/UFomHlaJson/pdm_handler.h $ * $Author: ewert_j $ * Created by Julius Ewert, ESIM, 2024-03-20 */ #pragma once #include "logger.h" #include #include #include #include #include #include namespace FileManagement { namespace Interface { class Dtc; } } // namespace FileManagement 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: 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; LOGGER_T m_logger; }; } // namespace AdlerJson