Changeset View
Changeset View
Standalone View
Standalone View
dataengines/systemmonitor/systemmonitor.cpp
Show First 20 Lines • Show All 44 Lines • ▼ Show 20 Line(s) | |||||
45 | 45 | | |||
46 | void SystemMonitorEngine::updateMonitorsList() | 46 | void SystemMonitorEngine::updateMonitorsList() | ||
47 | { | 47 | { | ||
48 | KSGRD::SensorMgr->sendRequest(QStringLiteral("localhost"), QStringLiteral("monitors"), (KSGRD::SensorClient*)this, -1); | 48 | KSGRD::SensorMgr->sendRequest(QStringLiteral("localhost"), QStringLiteral("monitors"), (KSGRD::SensorClient*)this, -1); | ||
49 | } | 49 | } | ||
50 | 50 | | |||
51 | QStringList SystemMonitorEngine::sources() const | 51 | QStringList SystemMonitorEngine::sources() const | ||
52 | { | 52 | { | ||
53 | return m_sensors; | 53 | return m_sensors.toList(); | ||
54 | } | 54 | } | ||
55 | 55 | | |||
56 | bool SystemMonitorEngine::sourceRequestEvent(const QString &name) | 56 | bool SystemMonitorEngine::sourceRequestEvent(const QString &name) | ||
57 | { | 57 | { | ||
58 | // NB: do not follow this example in your own data engines! | 58 | // NB: do not follow this example in your own data engines! | ||
59 | // This is kept for backwards compatilibility. | 59 | // This is kept for backwards compatilibility. | ||
60 | // Visualizations should instead listen to sourceAdded() | 60 | // Visualizations should instead listen to sourceAdded() | ||
61 | if (m_sensors.isEmpty()) { | 61 | if (m_sensors.isEmpty()) { | ||
▲ Show 20 Lines • Show All 51 Lines • ▼ Show 20 Line(s) | 101 | if (id < -1) { | |||
113 | if (newSensorInfo.count() < 4) { | 113 | if (newSensorInfo.count() < 4) { | ||
114 | qDebug() << "bad sensor info, only" << newSensorInfo.count() | 114 | qDebug() << "bad sensor info, only" << newSensorInfo.count() | ||
115 | << "entries, and we were expecting 4. Answer was " << answer; | 115 | << "entries, and we were expecting 4. Answer was " << answer; | ||
116 | if(it != sources.constEnd()) | 116 | if(it != sources.constEnd()) | ||
117 | qDebug() << "value =" << it.value()->data()[QStringLiteral("value")] << "type=" << it.value()->data()[QStringLiteral("type")]; | 117 | qDebug() << "value =" << it.value()->data()[QStringLiteral("value")] << "type=" << it.value()->data()[QStringLiteral("type")]; | ||
118 | return; | 118 | return; | ||
119 | } | 119 | } | ||
120 | 120 | | |||
121 | const QString sensorName = newSensorInfo[0]; | 121 | const QString& sensorName = newSensorInfo[0]; | ||
122 | const QString min = newSensorInfo[1]; | 122 | const QString& min = newSensorInfo[1]; | ||
123 | const QString max = newSensorInfo[2]; | 123 | const QString& max = newSensorInfo[2]; | ||
124 | const QString unit = newSensorInfo[3]; | 124 | const QString& unit = newSensorInfo[3]; | ||
125 | 125 | | |||
126 | if (it != sources.constEnd()) { | 126 | if (it != sources.constEnd()) { | ||
127 | it.value()->setData(QStringLiteral("name"), sensorName); | 127 | it.value()->setData(QStringLiteral("name"), sensorName); | ||
128 | it.value()->setData(QStringLiteral("min"), min); | 128 | it.value()->setData(QStringLiteral("min"), min); | ||
129 | it.value()->setData(QStringLiteral("max"), max); | 129 | it.value()->setData(QStringLiteral("max"), max); | ||
130 | it.value()->setData(QStringLiteral("units"), unit); | 130 | it.value()->setData(QStringLiteral("units"), unit); | ||
131 | } | 131 | } | ||
132 | 132 | | |||
133 | return; | 133 | return; | ||
134 | } | 134 | } | ||
135 | 135 | | |||
136 | if (id == -1) { | 136 | if (id == -1) { | ||
137 | QSet<QString> sensors; | 137 | QSet<QString> sensors; | ||
138 | m_sensors.clear(); | 138 | m_sensors.clear(); | ||
139 | int count = 0; | 139 | int count = 0; | ||
140 | 140 | | |||
141 | foreach (const QByteArray &sens, answer) { | 141 | foreach (const QByteArray &sens, answer) { | ||
142 | const QStringList newSensorInfo = QString::fromUtf8(sens).split('\t'); | 142 | const QString sensStr{QString::fromUtf8(sens)}; | ||
143 | const QVector<QStringRef> newSensorInfo = sensStr.splitRef('\t'); | ||||
143 | if (newSensorInfo.count() < 2) { | 144 | if (newSensorInfo.count() < 2) { | ||
144 | continue; | 145 | continue; | ||
145 | } | 146 | } | ||
146 | if(newSensorInfo.at(1) == QLatin1String("logfile")) | 147 | if(newSensorInfo.at(1) == QLatin1String("logfile")) | ||
147 | continue; // logfile data type not currently supported | 148 | continue; // logfile data type not currently supported | ||
148 | 149 | | |||
149 | const QString newSensor = newSensorInfo[0]; | 150 | const QString newSensor = newSensorInfo[0].toString(); | ||
150 | sensors.insert(newSensor); | 151 | sensors.insert(newSensor); | ||
151 | m_sensors.append(newSensor); | 152 | m_sensors.append(newSensor); | ||
152 | { | 153 | { | ||
153 | // HACK: for backwards compability | 154 | // HACK: for backwards compability | ||
154 | // in case this source was created in sourceRequestEvent, stop it being | 155 | // in case this source was created in sourceRequestEvent, stop it being | ||
155 | // automagically removed when disconnected from | 156 | // automagically removed when disconnected from | ||
156 | Plasma::DataContainer *s = containerForSource( newSensor ); | 157 | Plasma::DataContainer *s = containerForSource( newSensor ); | ||
157 | if ( s ) { | 158 | if ( s ) { | ||
158 | disconnect( s, &Plasma::DataContainer::becameUnused, this, &SystemMonitorEngine::removeSource ); | 159 | disconnect( s, &Plasma::DataContainer::becameUnused, this, &SystemMonitorEngine::removeSource ); | ||
159 | } | 160 | } | ||
160 | } | 161 | } | ||
161 | DataEngine::Data d; | 162 | DataEngine::Data d; | ||
162 | d.insert(QStringLiteral("value"), QVariant()); | 163 | d.insert(QStringLiteral("value"), QVariant()); | ||
163 | d.insert(QStringLiteral("type"), newSensorInfo[1]); | 164 | d.insert(QStringLiteral("type"), newSensorInfo[1].toString()); | ||
164 | setData(newSensor, d); | 165 | setData(newSensor, d); | ||
165 | KSGRD::SensorMgr->sendRequest( QStringLiteral("localhost"), QStringLiteral("%1?").arg(newSensor), (KSGRD::SensorClient*)this, -(count + 2)); | 166 | KSGRD::SensorMgr->sendRequest( QStringLiteral("localhost"), QStringLiteral("%1?").arg(newSensor), (KSGRD::SensorClient*)this, -(count + 2)); | ||
166 | ++count; | 167 | ++count; | ||
167 | } | 168 | } | ||
168 | 169 | | |||
169 | QHash<QString, Plasma::DataContainer*> sourceDict = containerDict(); | 170 | QHash<QString, Plasma::DataContainer*> sourceDict = containerDict(); | ||
170 | QHashIterator<QString, Plasma::DataContainer*> it(sourceDict); | 171 | QHashIterator<QString, Plasma::DataContainer*> it(sourceDict); | ||
171 | while (it.hasNext()) { | 172 | while (it.hasNext()) { | ||
Show All 32 Lines |