##// END OF EJS Templates
Adds the ability to force an acquisition pending for an operation (1)...
Adds the ability to force an acquisition pending for an operation (1) Creates struct that contains operation properties: - its weight - the flag to force acquisition waiting

File last commit:

r1080:d45cab418d5a
r1249:b9a47ff1b9cc
Show More
DataSourceItemBuilder.h
45 lines | 1.4 KiB | text/x-c | CLexer
/ core / tests / DataSource / DataSourceItemBuilder.h
#ifndef SCIQLOP_DATASOURCEITEMBUILDER_H
#define SCIQLOP_DATASOURCEITEMBUILDER_H
#include <DataSource/DataSourceItem.h>
#include <memory>
#include <stack>
/**
* @brief The DataSourceItemBuilder class aims to facilitate the creation of a DataSourceItem for unit tests
* @sa DataSourceItem
*/
class DataSourceItemBuilder {
public:
/// Inits root item
DataSourceItemBuilder & root(const QString &name);
DataSourceItemBuilder & root(QVariantHash data);
/// Adds node into the current item
DataSourceItemBuilder & node(const QString &name);
DataSourceItemBuilder & node(QVariantHash data);
/// Adds product into the current item
DataSourceItemBuilder & product(const QString &name);
DataSourceItemBuilder & product(QVariantHash data);
/// Adds component into the current item
DataSourceItemBuilder & component(const QString &name);
DataSourceItemBuilder & component(QVariantHash data);
/// Closes the build of the current item
DataSourceItemBuilder& end();
/// Creates the DataSourceItem
std::shared_ptr<DataSourceItem> build();
private:
DataSourceItemBuilder& append(DataSourceItemType type, const QString &name);
DataSourceItemBuilder& append(DataSourceItemType type, QVariantHash data);
std::shared_ptr<DataSourceItem> m_Root{nullptr};
std::stack<DataSourceItem*> m_Items;
};
#endif // SCIQLOP_DATASOURCEITEMBUILDER_H