loom

Форк
0
/
Setup.cpp 
70 строк · 1.8 Кб
1
/**
2
 * @file Setup.cpp
3
 * @author Michael Fetisov (fetisov.michael@bmstu.ru)
4
 * @brief 
5
 * @version 0.1
6
 * @date 2022-08-26
7
 * 
8
 * @copyright Copyright (c) 2022
9
 * 
10
 */
11

12
#include "simodo/setup/Setup.h"
13
#include "simodo/setup/SetupJsonBuilder.h"
14

15
#include <algorithm>
16

17
namespace simodo::setup
18
{
19
    Setup::Setup(std::string default_setup_file, std::string work_setup_file)
20
        : _default_setup_file(default_setup_file)
21
        , _work_setup_file(work_setup_file)
22
    {
23
        _builder = std::make_unique<SetupJsonBuilder>();
24
    }
25

26
    bool Setup::load()
27
    {
28
        if (!_builder)
29
            return false;
30

31
        _description = _builder->build(_default_setup_file);
32

33
        return _builder->errors().empty();
34
    }
35

36
    bool simodo::setup::Setup::loadDefault()
37
    {
38
        return false;
39
    }
40

41
    bool simodo::setup::Setup::save()
42
    {
43
        return false;
44
    }
45

46
    SetupStructure Setup::structure(const std::string &id) const
47
    {
48
        const auto it = std::find_if(_description.setup.begin(), _description.setup.end(), 
49
                                    [id](const SetupStructure & s){
50
                                        return s.id == id;
51
                                    });
52

53
        return it == _description.setup.end() ? SetupStructure {} : *it;
54
    }
55

56
    variable::Value simodo::setup::Setup::value(const std::string &id) const
57
    {
58
        const auto it = std::find_if(_description.setup.begin(), _description.setup.end(), 
59
                                    [id](const SetupStructure & s){
60
                                        return s.id == id;
61
                                    });
62

63
        return it == _description.setup.end() ? variable::Value {} : it->value;
64
    }
65

66
    void simodo::setup::Setup::setValue(const std::string & /*id*/, const variable::Value & /*value*/)
67
    {
68
    }
69

70
}

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.