#pragma once #include #include #include #include #ifndef TLNDATAPLUGININTERFACE_EXPORT # ifdef BUILD_STATIC_LIBRARIES # define TLNDATAPLUGININTERFACE_EXPORT # else # if defined(MAKE_TLNDATAPLUGININTERFACE_LIB) # define TLNDATAPLUGININTERFACE_EXPORT Q_DECL_EXPORT # else # define TLNDATAPLUGININTERFACE_EXPORT Q_DECL_IMPORT # endif # endif #endif namespace TimeLineManagement { class ForeignDataInterface; class DataInterface : public DataPluginBase::Interface { public: using DataPluginBase::Interface::Interface; virtual std::shared_ptr getForeignDataInterface() = 0; }; class TimelineDataProviderInterface { public: TimelineDataProviderInterface() = default; virtual ~TimelineDataProviderInterface() = default; virtual const QVector &eventData() const = 0; virtual int requestId() const = 0; virtual void getRequestTime(qint64 &requestMin , qint64 &requestMax ) const = 0; }; class TLNDATAPLUGININTERFACE_EXPORT ForeignDataInterface : public QObject { Q_OBJECT public: ForeignDataInterface() = default; virtual ~ForeignDataInterface() = default; virtual TimelineDataProviderInterface *requestData(qint64 from, qint64 to, const QVector &eventTypeIds = QVector(), const QJsonObject &filter = QJsonObject()) = 0; virtual QVector liveHistory() const = 0; virtual const QUrl eemUrl() const = 0; Q_SIGNALS: void liveEvent(const ExerciseEventManagement::Event &ev); void requestedDataAvailable(TimelineDataProviderInterface *tldp); }; }