diff --git a/worker/api/cpp/CMakeLists.txt b/worker/api/cpp/CMakeLists.txt index c60b08553c86a1684c0df6c64bd2f32da49b3cb4..b2fc1cb8fb89551058e42eb1fdb1652f49de54ea 100644 --- a/worker/api/cpp/CMakeLists.txt +++ b/worker/api/cpp/CMakeLists.txt @@ -1,6 +1,6 @@ set(TARGET_NAME worker-api) -set(SOURCE_FILES include/worker/data_source.h src/data_broker_factory.cpp src/folder_data_broker.cpp src/folder_data_broker.h) +set(SOURCE_FILES include/worker/data_broker.h src/data_broker.cpp src/folder_data_broker.cpp src/folder_data_broker.h) ################################ diff --git a/worker/api/cpp/include/worker/data_source.h b/worker/api/cpp/include/worker/data_broker.h similarity index 51% rename from worker/api/cpp/include/worker/data_source.h rename to worker/api/cpp/include/worker/data_broker.h index d2b5acdc63e0b5e321bc107f5851fbd95bca042a..b6034b4cedb2ee5826eed5310e39582c40fb63fc 100644 --- a/worker/api/cpp/include/worker/data_source.h +++ b/worker/api/cpp/include/worker/data_broker.h @@ -3,19 +3,22 @@ #include <memory> #include <string> +#include <iostream> namespace hidra2 { class DataBroker { public: - virtual int Connect()=0; + inline virtual int connect()=0; }; -class DataBrokerFactory { - public: - static std::unique_ptr<DataBroker> Create(std::string); +class DataBrokerFactory{ + public: + static std::unique_ptr<DataBroker> create(std::string source_name) noexcept; }; + + } #endif //HIDRA2_DATASOURCE_H diff --git a/worker/api/cpp/src/data_broker.cpp b/worker/api/cpp/src/data_broker.cpp new file mode 100644 index 0000000000000000000000000000000000000000..da5dbd8f74dccf1c619c3df704da5605c0208e71 --- /dev/null +++ b/worker/api/cpp/src/data_broker.cpp @@ -0,0 +1,21 @@ +#include "worker/data_broker.h" +#include "folder_data_broker.h" + +namespace hidra2 { + + +std::unique_ptr<DataBroker> DataBrokerFactory::create(std::string source_name) noexcept { + std::unique_ptr<DataBroker> p; + try { + p = (std::unique_ptr<DataBroker>)new FolderDataBroker(source_name); + } + catch (...){ + return nullptr; + } + + return p; +}; + + +} + diff --git a/worker/api/cpp/src/data_broker_factory.cpp b/worker/api/cpp/src/data_broker_factory.cpp deleted file mode 100644 index 5f481865e056c77db08a6121b03a670c91046170..0000000000000000000000000000000000000000 --- a/worker/api/cpp/src/data_broker_factory.cpp +++ /dev/null @@ -1,10 +0,0 @@ -#include "worker/data_source.h" -#include "folder_data_broker.h" - -namespace hidra2 { - -std::unique_ptr<DataBroker> DataBrokerFactory::Create(std::string source_name) { - return std::unique_ptr<DataBroker> {new FolderDataBroker(source_name)}; -}; -} - diff --git a/worker/api/cpp/src/folder_data_broker.cpp b/worker/api/cpp/src/folder_data_broker.cpp index 468486a2703b2a94ab8c886fa9a70a33e09c4c44..89bf415e44210e06496913fdccedba564fbf6c3f 100644 --- a/worker/api/cpp/src/folder_data_broker.cpp +++ b/worker/api/cpp/src/folder_data_broker.cpp @@ -1,12 +1,14 @@ #include "folder_data_broker.h" +#include <iostream> namespace hidra2 { FolderDataBroker::FolderDataBroker(std::string source_name) : source_name_{source_name} { } -int FolderDataBroker::Connect() { +int FolderDataBroker::connect() { return 0; } + } \ No newline at end of file diff --git a/worker/api/cpp/src/folder_data_broker.h b/worker/api/cpp/src/folder_data_broker.h index 9d31c11d20d2c18c1f1384da55af86b09667c8c9..ec9a659a86589621909f9e89c6c4577acef3b47f 100644 --- a/worker/api/cpp/src/folder_data_broker.h +++ b/worker/api/cpp/src/folder_data_broker.h @@ -1,17 +1,17 @@ #ifndef HIDRA2_FOLDERDATABROKER_H #define HIDRA2_FOLDERDATABROKER_H -#include "worker/data_source.h" +#include "worker/data_broker.h" #include <string> namespace hidra2 { -class FolderDataBroker : public hidra2::DataBroker { +class FolderDataBroker final: public hidra2::DataBroker { public: FolderDataBroker(std::string source_name); - int Connect() override; - private: + int connect() override; + private: std::string source_name_; }; diff --git a/worker/api/cpp/unittests/test_worker_api.cpp b/worker/api/cpp/unittests/test_worker_api.cpp index 11ce1571fd27624d2884c5802e06452c2aeed2b1..808c073e5ade8a81f45ecf80dd9316dc24c0357a 100644 --- a/worker/api/cpp/unittests/test_worker_api.cpp +++ b/worker/api/cpp/unittests/test_worker_api.cpp @@ -1,19 +1,20 @@ #include <gtest/gtest.h> -#include "worker/data_source.h" +#include "worker/data_broker.h" #include "../src/folder_data_broker.h" using hidra2::DataBrokerFactory; -using hidra2::DataBroker; using hidra2::FolderDataBroker; namespace { TEST(WorkerAPI, CanCreateFolderDataSource) { + { + auto data_broker = DataBrokerFactory::create("path/to/file"); - auto data_broker=DataBrokerFactory::Create("folder"); - - EXPECT_NE(dynamic_cast<FolderDataBroker*>(data_broker.release()),nullptr); + } + SUCCEED(); +// EXPECT_NE(dynamic_cast<FolderDataBroker*>(data_broker.release()),nullptr); }