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

Method buildMqttSslSection

app/src/DataModel/ProjectEditor.cpp:2269–2323  ·  view source on GitHub ↗

* @brief Appends the SSL/TLS section (toggle, protocol, peer verification, depth). */

Source from the content-addressed store, hash-verified

2267 * @brief Appends the SSL/TLS section (toggle, protocol, peer verification, depth).
2268 */
2269void DataModel::ProjectEditor::buildMqttSslSection(const MQTT::Publisher& pub, bool enabled)
2270{
2271 auto* sslHdr = new QStandardItem();
2272 sslHdr->setData(SectionHeader, WidgetType);
2273 sslHdr->setData(tr("SSL / TLS"), PlaceholderValue);
2274 sslHdr->setData("qrc:/icons/project-editor/model/mqtt-ssl.svg", ParameterIcon);
2275 m_mqttPublisherModel->appendRow(sslHdr);
2276
2277 auto* sslItem = new QStandardItem();
2278 sslItem->setEditable(true);
2279 sslItem->setData(enabled, Active);
2280 sslItem->setData(CheckBox, WidgetType);
2281 sslItem->setData(pub.sslEnabled(), EditableValue);
2282 sslItem->setData(kMqttPublisher_SslEnabled, ParameterType);
2283 sslItem->setData(tr("Use SSL/TLS"), ParameterName);
2284 sslItem->setData(tr("Tunnel the broker connection over TLS"), ParameterDescription);
2285 m_mqttPublisherModel->appendRow(sslItem);
2286
2287 if (!pub.sslEnabled())
2288 return;
2289
2290 auto* sslProtoItem = new QStandardItem();
2291 sslProtoItem->setEditable(true);
2292 sslProtoItem->setData(enabled, Active);
2293 sslProtoItem->setData(ComboBox, WidgetType);
2294 sslProtoItem->setData(pub.sslProtocols(), ComboBoxData);
2295 sslProtoItem->setData(static_cast<int>(pub.sslProtocol()), EditableValue);
2296 sslProtoItem->setData(kMqttPublisher_SslProtocol, ParameterType);
2297 sslProtoItem->setData(tr("Protocol"), ParameterName);
2298 sslProtoItem->setData(tr("Negotiated TLS protocol family"), ParameterDescription);
2299 m_mqttPublisherModel->appendRow(sslProtoItem);
2300
2301 auto* peerModeItem = new QStandardItem();
2302 peerModeItem->setEditable(true);
2303 peerModeItem->setData(enabled, Active);
2304 peerModeItem->setData(ComboBox, WidgetType);
2305 peerModeItem->setData(pub.peerVerifyModes(), ComboBoxData);
2306 peerModeItem->setData(static_cast<int>(pub.peerVerifyMode()), EditableValue);
2307 peerModeItem->setData(kMqttPublisher_PeerVerifyMode, ParameterType);
2308 peerModeItem->setData(tr("Peer Verify"), ParameterName);
2309 peerModeItem->setData(tr("How strictly the broker's certificate chain is validated"),
2310 ParameterDescription);
2311 m_mqttPublisherModel->appendRow(peerModeItem);
2312
2313 auto* peerDepthItem = new QStandardItem();
2314 peerDepthItem->setEditable(true);
2315 peerDepthItem->setData(enabled, Active);
2316 peerDepthItem->setData(IntField, WidgetType);
2317 peerDepthItem->setData(pub.peerVerifyDepth(), EditableValue);
2318 peerDepthItem->setData(kMqttPublisher_PeerVerifyDepth, ParameterType);
2319 peerDepthItem->setData(tr("Verify Depth"), ParameterName);
2320 peerDepthItem->setData(tr("Maximum certificate chain length accepted (0 = unlimited)"),
2321 ParameterDescription);
2322 m_mqttPublisherModel->appendRow(peerDepthItem);
2323}
2324#endif
2325
2326/**

Callers

nothing calls this directly

Calls 4

sslEnabledMethod · 0.45
sslProtocolMethod · 0.45
peerVerifyModeMethod · 0.45
peerVerifyDepthMethod · 0.45

Tested by

no test coverage detected