MCPcopy Create free account
hub / github.com/BatchDrake/SigDigger / captureMessage

Method captureMessage

Suscan/Analyzer.cpp:263–310  ·  view source on GitHub ↗

Signal slots

Source from the content-addressed store, hash-verified

261
262// Signal slots
263void
264Analyzer::captureMessage(quint32 type, void *data)
265{
266 switch (type) {
267 // Data messages
268 case SUSCAN_ANALYZER_MESSAGE_TYPE_SOURCE_INFO:
269 emit source_info_message(SourceInfoMessage(static_cast<struct suscan_analyzer_source_info *>(data)));
270 break;
271
272 case SUSCAN_ANALYZER_MESSAGE_TYPE_INSPECTOR:
273 emit inspector_message(InspectorMessage(static_cast<struct suscan_analyzer_inspector_msg *>(data)));
274 break;
275
276 case SUSCAN_ANALYZER_MESSAGE_TYPE_PSD:
277 emit psd_message(PSDMessage(static_cast<struct suscan_analyzer_psd_msg *>(data)));
278 break;
279
280 case SUSCAN_ANALYZER_MESSAGE_TYPE_SAMPLES:
281 emit samples_message(SamplesMessage(static_cast<struct suscan_analyzer_sample_batch_msg *>(data)));
282 break;
283
284 case SUSCAN_ANALYZER_MESSAGE_TYPE_INTERNAL:
285 case SUSCAN_ANALYZER_MESSAGE_TYPE_SOURCE_INIT:
286 emit status_message(StatusMessage(static_cast<struct suscan_analyzer_status_msg *>(data)));
287 break;
288
289 case SUSCAN_ANALYZER_MESSAGE_TYPE_PARAMS:
290 emit analyzer_params(AnalyzerParams(*static_cast<struct suscan_analyzer_params *>(data)));
291 break;
292
293 // Exit conditions. These have no data.
294 case SUSCAN_WORKER_MSG_TYPE_HALT:
295 emit halted();
296 break;
297
298 case SUSCAN_ANALYZER_MESSAGE_TYPE_EOS:
299 emit eos();
300 break;
301
302 case SUSCAN_ANALYZER_MESSAGE_TYPE_READ_ERROR:
303 emit read_error();
304 break;
305
306 default:
307 // Everything else is disposed
308 suscan_analyzer_dispose_message(type, data);
309 }
310}
311
312bool Analyzer::registered = false; // Yes, C++!
313

Callers

nothing calls this directly

Calls 6

SourceInfoMessageClass · 0.85
InspectorMessageClass · 0.85
PSDMessageClass · 0.85
SamplesMessageClass · 0.85
StatusMessageClass · 0.85
AnalyzerParamsClass · 0.85

Tested by

no test coverage detected