/** * @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 #include #include 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 getDtc() = 0; virtual std::shared_ptr getFtc() = 0; virtual std::shared_ptr 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 getDtc() = 0; virtual bool setMarker(const Marker &marker, MarkerManagement::Interface::Ftc::MarkerModifyReplyHandler *handler) = 0; }; } // namespace MarkerManagement