##// END OF EJS Templates
Adds the ability to force an acquisition pending for an operation (2)...
Adds the ability to force an acquisition pending for an operation (2) Handles flag in the test

File last commit:

r1080:d45cab418d5a
r1250:a7d21961e1ef
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