##// END OF EJS Templates
Wait for the end of an acquisition to validate an operation (3)...
Wait for the end of an acquisition to validate an operation (3) If an operation is to validate, waits the end of the acquisition

File last commit:

r1040:d45cab418d5a
r1215:7541b71e5b78
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