diff --git a/plugins/mockplugin/include/MockPlugin.h b/plugins/mockplugin/include/MockPlugin.h index 7d18987..889705e 100644 --- a/plugins/mockplugin/include/MockPlugin.h +++ b/plugins/mockplugin/include/MockPlugin.h @@ -18,10 +18,6 @@ class MockPlugin : public QObject, public IPlugin { public: /// @sa IPlugin::initialize() void initialize() override; - -private: - /// Creates the data source item relative to the plugin - std::unique_ptr createDataSourceItem() const noexcept; }; #endif // SCIQLOP_MOCKPLUGIN_H diff --git a/plugins/mockplugin/src/MockPlugin.cpp b/plugins/mockplugin/src/MockPlugin.cpp index 599ad04..526a2fc 100644 --- a/plugins/mockplugin/src/MockPlugin.cpp +++ b/plugins/mockplugin/src/MockPlugin.cpp @@ -1,4 +1,5 @@ -#include +#include "MockPlugin.h" +#include "CosinusProvider.h" #include #include @@ -12,23 +13,14 @@ namespace { /// Name of the data source const auto DATA_SOURCE_NAME = QStringLiteral("MMS"); -} // namespace - -void MockPlugin::initialize() +/// Creates the data provider relative to the plugin +std::unique_ptr createDataProvider() noexcept { - if (auto app = sqpApp) { - // Registers to the data source controller - auto &dataSourceController = app->dataSourceController(); - auto dataSourceUid = dataSourceController.registerDataSource(DATA_SOURCE_NAME); - - dataSourceController.setDataSourceItem(dataSourceUid, createDataSourceItem()); - } - else { - qCWarning(LOG_MockPlugin()) << tr("Can't access to SciQlop application"); - } + return std::make_unique(); } -std::unique_ptr MockPlugin::createDataSourceItem() const noexcept +/// Creates the data source item relative to the plugin +std::unique_ptr createDataSourceItem() noexcept { // Magnetic field products auto fgmProduct = std::make_unique(DataSourceItemType::PRODUCT, @@ -51,5 +43,25 @@ std::unique_ptr MockPlugin::createDataSourceItem() const noexcep root->appendChild(std::move(magneticFieldFolder)); root->appendChild(std::move(electricFieldFolder)); - return std::move(root); + return root; +} + +} // namespace + +void MockPlugin::initialize() +{ + if (auto app = sqpApp) { + // Registers to the data source controller + auto &dataSourceController = app->dataSourceController(); + auto dataSourceUid = dataSourceController.registerDataSource(DATA_SOURCE_NAME); + + // Sets data source tree + dataSourceController.setDataSourceItem(dataSourceUid, createDataSourceItem()); + + // Sets data provider + dataSourceController.setDataProvider(dataSourceUid, createDataProvider()); + } + else { + qCWarning(LOG_MockPlugin()) << tr("Can't access to SciQlop application"); + } }