Skip to content

Commit f1caff9

Browse files
authored
[mon_gui] Refactored mon gui to use monitoring struct instead of protobuf (eclipse-ecal#2562)
1 parent aec3670 commit f1caff9

32 files changed

+352
-460
lines changed

app/mon/mon_gui/src/ecalmon.cpp

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -173,10 +173,10 @@ Ecalmon::Ecalmon(QWidget *parent)
173173
monitor_update_timer_->start(1000);
174174

175175

176-
connect(this, &Ecalmon::monitorUpdatedSignal, [this](eCAL::pb::Monitoring monitoring_pb) {topic_widget_ ->monitorUpdated(monitoring_pb);});
177-
connect(this, &Ecalmon::monitorUpdatedSignal, [this](eCAL::pb::Monitoring monitoring_pb) {process_widget_->monitorUpdated(monitoring_pb); });
178-
connect(this, &Ecalmon::monitorUpdatedSignal, [this](eCAL::pb::Monitoring monitoring_pb) {host_widget_ ->monitorUpdated(monitoring_pb); });
179-
connect(this, &Ecalmon::monitorUpdatedSignal, [this](eCAL::pb::Monitoring monitoring_pb) {service_widget_->monitorUpdated(monitoring_pb); });
176+
connect(this, &Ecalmon::monitorUpdatedSignal, [this](const eCAL::Monitoring::SMonitoring& monitoring) {topic_widget_ ->monitorUpdated(monitoring);});
177+
connect(this, &Ecalmon::monitorUpdatedSignal, [this](const eCAL::Monitoring::SMonitoring& monitoring) {process_widget_->monitorUpdated(monitoring); });
178+
connect(this, &Ecalmon::monitorUpdatedSignal, [this](const eCAL::Monitoring::SMonitoring& monitoring) {host_widget_ ->monitorUpdated(monitoring); });
179+
connect(this, &Ecalmon::monitorUpdatedSignal, [this](const eCAL::Monitoring::SMonitoring& monitoring) {service_widget_->monitorUpdated(monitoring); });
180180

181181
// Monitor Update Speed selection
182182
monitor_update_speed_group_ = new QActionGroup(this);
@@ -283,7 +283,7 @@ Ecalmon::Ecalmon(QWidget *parent)
283283
// Dock widgets in view menu
284284
createDockWidgetMenu();
285285

286-
connect(this, &Ecalmon::monitorUpdatedSignal, [this](eCAL::pb::Monitoring monitoring_pb){topic_widget_->monitorUpdated(monitoring_pb);});
286+
connect(this, &Ecalmon::monitorUpdatedSignal, [this](const eCAL::Monitoring::SMonitoring& monitoring){topic_widget_->monitorUpdated(monitoring);});
287287

288288
ui_.action_monitor_refresh_speed_1s->trigger();
289289

@@ -347,18 +347,17 @@ void Ecalmon::updateMonitor()
347347
#ifndef NDEBUG
348348
qDebug().nospace() << "[" << metaObject()->className() << "] Updating monitor";
349349
#endif // NDEBUG
350-
std::string monitoring_string;
351-
eCAL::pb::Monitoring monitoring_pb;
350+
eCAL::Monitoring::SMonitoring monitoring;
352351

353-
if (eCAL::Monitoring::GetMonitoring(monitoring_string) && !monitoring_string.empty() && monitoring_pb.ParseFromString(monitoring_string))
352+
if (eCAL::Monitoring::GetMonitoring(monitoring))
354353
{
355354
monitor_error_counter_ = 0;
356355
if (error_label_->isVisible())
357356
{
358357
error_label_->setHidden(true);
359358
}
360359

361-
emit monitorUpdatedSignal(monitoring_pb);
360+
emit monitorUpdatedSignal(monitoring);
362361
}
363362
else
364363
{

app/mon/mon_gui/src/ecalmon.h

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -33,14 +33,7 @@
3333
#include "widgets/raw_monitoring_data_widget/raw_monitoring_data_widget.h"
3434
#include "widgets/system_information_widget/system_information_widget.h"
3535

36-
#ifdef _MSC_VER
37-
#pragma warning(push)
38-
#pragma warning(disable: 4100 4127 4146 4505 4800 4189 4592) // disable proto warnings
39-
#endif
40-
#include <ecal/core/pb/monitoring.pb.h>
41-
#ifdef _MSC_VER
42-
#pragma warning(pop)
43-
#endif
36+
#include <ecal/types/monitoring.h>
4437

4538
class Ecalmon : public QMainWindow
4639
{
@@ -79,7 +72,7 @@ private slots:
7972
void updateEcalTime();
8073

8174
signals:
82-
void monitorUpdatedSignal(const eCAL::pb::Monitoring&);
75+
void monitorUpdatedSignal(const eCAL::Monitoring::SMonitoring&);
8376

8477
protected:
8578
void closeEvent(QCloseEvent *event) override;

app/mon/mon_gui/src/widgets/ecalmon_tree_widget/ecalmon_tree_widget.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -222,12 +222,12 @@ void EcalmonTreeWidget::setDefaultForcedColumn(int column)
222222
//// Slots controlled by the main application ////
223223
////////////////////////////////////////////////////////////////////////////////
224224

225-
void EcalmonTreeWidget::monitorUpdated(const eCAL::pb::Monitoring& monitoring_pb)
225+
void EcalmonTreeWidget::monitorUpdated(const eCAL::Monitoring::SMonitoring& monitoring)
226226
{
227-
emit topicsUpdated(monitoring_pb);
227+
emit topicsUpdated(monitoring);
228228
if (group_tree_model_)
229229
{
230-
group_tree_model_->monitorUpdated(monitoring_pb);
230+
group_tree_model_->monitorUpdated(monitoring);
231231
}
232232
}
233233

app/mon/mon_gui/src/widgets/ecalmon_tree_widget/ecalmon_tree_widget.h

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -25,17 +25,9 @@
2525
#include <QMap>
2626
#include "ui_ecalmon_tree_widget.h"
2727

28-
#ifdef _MSC_VER
29-
#pragma warning(push)
30-
#pragma warning(disable: 4100 4127 4146 4505 4800 4189 4592) // disable proto warnings
31-
#endif
32-
#include <ecal/core/pb/monitoring.pb.h>
33-
#ifdef _MSC_VER
34-
#pragma warning(pop)
35-
#endif
36-
3728
#include "widgets/models/group_tree_model.h"
3829
#include <CustomQt/QMulticolumnSortFilterProxyModel.h>
30+
#include <ecal/types/monitoring.h>
3931

4032
class EcalmonTreeWidget : public QWidget
4133
{
@@ -62,10 +54,10 @@ class EcalmonTreeWidget : public QWidget
6254
void setDefaultForcedColumn(int column);
6355

6456
signals:
65-
void topicsUpdated(const eCAL::pb::Monitoring& monitoring_pb);
57+
void topicsUpdated(const eCAL::Monitoring::SMonitoring& monitoring);
6658

6759
public slots:
68-
virtual void monitorUpdated(const eCAL::pb::Monitoring& enable);
60+
virtual void monitorUpdated(const eCAL::Monitoring::SMonitoring& monitoring);
6961
void setAlternatingRowColors(bool alternating_colors_enabled);
7062
virtual void resetLayout();
7163

app/mon/mon_gui/src/widgets/ecalmon_tree_widget/host_widget.cpp

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -85,19 +85,21 @@ HostWidget::~HostWidget()
8585

8686
void HostWidget::autoSizeColumns()
8787
{
88-
eCAL::pb::Monitoring example_monitoring_pb;
88+
eCAL::Monitoring::SMonitoring example_monitoring;
8989

90-
auto example_process_pb = example_monitoring_pb.add_processes();
90+
eCAL::Monitoring::SProcess example_process;
9191

92-
example_process_pb->set_registration_clock(999999);
93-
example_process_pb->set_host_name("CARPC00____");
94-
example_process_pb->set_process_id(999999);
95-
example_process_pb->set_process_name("");
96-
example_process_pb->set_unit_name("CameraSensorMapFusionCAF___");
97-
example_process_pb->set_process_parameter("");
92+
example_process.registration_clock = 999999;
93+
example_process.host_name = "CARPC00____";
94+
example_process.process_id = 999999;
95+
example_process.process_name = "";
96+
example_process.unit_name = "CameraSensorMapFusionCAF___";
97+
example_process.process_parameter = "";
98+
99+
example_monitoring.processes.push_back(example_process);
98100

99101
HostTreeItem* example_host_item = new HostTreeItem("CARPC00____");
100-
example_host_item->update(example_monitoring_pb);
102+
example_host_item->update(example_monitoring);
101103

102104
host_tree_model_->insertItem(example_host_item);
103105

app/mon/mon_gui/src/widgets/ecalmon_tree_widget/process_widget.cpp

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -107,19 +107,19 @@ ProcessWidget::~ProcessWidget()
107107

108108
void ProcessWidget::autoSizeColumns()
109109
{
110-
eCAL::pb::Process example_process_pb;
111-
example_process_pb.set_registration_clock(999999);
112-
example_process_pb.set_host_name("HNAME00____");
113-
example_process_pb.set_process_id(999999);
114-
example_process_pb.set_process_name("");
115-
example_process_pb.set_unit_name("eCALProcessUnitNameABCDE___");
116-
example_process_pb.set_process_parameter("");
117-
118-
example_process_pb.mutable_state()->set_severity(eCAL::pb::eProcessSeverity::proc_sev_warning);
119-
example_process_pb.mutable_state()->set_severity_level(eCAL::pb::eProcessSeverityLevel::proc_sev_level5);
120-
//example_process_pb.set_tsync_mode();
121-
122-
ProcessTreeItem* example_process_item = new ProcessTreeItem(example_process_pb);
110+
eCAL::Monitoring::SProcess example_process;
111+
example_process.registration_clock = 999999;
112+
example_process.host_name = "HNAME00____";
113+
example_process.process_id = 999999;
114+
example_process.process_name = "";
115+
example_process.unit_name = "eCALProcessUnitNameABCDE___";
116+
example_process.process_parameter = "";
117+
118+
example_process.state_severity = 2; // proc_sev_warning
119+
example_process.state_severity_level = 5; // proc_sev_level5
120+
//example_process.time_sync_state = "";
121+
122+
ProcessTreeItem* example_process_item = new ProcessTreeItem(example_process);
123123
GroupTreeItem* example_group_item = new GroupTreeItem("HNAME00____", "", "", QVariant(), "");
124124

125125
process_tree_model_->insertItem(example_process_item);

app/mon/mon_gui/src/widgets/ecalmon_tree_widget/service_widget.cpp

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -114,23 +114,23 @@ ServiceWidget::~ServiceWidget()
114114

115115
void ServiceWidget::autoSizeColumns()
116116
{
117-
eCAL::pb::Service example_service_pb;
118-
119-
example_service_pb.set_registration_clock(999999);
120-
example_service_pb.set_host_name("CARPC00____");
121-
example_service_pb.set_process_name("");
122-
example_service_pb.set_unit_name("eCALRPCService____");
123-
example_service_pb.set_process_id(999999);
124-
example_service_pb.set_service_name("eCALRPCService____");
125-
example_service_pb.set_tcp_port_v1(999999);
126-
127-
eCAL::pb::Method* method = example_service_pb.mutable_methods()->Add();
128-
method->set_method_name("ShutdownProcessName____");
129-
method->set_req_type("ShutdownProcessNameRequest____");
130-
method->set_resp_type("ShutdownProcessNameResponse____");
131-
method->set_call_count(999999);
132-
133-
auto* example_topic_item = new ServiceTreeItem<eCAL::pb::Service>(example_service_pb, *method);
117+
eCAL::Monitoring::SServer example_service;
118+
119+
example_service.registration_clock = 999999;
120+
example_service.host_name = "CARPC00____";
121+
example_service.process_name = "";
122+
example_service.unit_name = "eCALRPCService____";
123+
example_service.process_id = 999999;
124+
example_service.service_name = "eCALRPCService____";
125+
example_service.tcp_port_v1 = 999999;
126+
127+
eCAL::Monitoring::SMethod example_method;
128+
example_method.method_name = "ShutdownProcessName____";
129+
example_method.request_datatype_information.name = "ShutdownProcessNameRequest____";
130+
example_method.response_datatype_information.name = "ShutdownProcessNameResponse____";
131+
example_method.call_count = 999999;
132+
133+
auto* example_topic_item = new ServiceTreeItem<eCAL::Monitoring::SServer>(example_service, example_method);
134134
GroupTreeItem* example_group_item = new GroupTreeItem("__ / eCALRPCService____", "", "", QVariant(), "");
135135

136136
service_tree_model_->insertItem(example_topic_item);

app/mon/mon_gui/src/widgets/ecalmon_tree_widget/topic_widget.cpp

Lines changed: 43 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,17 @@
3939
#include <QDesktopWidget>
4040
#endif // QT_VERSION < QT_VERSION_CHECK(5, 15, 0)
4141

42+
namespace
43+
{
44+
QString combineTopicEncodingAndType(const QString& encoding, const QString& type)
45+
{
46+
if (encoding.isEmpty()) return type;
47+
if (type.isEmpty()) return encoding;
48+
49+
return encoding + ":" + type;
50+
}
51+
}
52+
4253
TopicWidget::TopicWidget(QWidget *parent)
4354
: EcalmonTreeWidget(parent)
4455
, parse_time_(true)
@@ -218,30 +229,36 @@ void TopicWidget::loadRegExpLists()
218229

219230
void TopicWidget::autoSizeColumns()
220231
{
221-
eCAL::pb::Topic example_topic_pb;
222-
223-
example_topic_pb.set_registration_clock(999999);
224-
example_topic_pb.set_host_name("HOSTNAME____");
225-
example_topic_pb.set_process_id(999999);
226-
example_topic_pb.set_process_name("");
227-
example_topic_pb.set_unit_name("ATypicalLongUnitName___");
228-
example_topic_pb.set_topic_id("");
229-
example_topic_pb.set_topic_name("ATypicalLongTopicName___");
230-
example_topic_pb.set_direction("subscriber__");
231-
example_topic_pb.mutable_datatype_information()->set_name("Enc.TypeName.Name____");
232-
example_topic_pb.mutable_datatype_information()->set_encoding("encdg:");
233-
//example_topic_pb.mutable_tdatatype()->set_desc("");
234-
235-
example_topic_pb.mutable_transport_layer()->Add()->set_type(eCAL::pb::eTransportLayerType::tl_ecal_shm);
236-
example_topic_pb.mutable_transport_layer()->Add()->set_type(eCAL::pb::eTransportLayerType::tl_ecal_udp_mc);
237-
example_topic_pb.set_topic_size(999999);
238-
example_topic_pb.set_connections_local(999999);
239-
example_topic_pb.set_connections_external(999999);
240-
example_topic_pb.set_message_drops(999999);
241-
example_topic_pb.set_data_clock(99999999999);
242-
example_topic_pb.set_data_frequency(999999);
243-
244-
TopicTreeItem* example_topic_item = new TopicTreeItem(example_topic_pb);
232+
eCAL::Monitoring::STopic example_topic;
233+
234+
example_topic.registration_clock = 999999;
235+
example_topic.host_name = "HOSTNAME____";
236+
example_topic.process_id = 999999;
237+
example_topic.process_name = "";
238+
example_topic.unit_name = "ATypicalLongUnitName___";
239+
example_topic.topic_id = 0;
240+
example_topic.topic_name = "ATypicalLongTopicName___";
241+
example_topic.direction = "subscriber__";
242+
example_topic.datatype_information.name = "Enc.TypeName.Name____";
243+
example_topic.datatype_information.encoding = "encdg:";
244+
//example_topic.datatype_information.descriptor = "";
245+
246+
eCAL::Monitoring::STransportLayer tl1;
247+
tl1.type = eCAL::Monitoring::eTransportLayerType::shm;
248+
example_topic.transport_layer.push_back(tl1);
249+
250+
eCAL::Monitoring::STransportLayer tl2;
251+
tl2.type = eCAL::Monitoring::eTransportLayerType::udp_mc;
252+
example_topic.transport_layer.push_back(tl2);
253+
254+
example_topic.topic_size = 999999;
255+
example_topic.connections_local = 999999;
256+
example_topic.connections_external = 999999;
257+
example_topic.message_drops = 999999;
258+
example_topic.data_clock = 99999999999;
259+
example_topic.data_frequency = 999999;
260+
261+
TopicTreeItem* example_topic_item = new TopicTreeItem(example_topic);
245262
GroupTreeItem* example_group_item = new GroupTreeItem("ATypicalLongGroupName___", "", "", QVariant(), "");
246263

247264
topic_tree_model_->insertItem(example_group_item);
@@ -311,7 +328,7 @@ void TopicWidget::openReflectionWindowForSelection()
311328
QString topic_encoding = topic_item->data(TopicTreeItem::Columns::TENCODING, (Qt::ItemDataRole)ItemDataRoles::RawDataRole).toString(); //-V1016
312329
QString topic_type = topic_item->data(TopicTreeItem::Columns::TTYPE, (Qt::ItemDataRole)ItemDataRoles::RawDataRole).toString(); //-V1016
313330

314-
QString combined_topic_encoding_type{ QString::fromStdString(eCAL::Util::CombinedTopicEncodingAndType(topic_encoding.toStdString(), topic_type.toStdString())) };
331+
QString combined_topic_encoding_type{ combineTopicEncodingAndType(topic_encoding, topic_type) };
315332

316333
// Create a new Reflection Window
317334
VisualisationWindow* visualisation_window = new VisualisationWindow(topic_name, combined_topic_encoding_type);
@@ -348,7 +365,7 @@ void TopicWidget::fillContextMenu(QMenu& menu, const QList<QAbstractTreeItem*>&
348365
QString topic_encoding = item->data((int)TopicTreeItem::Columns::TENCODING).toString();
349366
QString topic_type = item->data((int)TopicTreeItem::Columns::TTYPE).toString();
350367

351-
QString combined_topic_encoding_type{ QString::fromStdString(eCAL::Util::CombinedTopicEncodingAndType(topic_encoding.toStdString(), topic_type.toStdString()))};
368+
QString combined_topic_encoding_type{ combineTopicEncodingAndType(topic_encoding, topic_type) };
352369

353370
QAction* reflection_action = new QAction(tr("Inspect topic \"") + topic_name + "\"", &menu);
354371
connect(reflection_action, &QAction::triggered, this, &TopicWidget::openReflectionWindowForSelection);

app/mon/mon_gui/src/widgets/log_widget/log_widget.cpp

Lines changed: 3 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -35,15 +35,7 @@
3535
#endif
3636

3737
#include <ecal/ecal.h>
38-
39-
#ifdef _MSC_VER
40-
#pragma warning(push)
41-
#pragma warning(disable: 4100 4127 4146 4505 4800 4189 4592) // disable proto warnings
42-
#endif
43-
#include <ecal/core/pb/monitoring.pb.h>
44-
#ifdef _MSC_VER
45-
#pragma warning(pop)
46-
#endif
38+
#include <ecal/types/logging.h>
4739

4840
#include "widgets/models/item_data_roles.h"
4941

@@ -187,17 +179,9 @@ LogWidget::~LogWidget()
187179

188180
void LogWidget::getEcalLogs()
189181
{
190-
eCAL::pb::LogMessageList logging;
191-
std::string logging_string;
182+
eCAL::Logging::SLogging logging;
192183

193-
if (eCAL::Logging::GetLogging(logging_string) != 0)
194-
{
195-
logging.ParseFromString(logging_string);
196-
}
197-
else
198-
{
199-
return;
200-
}
184+
if (!eCAL::Logging::GetLogging(logging)) return;
201185

202186
log_model_->insertLogs(logging);
203187

app/mon/mon_gui/src/widgets/models/group_tree_model.h

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -20,15 +20,7 @@
2020
#pragma once
2121

2222
#include <CustomQt/QAbstractTreeModel.h>
23-
24-
#ifdef _MSC_VER
25-
#pragma warning(push)
26-
#pragma warning(disable: 4100 4127 4146 4505 4800 4189 4592) // disable proto warnings
27-
#endif
28-
#include <ecal/core/pb/monitoring.pb.h>
29-
#ifdef _MSC_VER
30-
#pragma warning(pop)
31-
#endif
23+
#include <ecal/types/monitoring.h>
3224

3325
#include "group_tree_item.h"
3426

@@ -57,7 +49,7 @@ class GroupTreeModel : public QAbstractTreeModel
5749

5850
QVector<QPair<int, QString>> getTreeItemColumnNameMapping() const;
5951

60-
virtual void monitorUpdated(const eCAL::pb::Monitoring& monitoring_pb) = 0;
52+
virtual void monitorUpdated(const eCAL::Monitoring::SMonitoring& monitoring) = 0;
6153

6254
protected:
6355
int mapColumnToItem(int model_column, int tree_item_type) const override;

0 commit comments

Comments
 (0)