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

Method buildMqttBrokerSection

app/src/DataModel/ProjectEditor.cpp:2151–2237  ·  view source on GitHub ↗

* @brief Appends the Broker section (host, port, credentials, protocol, keep-alive). */

Source from the content-addressed store, hash-verified

2149 * @brief Appends the Broker section (host, port, credentials, protocol, keep-alive).
2150 */
2151void DataModel::ProjectEditor::buildMqttBrokerSection(const MQTT::Publisher& pub, bool enabled)
2152{
2153 auto* brokerHdr = new QStandardItem();
2154 brokerHdr->setData(SectionHeader, WidgetType);
2155 brokerHdr->setData(tr("Broker"), PlaceholderValue);
2156 brokerHdr->setData("qrc:/icons/project-editor/model/mqtt-broker.svg", ParameterIcon);
2157 m_mqttPublisherModel->appendRow(brokerHdr);
2158
2159 auto* hostItem = new QStandardItem();
2160 hostItem->setEditable(true);
2161 hostItem->setData(enabled, Active);
2162 hostItem->setData(TextField, WidgetType);
2163 hostItem->setData(pub.hostname(), EditableValue);
2164 hostItem->setData(kMqttPublisher_Hostname, ParameterType);
2165 hostItem->setData(tr("Hostname"), ParameterName);
2166 hostItem->setData(tr("broker.hivemq.com"), PlaceholderValue);
2167 hostItem->setData(tr("Hostname or IP address of the MQTT broker"), ParameterDescription);
2168 m_mqttPublisherModel->appendRow(hostItem);
2169
2170 auto* portItem = new QStandardItem();
2171 portItem->setEditable(true);
2172 portItem->setData(enabled, Active);
2173 portItem->setData(IntField, WidgetType);
2174 portItem->setData(static_cast<int>(pub.port()), EditableValue);
2175 portItem->setData(kMqttPublisher_Port, ParameterType);
2176 portItem->setData(tr("Port"), ParameterName);
2177 portItem->setData(tr("TCP port exposed by the broker (1883 plain, 8883 TLS)"),
2178 ParameterDescription);
2179 m_mqttPublisherModel->appendRow(portItem);
2180
2181 auto* customClientIdItem = new QStandardItem();
2182 customClientIdItem->setEditable(true);
2183 customClientIdItem->setData(enabled, Active);
2184 customClientIdItem->setData(CheckBox, WidgetType);
2185 customClientIdItem->setData(pub.customClientId(), EditableValue);
2186 customClientIdItem->setData(kMqttPublisher_CustomClientId, ParameterType);
2187 customClientIdItem->setData(tr("Custom Client ID"), ParameterName);
2188 customClientIdItem->setData(
2189 tr("Off: a fresh random id is generated on every project load. On: use the id below."),
2190 ParameterDescription);
2191 m_mqttPublisherModel->appendRow(customClientIdItem);
2192
2193 if (pub.customClientId()) {
2194 auto* clientIdItem = new QStandardItem();
2195 clientIdItem->setEditable(true);
2196 clientIdItem->setData(enabled, Active);
2197 clientIdItem->setData(TextField, WidgetType);
2198 clientIdItem->setData(pub.clientId(), EditableValue);
2199 clientIdItem->setData(kMqttPublisher_ClientId, ParameterType);
2200 clientIdItem->setData(tr("Client ID"), ParameterName);
2201 clientIdItem->setData(tr("Identifier sent to the broker on CONNECT"), ParameterDescription);
2202 m_mqttPublisherModel->appendRow(clientIdItem);
2203 }
2204
2205 buildMqttBrokerCredentials(pub, enabled);
2206
2207 auto* versionItem = new QStandardItem();
2208 versionItem->setEditable(true);

Callers

nothing calls this directly

Calls 7

customClientIdMethod · 0.80
hostnameMethod · 0.45
portMethod · 0.45
clientIdMethod · 0.45
mqttVersionMethod · 0.45
keepAliveMethod · 0.45
cleanSessionMethod · 0.45

Tested by

no test coverage detected