/** * Handle incoming Function Topic Requests (and send them to SFM) * $Id$ * $HeadURL$ * $Author$ * Created by Philipp Dassow, NLST, 2018-01-23 */ #pragma once #include #include #include "logger.h" #include "send_to_tab.h" namespace TrainingAreaBaseOC { class MainHandler; class RecvFromDdsFts final : protected Interface::Fts::DemandCyclicPositionsRequestHandler , protected Interface::Fts::DemandSfmSelfTestRequestHandler , protected Interface::Fts::SendTechnicalStateOcRequestHandler , protected TrainingAreaBase::Interface::Fts::SendOcDataRequestHandler , protected TrainingAreaBase::Interface::Fts::SendFireSmokeMarkerDataRequestHandler { public: explicit RecvFromDdsFts(MainHandler *mainHandler); void onDemandCyclicPositionsRequest(const rti::core::SampleIdentity &cookie, const DemandCyclicPositionsRequest &request) override; void onDemandSfmSelfTestRequest(const rti::core::SampleIdentity &cookie, const DemandSfmSelfTestRequest &request) override; void onSendTechnicalStateOcRequest(const rti::core::SampleIdentity &cookie, const SendTechnicalStateOcRequest &request) override; void onSendOcDataRequest(const rti::core::SampleIdentity &cookie, const TrainingAreaBase::SendOcDataRequest &request) override; void onSendFireSmokeMarkerDataRequest(const rti::core::SampleIdentity &cookie, const TrainingAreaBase::SendFireSmokeMarkerDataRequest &request) override; private: static Core::FunctionReplyObject fillFro(bool bSuccess); private: std::shared_ptr m_ftsTaboc; std::shared_ptr m_ftsTab; std::shared_ptr m_txCallback; LOGGER_T m_logger; }; } // namespace TrainingAreaBaseOC