@@ -157,6 +157,7 @@ void ClusterWidget::onRunServer()
157
157
{
158
158
updateServerEntries ();
159
159
160
+ yarp::manager::ErrorLogger* logger = yarp::manager::ErrorLogger::Instance ();
160
161
std::string cmdRunServer = getSSHCmd (cluster.user , cluster.nsNode , cluster.ssh_options );
161
162
if (ui->checkRos ->isChecked ())
162
163
{
@@ -169,7 +170,8 @@ void ClusterWidget::onRunServer()
169
170
if (system (cmdRunServer.c_str ()) != 0 )
170
171
{
171
172
std::string err = " ClusterWidget: failed to run the server on " + cluster.nsNode ;
172
- logError (QString (err.c_str ()));
173
+ logger->addError (err);
174
+ reportErrors ();
173
175
}
174
176
else
175
177
{
@@ -201,10 +203,13 @@ void ClusterWidget::onStopServer()
201
203
202
204
cmdStopServer = cmdStopServer + " killall yarpserver &" ;
203
205
206
+ yarp::manager::ErrorLogger* logger = yarp::manager::ErrorLogger::Instance ();
207
+
204
208
if (system (cmdStopServer.c_str ()) != 0 )
205
209
{
206
210
std::string err = " ClusterWidget: failed to stop the server on " + cluster.nsNode ;
207
- logError (QString (err.c_str ()));
211
+ logger->addError (err);
212
+ reportErrors ();
208
213
}
209
214
else
210
215
{
@@ -232,10 +237,12 @@ void ClusterWidget::onKillServer()
232
237
233
238
cmdKillServer = cmdKillServer + " killall -9 yarpserver &" ;
234
239
240
+ yarp::manager::ErrorLogger* logger = yarp::manager::ErrorLogger::Instance ();
235
241
if (system (cmdKillServer.c_str ()) != 0 )
236
242
{
237
243
std::string err = " ClusterWidget: failed to kill the server on " + cluster.nsNode ;
238
- logError (QString (err.c_str ()));
244
+ logger->addError (err);
245
+ reportErrors ();
239
246
}
240
247
else
241
248
{
@@ -284,10 +291,12 @@ void ClusterWidget::onRunSelected()
284
291
{
285
292
cmdRunYarprun.append (" '" );
286
293
}
294
+ yarp::manager::ErrorLogger* logger = yarp::manager::ErrorLogger::Instance ();
287
295
if (system (cmdRunYarprun.c_str ()) != 0 )
288
296
{
289
297
std::string err = " ClusterWidget: failed to run yarprun on " + node.name ;
290
- logError (QString (err.c_str ()));
298
+ logger->addError (err);
299
+ reportErrors ();
291
300
}
292
301
else
293
302
{
@@ -322,10 +331,12 @@ void ClusterWidget::onStopSelected()
322
331
323
332
cmdStopYarprun.append (" yarprun --exit --on " ).append (portName).append (" &" );
324
333
334
+ yarp::manager::ErrorLogger* logger = yarp::manager::ErrorLogger::Instance ();
325
335
if (system (cmdStopYarprun.c_str ()) != 0 )
326
336
{
327
337
std::string err = " ClusterWidget: failed to stop yarprun on " + node.name ;
328
- logError (QString (err.c_str ()));
338
+ logger->addError (err);
339
+ reportErrors ();
329
340
}
330
341
else
331
342
{
@@ -354,10 +365,12 @@ void ClusterWidget::onKillSelected()
354
365
355
366
cmdKillYarprun.append (" killall -9 yarprun &" );
356
367
368
+ yarp::manager::ErrorLogger* logger = yarp::manager::ErrorLogger::Instance ();
357
369
if (system (cmdKillYarprun.c_str ()) != 0 )
358
370
{
359
371
std::string err = " ClusterWidget: failed to kill yarprun on " + node.name ;
360
- logError (QString (err.c_str ()));
372
+ logger->addError (err);
373
+ reportErrors ();
361
374
}
362
375
else
363
376
{
@@ -399,10 +412,12 @@ void ClusterWidget::onExecute()
399
412
400
413
cmdExecute.append (" " ).append (command);
401
414
415
+ yarp::manager::ErrorLogger* logger = yarp::manager::ErrorLogger::Instance ();
402
416
if (system (cmdExecute.c_str ()) != 0 )
403
417
{
404
418
std::string err = " ClusterWidget: failed to run " + command + " on " + node.name ;
405
- logError (QString (err.c_str ()));
419
+ logger->addError (err);
420
+ reportErrors ();
406
421
}
407
422
else
408
423
{
@@ -594,6 +609,20 @@ void ClusterWidget::updateServerEntries()
594
609
cluster.nsNode = ui->nsNodeComboBox ->currentText ().simplified ().trimmed ().toStdString ();
595
610
}
596
611
612
+ void ClusterWidget::reportErrors ()
613
+ {
614
+ yarp::manager::ErrorLogger* logger = yarp::manager::ErrorLogger::Instance ();
615
+ if (logger->errorCount () || logger->warningCount ())
616
+ {
617
+ const char * err;
618
+ while ((err=logger->getLastError ()))
619
+ {
620
+ QString msg = QString (" ClusterWidget: %1" ).arg (err);
621
+ emit logError (msg);
622
+ }
623
+ }
624
+ }
625
+
597
626
ClusterWidget::~ClusterWidget ()
598
627
{
599
628
if (clusLoader)
0 commit comments