48 lines
1.3 KiB
C++
Executable File
48 lines
1.3 KiB
C++
Executable File
/**
|
|
* @RDE_HEADER@
|
|
* Data Plugin Interface for MarkerManagement (Interface for access from other Plugins)
|
|
* $Id$
|
|
* $HeadURL$
|
|
* $Author$
|
|
* Created by Christian Ehrlicher, SLSE, 2016-02-29
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include <PluginInterfaces/data_plugin_interface.h>
|
|
|
|
#include <MarkerManagement/mrk_dtc.h>
|
|
#include <MarkerManagement/mrk_ftc.h>
|
|
|
|
namespace MarkerManagement
|
|
{
|
|
class ForeignDataInterface;
|
|
|
|
/**
|
|
* @brief The DataInterface class provides the Topics Clients only for the GUI Plugins
|
|
*/
|
|
class DataInterface : public DataPluginBase::Interface
|
|
{
|
|
public:
|
|
using DataPluginBase::Interface::Interface;
|
|
|
|
virtual std::shared_ptr<MarkerManagement::Interface::Dtc> getDtc() = 0;
|
|
virtual std::shared_ptr<MarkerManagement::Interface::Ftc> getFtc() = 0;
|
|
virtual std::shared_ptr<ForeignDataInterface> getForeignDataInterface() = 0;
|
|
};
|
|
|
|
/**
|
|
* @brief The ForeignInterface class provides methods and signals for foreign plugins, that need
|
|
* access to the data of this DataPlugin
|
|
*/
|
|
class ForeignDataInterface
|
|
{
|
|
public:
|
|
ForeignDataInterface() = default;
|
|
virtual ~ForeignDataInterface() = default;
|
|
virtual std::shared_ptr<MarkerManagement::Interface::Dtc> getDtc() = 0;
|
|
virtual bool setMarker(const Marker &marker, MarkerManagement::Interface::Ftc::MarkerModifyReplyHandler *handler) = 0;
|
|
};
|
|
|
|
} // namespace MarkerManagement
|