Salome HOME
Merge branch 'V9_2_2_BR'
[modules/yacs.git] / src / Notification / NOTIFICATION_Consumer.cxx
index 17e379910ac9c654fc2ecbffd8331ebba870b397..1b3f1eb8362b4bba7825efbfc7ef68963f931969 100644 (file)
@@ -1,11 +1,30 @@
-using namespace std;
-//  File      : NOTIFICATION_Consumer.cxx
-//  Created   : 1 Avril 2002
-//  Author    : Laurent DADA / Francis KLOSS
-//  Project   : SALOME
-//  Module    : Notification Consumer
-//  Copyright : CEA / Open CASCADE
+// Copyright (C) 2007-2019  CEA/DEN, EDF R&D, OPEN CASCADE
+//
+// Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
 
+//  SALOME Notification : wrapping of Notification service services
+//  File   : NOTIFICATION_Consumer.cxx
+//  Author : Laurent DADA / Francis KLOSS
+//  Module : SALOME
+//
 #include "NOTIFICATION.hxx"
 
 NOTIFICATION_Consumer::NOTIFICATION_Consumer():
@@ -31,9 +50,9 @@ NOTIFICATION_Consumer::NOTIFICATION_Consumer():
                     proxy_supplier->connect_structured_pull_consumer(_this());
                     _ok = true;
                     MESSAGE("NOTIFICATION Info : successfully connection for pull consumer notification");
-                } catch (CORBA::BAD_PARAM& ex) {
+                } catch (CORBA::BAD_PARAM&) {
                     MESSAGE("NOTIFICATION Error : pull consumer BAD_PARAM exception while connecting");
-                } catch (CosEventChannelAdmin::AlreadyConnected& ex) {
+                } catch (CosEventChannelAdmin::AlreadyConnected&) {
                     MESSAGE("NOTIFICATION Error : pull consumer already connected");
                 } catch (...) {
                     MESSAGE("NOTIFICATION Error : pull consumer failed to connect");
@@ -73,14 +92,15 @@ bool NOTIFICATION_Consumer::Receive(char** graph, char** node, char** type, char
         };
 
         if (status) {
-            char*        Asender;
-            char*        Agraph;
-            char*        Atype;
-            CORBA::ULong Acounter;
-            CORBA::ULong Astamp;
-            char*        Adate;
-            char*        Anode;
-            char*        Amessage;
+            //omniORB 4.1.x requiries using only CORBA types instead C types
+            const char* Asender;
+            const char* Agraph;
+            const char* Atype;
+            CORBA::ULong      Acounter;
+            CORBA::ULong      Astamp;
+            const char* Adate;
+            const char* Anode;
+            const char* Amessage;           
             event->filterable_data[0].value >>= Asender;
             event->filterable_data[1].value >>= Agraph;
             event->filterable_data[2].value >>= Atype;
@@ -89,13 +109,13 @@ bool NOTIFICATION_Consumer::Receive(char** graph, char** node, char** type, char
             event->filterable_data[5].value >>= Anode;
             event->filterable_data[6].value >>= Astamp;
             event->remainder_of_body        >>= Amessage;
-            *graph   = strdup(Agraph);
-            *node    = strdup(Anode);
-            *type    = strdup(Atype);
-            *message = strdup(Amessage);
-            *sender  = strdup(Asender);
+            *graph   = CORBA::string_dup(Agraph);
+            *node    = CORBA::string_dup(Anode);
+            *type    = CORBA::string_dup(Atype);
+            *message = CORBA::string_dup(Amessage);
+            *sender  = CORBA::string_dup(Asender);
             *counter = (long)Acounter;
-            *date    = strdup(Adate);
+            *date    = CORBA::string_dup(Adate);
             *stamp   = (long)Astamp;
         };
     };