Nix (Dev) 3.5.10
dev - 3.5.10 - 1af9301
Loading...
Searching...
No Matches
ParametersOnline.hpp
Go to the documentation of this file.
1#ifndef IV_SRC_LOGIC_PARAMETERSONLINE_HPP_
2#define IV_SRC_LOGIC_PARAMETERSONLINE_HPP_
3
4#include "core/defines.hpp"
6
7#include <map>
8#include <memory>
9#include <set>
10#include <vector>
11
12namespace iv::logic
13{
14
16{
17 void update(const LibraryParamsOnline &other);
18 void removeParameterOnline(const iv::types::logic::parameterOnlineTag &tagParameterOnline);
19
20 bool updateParameterOnlineTag(const iv::types::logic::parameterOnlineTag &oldTagParameterOnline,
21 const iv::types::logic::parameterOnlineTag &newTagParameterOnline);
22
23 std::map<iv::types::logic::parameterOnlineTag, std::shared_ptr<CParamOnline>> parametersOnline;
24};
25
27{
28
29 void update(const UnitParamsOnline &other);
30 bool addParameterOnline(const iv::types::logic::libraryTagName &tagLibraryBlock,
31 const std::shared_ptr<CParamOnline> &paramOnline);
33 const iv::types::logic::parameterOnlineTag &oldTagParameterOnline,
34 const iv::types::logic::parameterOnlineTag &newTagParameterOnline) const;
35
36 std::weak_ptr<LibraryParamsOnline> getLibraryParamsOnline(const iv::types::logic::libraryTagName &tagLibraryBlock);
37 void removeLibrary(const iv::types::logic::libraryTagName &tagLibraryBlock);
38
39 bool changeLibraryBlockTag(const iv::types::logic::libraryTagName &oldTagLibraryBlock,
40 const iv::types::logic::libraryTagName &newTagLibraryBlock);
41 [[nodiscard]] std::vector<std::weak_ptr<CParamOnline>> getAllParamsOnlineSorted() const;
42
43 std::map<iv::types::logic::libraryTagName, std::shared_ptr<LibraryParamsOnline>> libraries;
44};
45
47{
48public:
49 void update(const ParametersOnline &other);
50 bool addUnitParamsOnline(iv::types::unitId idUnit, const std::shared_ptr<UnitParamsOnline> &unitParamsOnline);
52 const std::shared_ptr<CParamOnline> &paramOnline);
53
55 void removeAll();
56
57 [[nodiscard]] const std::map<iv::types::unitId, std::shared_ptr<UnitParamsOnline>> &getUnitsParameters() const;
58 std::weak_ptr<UnitParamsOnline> getUnitParamsOnline(iv::types::unitId unitId);
59 [[nodiscard]] std::vector<std::weak_ptr<CParamOnline>> getAllParamsOnline() const;
60 [[nodiscard]] std::vector<std::weak_ptr<CParamOnline>>
62
63 [[nodiscard]] std::set<iv::types::logic::libraryTagName> getLibrariesTagnames() const;
64 [[nodiscard]] std::set<iv::types::externalParameterOnlineId> getParametersOnlineExternalIds() const;
65 [[nodiscard]] std::weak_ptr<CParamOnline>
66 getParamOnline(const iv::types::externalParameterOnlineId &externalParamOnlineId) const;
67
68private:
69 std::map<iv::types::unitId, std::shared_ptr<UnitParamsOnline>> m_unitsParameters;
70};
71
72}// namespace iv::logic
73
74#endif//IV_SRC_LOGIC_PARAMETERSONLINE_HPP_
Definition ParametersOnline.hpp:47
void removeFromUnit(iv::types::unitId unitId)
Definition ParametersOnline.cpp:182
void update(const ParametersOnline &other)
Definition ParametersOnline.cpp:298
std::vector< std::weak_ptr< CParamOnline > > getAllParamsOnline() const
Definition ParametersOnline.cpp:207
void removeAll()
Definition ParametersOnline.cpp:187
bool addParameterOnline(iv::types::unitId idUnit, const iv::types::logic::libraryTagName &tagLibraryBlock, const std::shared_ptr< CParamOnline > &paramOnline)
Definition ParametersOnline.cpp:170
std::map< iv::types::unitId, std::shared_ptr< UnitParamsOnline > > m_unitsParameters
Definition ParametersOnline.hpp:69
const std::map< iv::types::unitId, std::shared_ptr< UnitParamsOnline > > & getUnitsParameters() const
Definition ParametersOnline.cpp:192
std::vector< std::weak_ptr< CParamOnline > > getLibraryParamsOnline(const iv::types::logic::libraryTagName &libraryTagName) const
Definition ParametersOnline.cpp:226
std::weak_ptr< UnitParamsOnline > getUnitParamsOnline(iv::types::unitId unitId)
Definition ParametersOnline.cpp:197
std::set< iv::types::logic::libraryTagName > getLibrariesTagnames() const
Definition ParametersOnline.cpp:246
std::weak_ptr< CParamOnline > getParamOnline(const iv::types::externalParameterOnlineId &externalParamOnlineId) const
Definition ParametersOnline.cpp:280
bool addUnitParamsOnline(iv::types::unitId idUnit, const std::shared_ptr< UnitParamsOnline > &unitParamsOnline)
Definition ParametersOnline.cpp:157
std::set< iv::types::externalParameterOnlineId > getParametersOnlineExternalIds() const
Definition ParametersOnline.cpp:261
Definition LogicRectangle.cpp:4
std::string libraryTagName
Definition types.hpp:131
std::string parameterOnlineTag
Definition types.hpp:132
uint16_t unitId
Definition types.hpp:77
std::string externalParameterOnlineId
Definition types.hpp:83
Definition ParametersOnline.hpp:16
std::map< iv::types::logic::parameterOnlineTag, std::shared_ptr< CParamOnline > > parametersOnline
Definition ParametersOnline.hpp:23
void update(const LibraryParamsOnline &other)
Definition ParametersOnline.cpp:35
bool updateParameterOnlineTag(const iv::types::logic::parameterOnlineTag &oldTagParameterOnline, const iv::types::logic::parameterOnlineTag &newTagParameterOnline)
Definition ParametersOnline.cpp:13
void removeParameterOnline(const iv::types::logic::parameterOnlineTag &tagParameterOnline)
Definition ParametersOnline.cpp:8
Definition ParametersOnline.hpp:27
void update(const UnitParamsOnline &other)
Definition ParametersOnline.cpp:140
bool changeLibraryBlockTag(const iv::types::logic::libraryTagName &oldTagLibraryBlock, const iv::types::logic::libraryTagName &newTagLibraryBlock)
Definition ParametersOnline.cpp:99
void removeLibrary(const iv::types::logic::libraryTagName &tagLibraryBlock)
Definition ParametersOnline.cpp:94
bool addParameterOnline(const iv::types::logic::libraryTagName &tagLibraryBlock, const std::shared_ptr< CParamOnline > &paramOnline)
Definition ParametersOnline.cpp:53
std::map< iv::types::logic::libraryTagName, std::shared_ptr< LibraryParamsOnline > > libraries
Definition ParametersOnline.hpp:43
std::weak_ptr< LibraryParamsOnline > getLibraryParamsOnline(const iv::types::logic::libraryTagName &tagLibraryBlock)
Definition ParametersOnline.cpp:84
std::vector< std::weak_ptr< CParamOnline > > getAllParamsOnlineSorted() const
Definition ParametersOnline.cpp:122
bool updateParameterOnlineTag(const iv::types::logic::libraryTagName &tagLibraryBlock, const iv::types::logic::parameterOnlineTag &oldTagParameterOnline, const iv::types::logic::parameterOnlineTag &newTagParameterOnline) const
Definition ParametersOnline.cpp:71