40 lines
1.0 KiB
C++
Executable File
40 lines
1.0 KiB
C++
Executable File
/**
|
|
* @RDE_HEADER@
|
|
* Generic Function Topic Server (FTS Replier)
|
|
* $Id$
|
|
* $HeadURL$
|
|
* $Author$
|
|
*/
|
|
#pragma once
|
|
|
|
#include "generic_fts.h"
|
|
#include <DDS/FTS/ddsfts_export.h>
|
|
#include <DDS/Generic/wait_set_handler.h>
|
|
#include <dds/sub/qos/DataReaderQos.hpp>
|
|
#include <dds/pub/qos/DataWriterQos.hpp>
|
|
|
|
#include <QObject>
|
|
|
|
namespace FTS
|
|
{
|
|
class DDSFTS_EXPORT GenericFtsInternal : public QObject
|
|
, protected DDSGeneric::WaitSetHandler::CallbackInterface
|
|
{
|
|
Q_OBJECT
|
|
protected:
|
|
GenericFtsInternal() = default;
|
|
|
|
static void printDefaultQos(NGL::INGLLogger &logger);
|
|
static dds::sub::qos::DataReaderQos readerQos(NGL::INGLLogger &logger);
|
|
static dds::pub::qos::DataWriterQos writerQos(NGL::INGLLogger &logger);
|
|
|
|
protected:
|
|
// those two functions are executed in another thread
|
|
void dataAvailable() override;
|
|
virtual bool enqueueRequests() = 0; // returns true when valid data could be read (so waitForRequests should be invoked)
|
|
protected Q_SLOTS:
|
|
virtual void processRequests() = 0;
|
|
};
|
|
|
|
} // namespace FTS
|