#pragma once #include #include #include #include #include #include #include #include #include namespace NGL { class INGLLogger; } class FunctionTopicTests : public QObject { Q_OBJECT public: FunctionTopicTests(); private Q_SLOTS: void initTestCase(); void initFTSTestCase(); void initFTCTestCase(); void requestTestCase1(); void requestTestCase2(); void cleanupTestCase(); Q_SIGNALS: void functionTopicRequestFinished(); void functionTopicReply(); protected Q_SLOTS: void slotRequestedData(const DdsUnitTests::FunctionTopicTestReply& reply, int seqNo, bool bFinished); void slotRequestedData(const DdsUnitTests::FunctionTopicTestWithStateReply& reply, int seqNo, bool bFinished); void slotRequestedDataError(int reason, int seqNo, int requestId); void onFunctionTopicRequest(const rti::core::SampleIdentity& sampleId, const DdsUnitTests::FunctionRequest& request); void onFunctionTopicRequest(const rti::core::SampleIdentity& sampleId, const DdsUnitTests::FunctionRequestWithState& request); private: void requestWithState(); std::unique_ptr m_fts; std::unique_ptr m_ftsWS; std::unique_ptr m_ftc; std::unique_ptr m_ftcWS; std::shared_ptr m_ddsConnectorClient; std::shared_ptr m_ddsConnectorServer; DdsUnitTests::FunctionRequest m_requestTopic; DdsUnitTests::FunctionReply m_replyTopic; DdsUnitTests::FunctionRequestWithState m_requestTopicWithState; DdsUnitTests::FunctionReplyWithState m_replyTopicWithState; Qt::HANDLE m_mainThreadId; };