MCPcopy Create free account
hub / github.com/c-jimenez/open-ocpp / getConfiguration

Method getConfiguration

examples/ocpp16/common/config/OcppConfig.cpp:130–190  ·  view source on GitHub ↗

@copydoc void IOcppConfig::getConfiguration(const std::vector >&, * std::vector &, * std::vector >&); */

Source from the content-addressed store, hash-verified

128 * std::vector<ocpp::types::CiStringType<50u>>&);
129 */
130void OcppConfig::getConfiguration(const std::vector<ocpp::types::CiStringType<50u>>& keys,
131 std::vector<ocpp::types::ocpp16::KeyValue>& values,
132 std::vector<ocpp::types::CiStringType<50u>>& unknown_values)
133{
134 if (keys.empty())
135 {
136 // Return all available parameters
137 for (const auto& param : CONFIGURATION_VALUES)
138 {
139 KeyValue key_value;
140 key_value.key.assign(param.first);
141 key_value.readonly = ((param.second & PARAM_WRITE) == 0);
142 IniFile::Value value;
143 if ((param.second & PARAM_READ) != 0)
144 {
145 if ((param.second & PARAM_OCPP) != 0)
146 {
147 value = m_config.get(OCPP_PARAMS, param.first);
148 }
149 else
150 {
151 value = m_config.get(STACK_PARAMS, param.first);
152 }
153 key_value.value.value().assign(value.toString());
154 }
155 values.push_back(key_value);
156 }
157 }
158 else
159 {
160 // Look for each requested parameter
161 for (const auto& key : keys)
162 {
163 const auto it = CONFIGURATION_VALUES.find(key);
164 if (it != CONFIGURATION_VALUES.end())
165 {
166 KeyValue key_value;
167 key_value.key.assign(it->first);
168 key_value.readonly = ((it->second & PARAM_WRITE) == 0);
169 IniFile::Value value;
170 if ((it->second & PARAM_READ) != 0)
171 {
172 if ((it->second & PARAM_OCPP) != 0)
173 {
174 value = m_config.get(OCPP_PARAMS, it->first);
175 }
176 else
177 {
178 value = m_config.get(STACK_PARAMS, it->first);
179 }
180 key_value.value.value().assign(value.toString());
181 }
182 values.push_back(key_value);
183 }
184 else
185 {
186 unknown_values.push_back(key);
187 }

Callers 3

mainFunction · 0.45
mainFunction · 0.45
mainFunction · 0.45

Calls 6

findMethod · 0.80
emptyMethod · 0.45
assignMethod · 0.45
getMethod · 0.45
toStringMethod · 0.45
endMethod · 0.45

Tested by

no test coverage detected