]> rtime.felk.cvut.cz Git - orte.git/commitdiff
ortedemo checks for errors in publisher/subscriber creation
authorwentasah <wentasah>
Wed, 20 May 2009 12:20:17 +0000 (12:20 +0000)
committerwentasah <wentasah>
Wed, 20 May 2009 12:20:17 +0000 (12:20 +0000)
Signed-off-by: Michal Sojka <sojkam1@fel.cvut.cz>
orte/contrib/shape/FPublisher.cpp
orte/contrib/shape/FPublisher.h
orte/contrib/shape/FSubscriber.cpp
orte/contrib/shape/FSubscriber.h
orte/contrib/shape/MainForm.cpp

index d318d2dbbeb851a844245ef699104609d432ba2b..5afb3082e989b4f879e38d94a88d81dfc1c7f528 100644 (file)
@@ -8,19 +8,23 @@ FPublisher::FPublisher(QWidget *parent)
     while(incx==0) incx=(rand()%3-1)*stepx;
     while(incy==0) incy=(rand()%3-1)*stepy;
     rect.setRect(0,0,25,45);
-    ORTEInit(); 
-    domain=ORTEDomainAppCreate(ORTE_DEFAULT_DOMAIN,NULL,NULL,ORTE_FALSE);
-    BoxType_type_register(domain);
     publisher=NULL;
     /* setup UI */
     setupUi(this);
 }
 
-void FPublisher::initPublisher(int icolor,int istrength)
+bool FPublisher::initPublisher(int icolor,int istrength)
 {
     NtpTime    persistence;
     const char         *topic;
 
+    ORTEInit();
+    domain=ORTEDomainAppCreate(ORTE_DEFAULT_DOMAIN,NULL,NULL,ORTE_FALSE);
+    if (!domain)
+       return false;
+    
+    BoxType_type_register(domain);
+
     color=icolor;
     strength=istrength;
     boxType.color=color;
@@ -49,6 +53,7 @@ void FPublisher::initPublisher(int icolor,int istrength)
     timer = new QTimer();
     connect( timer, SIGNAL(timeout()), this, SLOT(Timer()));
     timer->start( 50 );
+    return true;
 }
 
 
index 94e460b025e3c9a12fd52fe9baaa81dc20698f32..a84fcb5da64fe67388b433db1afdd57d6391d0ce 100644 (file)
@@ -32,7 +32,7 @@ class FPublisher : public QDialog , public Ui::FPublisher
 public:
     FPublisher(QWidget *parent = 0);
 
-    void initPublisher(int icolor,int istrength);
+    bool initPublisher(int icolor,int istrength);
 
 private slots:
     void Timer();
index a6f0ecd1dd9a23c5f05a015eddb448f1b8c34483..dabdb9790236d8504da94bc22af35da31a5c8327 100644 (file)
@@ -4,9 +4,6 @@
 FSubscriber::FSubscriber(QWidget *parent)
     : QDialog(parent)
 {
-    ORTEInit(); 
-    domain=ORTEDomainAppCreate(ORTE_DEFAULT_DOMAIN,NULL,NULL,ORTE_FALSE);
-    BoxType_type_register(domain);
     subscriberBlue=subscriberGreen=subscriberRed=NULL;
     subscriberBlack=subscriberYellow=NULL;
     /* setup UI */
@@ -61,10 +58,16 @@ recvCallBack(const ORTERecvInfo *info,void *vinstance, void *recvCallBackParam)
 }
 
 
-void FSubscriber::initSubscribers( int iBlue, int iGreen, int iRed, int iBlack, int iYellow )
+bool FSubscriber::initSubscribers( int iBlue, int iGreen, int iRed, int iBlack, int iYellow )
 {
     NtpTime deadline;
     
+    ORTEInit(); 
+    domain=ORTEDomainAppCreate(ORTE_DEFAULT_DOMAIN,NULL,NULL,ORTE_FALSE);
+    if (!domain)
+       return false;
+    BoxType_type_register(domain);
+
     NtpTimeAssembFromMs(msBlue, 0, 0);
     NtpTimeAssembFromMs(msGreen, 0, 0);
     NtpTimeAssembFromMs(msRed, 0, 0);
@@ -146,6 +149,7 @@ void FSubscriber::initSubscribers( int iBlue, int iGreen, int iRed, int iBlack,
            IPADDRESS_INVALID);
        combo->addItem("Yellow");
      }
+     return true;
 }
 
 
index 0adc788baee67e0a48c5c71a4897355d4784fec5..3db07983c773b3f449d1638146d0a25057e2b0da 100644 (file)
@@ -36,7 +36,7 @@ class FSubscriber : public QDialog , public Ui::FSubscriber
 public:
     FSubscriber(QWidget *parent = 0);
 
-    void initSubscribers( int iBlue, int iGreen, int iRed, int iBlack, int iYellow );
+    bool initSubscribers( int iBlue, int iGreen, int iRed, int iBlack, int iYellow );
 
 
 private slots:
index 1e1f4974d15b30bd496b022a9ec1a0e4543e75e0..a3e661e73a7624916e41c49c5701234f15d677e6 100644 (file)
@@ -55,7 +55,11 @@ void MainForm::addPublisher()
     if (radioButton2->isChecked())
       color=4;
     fp = new FPublisher();
-    fp->initPublisher(color,rand()%3);
+    if (!fp->initPublisher(color,rand()%3)) {
+       QMessageBox::critical(this, "ORTE error", "Publisher initialization failed");
+       delete fp;
+       return;
+    }
     connect( this, SIGNAL( rejected() ), fp, SLOT( destroy() ) );
     fp->setWindowIcon(QPixmap(":/FPublisherIcon.png"));
     fp->show();
@@ -66,12 +70,17 @@ void MainForm::addSubscriber()
     FSubscriber *fs;
     fs = new FSubscriber;
     connect( this, SIGNAL( rejected() ), fs, SLOT( destroy() ) );
-    fs->initSubscribers(
+    if (!fs->initSubscribers(
        clBlue->isChecked(),
         clGreen->isChecked(),
         clRed->isChecked(),
         clBlack->isChecked(),
-        clYellow->isChecked());
+        clYellow->isChecked()))
+    {
+       QMessageBox::critical(this, "ORTE error", "Subscriber initialization failed");
+       delete fs;
+       return;
+    }
     fs->setWindowIcon(QPixmap(":/FSubscriberIcon.png"));
     fs->show();
 }