MCPcopy Create free account
hub / github.com/Serial-Studio/Serial-Studio / onMqttPublisherItemChanged

Method onMqttPublisherItemChanged

app/src/DataModel/ProjectEditor.cpp:2329–2414  ·  view source on GitHub ↗

* @brief Pushes MQTT Publisher form edits back into the live Publisher singleton. */

Source from the content-addressed store, hash-verified

2327 * @brief Pushes MQTT Publisher form edits back into the live Publisher singleton.
2328 */
2329void DataModel::ProjectEditor::onMqttPublisherItemChanged(QStandardItem* item)
2330{
2331 if (!item)
2332 return;
2333
2334#ifdef BUILD_COMMERCIAL
2335 auto& pub = MQTT::Publisher::instance();
2336 const auto type = item->data(ParameterType).toInt();
2337 const auto value = item->data(EditableValue);
2338
2339 switch (type) {
2340 case kMqttPublisher_Enabled:
2341 pub.setEnabled(value.toBool());
2342 buildMqttPublisherModel();
2343 return;
2344 case kMqttPublisher_Mode:
2345 pub.setMode(value.toInt());
2346 buildMqttPublisherModel();
2347 return;
2348 case kMqttPublisher_PublishFrequency:
2349 pub.setPublishFrequency(value.toInt());
2350 break;
2351 case kMqttPublisher_TopicBase:
2352 pub.setTopicBase(value.toString());
2353 break;
2354 case kMqttPublisher_ScriptTopic:
2355 pub.setScriptTopic(value.toString());
2356 break;
2357 case kMqttPublisher_ScriptCode:
2358 pub.setScriptCode(value.toString());
2359 break;
2360 case kMqttPublisher_PublishNotifications:
2361 pub.setPublishNotifications(value.toBool());
2362 buildMqttPublisherModel();
2363 return;
2364 case kMqttPublisher_NotificationTopic:
2365 pub.setNotificationTopic(value.toString());
2366 break;
2367 case kMqttPublisher_Hostname:
2368 pub.setHostname(value.toString());
2369 break;
2370 case kMqttPublisher_Port:
2371 pub.setPort(static_cast<quint16>(value.toInt()));
2372 break;
2373 case kMqttPublisher_CustomClientId:
2374 pub.setCustomClientId(value.toBool());
2375 buildMqttPublisherModel();
2376 return;
2377 case kMqttPublisher_ClientId:
2378 pub.setClientId(value.toString());
2379 break;
2380 case kMqttPublisher_Username:
2381 pub.setUsername(value.toString());
2382 break;
2383 case kMqttPublisher_Password:
2384 pub.setPassword(value.toString());
2385 break;
2386 case kMqttPublisher_MqttVersion:

Callers

nothing calls this directly

Calls 15

setPublishFrequencyMethod · 0.80
setTopicBaseMethod · 0.80
setScriptTopicMethod · 0.80
setScriptCodeMethod · 0.80
setNotificationTopicMethod · 0.80
setCustomClientIdMethod · 0.80
dataMethod · 0.45
setEnabledMethod · 0.45
setModeMethod · 0.45
setHostnameMethod · 0.45
setPortMethod · 0.45

Tested by

no test coverage detected