certi-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[certi-cvs] certi RTIA/DeclarationManagement.cc RTIA/Files....


From: certi-cvs
Subject: [certi-cvs] certi RTIA/DeclarationManagement.cc RTIA/Files....
Date: Wed, 08 Apr 2009 10:47:20 +0000

CVSROOT:        /sources/certi
Module name:    certi
Changes by:     Christian Stenzel <approx>      09/04/08 10:47:20

Modified files:
        RTIA           : DeclarationManagement.cc Files.hh 
                         ObjectManagement.cc RTIA.cc RTIA_network.cc 
                         Statistics.cc TimeManagement.cc 
                         TimeManagement.hh 
        RTIG           : Federation.cc RTIG_processing.cc 
        libCERTI       : NM_Classes.cc NM_Classes.hh NetworkMessage.hh 
        libRTI         : RTIambPrivateRefs.cc 

Log message:
        startRegistrationForObjectClass implemented

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/certi/RTIA/DeclarationManagement.cc?cvsroot=certi&r1=3.25&r2=3.26
http://cvs.savannah.gnu.org/viewcvs/certi/RTIA/Files.hh?cvsroot=certi&r1=3.7&r2=3.8
http://cvs.savannah.gnu.org/viewcvs/certi/RTIA/ObjectManagement.cc?cvsroot=certi&r1=3.59&r2=3.60
http://cvs.savannah.gnu.org/viewcvs/certi/RTIA/RTIA.cc?cvsroot=certi&r1=3.24&r2=3.25
http://cvs.savannah.gnu.org/viewcvs/certi/RTIA/RTIA_network.cc?cvsroot=certi&r1=3.31&r2=3.32
http://cvs.savannah.gnu.org/viewcvs/certi/RTIA/Statistics.cc?cvsroot=certi&r1=3.18&r2=3.19
http://cvs.savannah.gnu.org/viewcvs/certi/RTIA/TimeManagement.cc?cvsroot=certi&r1=3.46&r2=3.47
http://cvs.savannah.gnu.org/viewcvs/certi/RTIA/TimeManagement.hh?cvsroot=certi&r1=3.18&r2=3.19
http://cvs.savannah.gnu.org/viewcvs/certi/RTIG/Federation.cc?cvsroot=certi&r1=3.104&r2=3.105
http://cvs.savannah.gnu.org/viewcvs/certi/RTIG/RTIG_processing.cc?cvsroot=certi&r1=3.81&r2=3.82
http://cvs.savannah.gnu.org/viewcvs/certi/libCERTI/NM_Classes.cc?cvsroot=certi&r1=3.14&r2=3.15
http://cvs.savannah.gnu.org/viewcvs/certi/libCERTI/NM_Classes.hh?cvsroot=certi&r1=3.9&r2=3.10
http://cvs.savannah.gnu.org/viewcvs/certi/libCERTI/NetworkMessage.hh?cvsroot=certi&r1=3.45&r2=3.46
http://cvs.savannah.gnu.org/viewcvs/certi/libRTI/RTIambPrivateRefs.cc?cvsroot=certi&r1=3.17&r2=3.18

Patches:
Index: RTIA/DeclarationManagement.cc
===================================================================
RCS file: /sources/certi/certi/RTIA/DeclarationManagement.cc,v
retrieving revision 3.25
retrieving revision 3.26
diff -u -b -r3.25 -r3.26
--- RTIA/DeclarationManagement.cc       21 Nov 2008 13:41:52 -0000      3.25
+++ RTIA/DeclarationManagement.cc       8 Apr 2009 10:47:17 -0000       3.26
@@ -18,7 +18,7 @@
 // along with this program ; if not, write to the Free Software
 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 //
-// $Id: DeclarationManagement.cc,v 3.25 2008/11/21 13:41:52 approx Exp $
+// $Id: DeclarationManagement.cc,v 3.26 2009/04/08 10:47:17 approx Exp $
 // ----------------------------------------------------------------------------
 
 #include <config.h>
@@ -387,26 +387,16 @@
 startRegistrationForObjectClass(ObjectClassHandle the_class,
                                 TypeException &e)
 {
-    Message req, rep ;
-
-    // Pas de partie locale
+    G.Out(pdGendoc,"enter 
DeclarationManagement::startRegistrationForObjectClass");
 
-    // Partie Federe
+    Message req;
 
     req.type = Message::START_REGISTRATION_FOR_OBJECT_CLASS ;
     req.setObjectClass(the_class);
 
-    comm->sendUN(&req);
+    comm->requestFederateService(&req);
 
-    comm->receiveUN(&rep);
-
-    if (rep.type != req.type) {
-        D.Out(pdExcept, "Unknown response type when waiting for "
-              "START_REGISTRATION_FOR_OBJECT_CLASS.");
-        throw RTIinternalError("");
-    }
-
-    e = rep.getExceptionType();
+    G.Out(pdGendoc,"exit  
DeclarationManagement::startRegistrationForObjectClass");
 }
 
 // ----------------------------------------------------------------------------
@@ -509,4 +499,4 @@
 
 }} // namespace certi/rtia
 
-// $Id: DeclarationManagement.cc,v 3.25 2008/11/21 13:41:52 approx Exp $
+// $Id: DeclarationManagement.cc,v 3.26 2009/04/08 10:47:17 approx Exp $

Index: RTIA/Files.hh
===================================================================
RCS file: /sources/certi/certi/RTIA/Files.hh,v
retrieving revision 3.7
retrieving revision 3.8
diff -u -b -r3.7 -r3.8
--- RTIA/Files.hh       30 Apr 2005 16:38:39 -0000      3.7
+++ RTIA/Files.hh       8 Apr 2009 10:47:17 -0000       3.8
@@ -18,13 +18,14 @@
 // along with this program ; if not, write to the Free Software
 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 //
-// $Id: Files.hh,v 3.7 2005/04/30 16:38:39 breholee Exp $
+// $Id: Files.hh,v 3.8 2009/04/08 10:47:17 approx Exp $
 // ----------------------------------------------------------------------------
 
 #ifndef CERTI_RTIA_FILES_HH
 #define CERTI_RTIA_FILES_HH
 
 #include "FederationManagement.hh"
+#include "DeclarationManagement.hh"
 #include "ObjectManagement.hh"
 #include "NetworkMessage.hh"
 
@@ -35,6 +36,7 @@
 namespace rtia {
 
 class FederationManagement ;
+class DeclarationManagement ;
 class ObjectManagement ;
 
 class Queues
@@ -57,6 +59,7 @@
     NetworkMessage *giveCommandMessage(bool &msg_donne, bool &msg_restant);
 
     FederationManagement *fm ;
+    DeclarationManagement *dm ;
     ObjectManagement *om ;
 
 private:
@@ -73,4 +76,4 @@
 
 #endif // CERTI_RTIA_FILES_HH
 
-// $Id: Files.hh,v 3.7 2005/04/30 16:38:39 breholee Exp $
+// $Id: Files.hh,v 3.8 2009/04/08 10:47:17 approx Exp $

Index: RTIA/ObjectManagement.cc
===================================================================
RCS file: /sources/certi/certi/RTIA/ObjectManagement.cc,v
retrieving revision 3.59
retrieving revision 3.60
diff -u -b -r3.59 -r3.60
--- RTIA/ObjectManagement.cc    21 Nov 2008 13:41:52 -0000      3.59
+++ RTIA/ObjectManagement.cc    8 Apr 2009 10:47:17 -0000       3.60
@@ -241,9 +241,23 @@
 
     comm->requestFederateService(&req);
 
+    /* FIXME
+     *
+     * discoverObject tries to auto-registrate a discovered object instance,
+     * if the object is already discovered through a previous invocation of
+     * discoverObject the exceptiobn ObjectAlreadyRegistered is raised.
+     *
+     * This behaviour needs further investigation. 
+     * Is it useful to call registerObjectInstance within a federate service?
+     */
+
+    try {
     // Adding discovered object in federate internal object list.
     rootObject->registerObjectInstance(fm->federate, the_class, the_object,
                                        req.getName().c_str());
+    } 
+    catch (ObjectAlreadyRegistered) {
+    }
 }
 
 // ----------------------------------------------------------------------------

Index: RTIA/RTIA.cc
===================================================================
RCS file: /sources/certi/certi/RTIA/RTIA.cc,v
retrieving revision 3.24
retrieving revision 3.25
diff -u -b -r3.24 -r3.25
--- RTIA/RTIA.cc        27 Jun 2008 08:22:11 -0000      3.24
+++ RTIA/RTIA.cc        8 Apr 2009 10:47:17 -0000       3.25
@@ -18,7 +18,7 @@
 // along with this program ; if not, write to the Free Software
 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 //
-// $Id: RTIA.cc,v 3.24 2008/06/27 08:22:11 erk Exp $
+// $Id: RTIA.cc,v 3.25 2009/04/08 10:47:17 approx Exp $
 // ----------------------------------------------------------------------------
 
 #include <config.h>
@@ -50,11 +50,12 @@
     om     = new ObjectManagement(comm, fm, rootObject);
     owm    = new OwnershipManagement(comm, fm);
     dm     = new DeclarationManagement(comm, fm, rootObject);
-    tm     = new TimeManagement(comm, queues, fm, om, owm);
+    tm     = new TimeManagement(comm, queues, fm, dm, om, owm);
     ddm    = new DataDistribution(rootObject, fm, comm);
 
     fm->tm     = tm ;
     queues->fm = fm ;
+    queues->dm = dm ;
     om->tm     = tm ;
 }
 
@@ -201,4 +202,4 @@
 
 }} // namespace certi/rtia
 
-// $Id: RTIA.cc,v 3.24 2008/06/27 08:22:11 erk Exp $
+// $Id: RTIA.cc,v 3.25 2009/04/08 10:47:17 approx Exp $

Index: RTIA/RTIA_network.cc
===================================================================
RCS file: /sources/certi/certi/RTIA/RTIA_network.cc,v
retrieving revision 3.31
retrieving revision 3.32
diff -u -b -r3.31 -r3.32
--- RTIA/RTIA_network.cc        2 Apr 2009 19:58:12 -0000       3.31
+++ RTIA/RTIA_network.cc        8 Apr 2009 10:47:18 -0000       3.32
@@ -18,7 +18,7 @@
 // along with this program ; if not, write to the Free Software
 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 //
-// $Id: RTIA_network.cc,v 3.31 2009/04/02 19:58:12 erk Exp $
+// $Id: RTIA_network.cc,v 3.32 2009/04/08 10:47:18 approx Exp $
 // ----------------------------------------------------------------------------
 
 #include <config.h>
@@ -352,6 +352,11 @@
          D.Out(pdTrace, "Receiving Message from RTIG, "
                          " type setASAS.");
          break;
+      case NetworkMessage::START_REGISTRATION_FOR_OBJECT_CLASS:
+         D.Out(pdTrace, "Receiving Message from RTIG, "
+                         " type StartRegForObjClass.");
+         queues->insertLastCommand(msg);
+         break;
        
       default:
       {
@@ -368,4 +373,4 @@
 
 }} // namespace certi/rtia
 
-// $Id: RTIA_network.cc,v 3.31 2009/04/02 19:58:12 erk Exp $
+// $Id: RTIA_network.cc,v 3.32 2009/04/08 10:47:18 approx Exp $

Index: RTIA/Statistics.cc
===================================================================
RCS file: /sources/certi/certi/RTIA/Statistics.cc,v
retrieving revision 3.18
retrieving revision 3.19
diff -u -b -r3.18 -r3.19
--- RTIA/Statistics.cc  6 Nov 2008 14:28:58 -0000       3.18
+++ RTIA/Statistics.cc  8 Apr 2009 10:47:18 -0000       3.19
@@ -298,6 +298,12 @@
        RTI_MSG_NAME(NetworkMessage::DDM_UNSUBSCRIBE_INTERACTION);
         RTI_MSG_NAME(NetworkMessage::PROVIDE_ATTRIBUTE_VALUE_UPDATE);
         RTI_MSG_NAME(NetworkMessage::GET_FED_FILE);
+       RTI_MSG_NAME(NetworkMessage::SET_CLASS_RELEVANCE_ADVISORY_SWITCH);
+       RTI_MSG_NAME(NetworkMessage::SET_INTERACTION_RELEVANCE_ADVISORY_SWITCH);
+       RTI_MSG_NAME(NetworkMessage::SET_ATTRIBUTE_RELEVANCE_ADVISORY_SWITCH);
+       RTI_MSG_NAME(NetworkMessage::SET_ATTRIBUTE_SCOPE_ADVISORY_SWITCH);
+       RTI_MSG_NAME(NetworkMessage::START_REGISTRATION_FOR_OBJECT_CLASS);
+       RTI_MSG_NAME(NetworkMessage::STOP_REGISTRATION_FOR_OBJECT_CLASS);
 
         initialized = true ;
     }
@@ -368,4 +374,4 @@
 #undef FED_MSG_NAME
 #undef RTI_MSG_NAME
 
-// $Id: Statistics.cc,v 3.18 2008/11/06 14:28:58 gotthardp Exp $
+// $Id: Statistics.cc,v 3.19 2009/04/08 10:47:18 approx Exp $

Index: RTIA/TimeManagement.cc
===================================================================
RCS file: /sources/certi/certi/RTIA/TimeManagement.cc,v
retrieving revision 3.46
retrieving revision 3.47
diff -u -b -r3.46 -r3.47
--- RTIA/TimeManagement.cc      2 Apr 2009 19:58:12 -0000       3.46
+++ RTIA/TimeManagement.cc      8 Apr 2009 10:47:18 -0000       3.47
@@ -18,7 +18,7 @@
 // along with this program ; if not, write to the Free Software
 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 //
-// $Id: TimeManagement.cc,v 3.46 2009/04/02 19:58:12 erk Exp $
+// $Id: TimeManagement.cc,v 3.47 2009/04/08 10:47:18 approx Exp $
 // ----------------------------------------------------------------------------
 
 #include <config.h>
@@ -69,6 +69,7 @@
 TimeManagement::TimeManagement(Communications *GC,
                                Queues *GQueues,
                                FederationManagement *GF,
+                               DeclarationManagement *GD,
                                ObjectManagement *GO,
                                OwnershipManagement *GP)
     : LBTS()
@@ -76,6 +77,7 @@
     comm = GC ;
     queues = GQueues ;
     fm = GF ;
+    dm = GD ;
     om = GO ;
     owm = GP ;
 
@@ -365,6 +367,9 @@
       case NetworkMessage::TIME_CONSTRAINED_ENABLED:
         this->timeConstrainedEnabled(msg.getDate(), msg.exception);
         break;
+      case NetworkMessage::START_REGISTRATION_FOR_OBJECT_CLASS:
+       dm->startRegistrationForObjectClass(msg.objectClass, msg.exception);
+        break;
 
       default:
        std::stringstream errorMsg;
@@ -759,7 +764,6 @@
     // 1st try, give a command message. (requestPause, etc.)
     msg = queues->giveCommandMessage(msg_donne, msg_restant);
 
-
     // 2nd try, give a FIFO message. (discoverObject, etc.)
     if (!msg_donne){
         if ( _asynchronous_delivery || (_avancee_en_cours != PAS_D_AVANCEE) || 
(! _est_contraint)) {
@@ -975,4 +979,4 @@
 
 }} // namespaces
 
-// $Id: TimeManagement.cc,v 3.46 2009/04/02 19:58:12 erk Exp $
+// $Id: TimeManagement.cc,v 3.47 2009/04/08 10:47:18 approx Exp $

Index: RTIA/TimeManagement.hh
===================================================================
RCS file: /sources/certi/certi/RTIA/TimeManagement.hh,v
retrieving revision 3.18
retrieving revision 3.19
diff -u -b -r3.18 -r3.19
--- RTIA/TimeManagement.hh      3 Jun 2008 08:45:49 -0000       3.18
+++ RTIA/TimeManagement.hh      8 Apr 2009 10:47:18 -0000       3.19
@@ -18,7 +18,7 @@
 // along with this program ; if not, write to the Free Software
 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 //
-// $Id: TimeManagement.hh,v 3.18 2008/06/03 08:45:49 rousse Exp $
+// $Id: TimeManagement.hh,v 3.19 2009/04/08 10:47:18 approx Exp $
 // ----------------------------------------------------------------------------
 
 #ifndef CERTI_RTIA_TIME_MANAGEMENT_HH
@@ -28,6 +28,7 @@
 #include "certi.hh"
 #include "Communications.hh"
 #include "FederationManagement.hh"
+#include "DeclarationManagement.hh"
 #include "ObjectManagement.hh"
 #include "OwnershipManagement.hh"
 #include "Files.hh"
@@ -75,6 +76,7 @@
     TimeManagement(Communications *,
                    Queues*,
                    FederationManagement *,
+                  DeclarationManagement *,
                    ObjectManagement *,
                    OwnershipManagement *);
 
@@ -135,6 +137,7 @@
     Communications *comm ;
     Queues *queues ;
     FederationManagement *fm ;
+    DeclarationManagement *dm ;
     ObjectManagement *om ;
     OwnershipManagement *owm ;
 
@@ -158,4 +161,4 @@
 
 #endif // CERTI_RTIA_TIME_MANAGEMENT_HH
 
-// $Id: TimeManagement.hh,v 3.18 2008/06/03 08:45:49 rousse Exp $
+// $Id: TimeManagement.hh,v 3.19 2009/04/08 10:47:18 approx Exp $

Index: RTIG/Federation.cc
===================================================================
RCS file: /sources/certi/certi/RTIG/Federation.cc,v
retrieving revision 3.104
retrieving revision 3.105
diff -u -b -r3.104 -r3.105
--- RTIG/Federation.cc  2 Apr 2009 19:58:09 -0000       3.104
+++ RTIG/Federation.cc  8 Apr 2009 10:47:18 -0000       3.105
@@ -18,7 +18,7 @@
 // along with this program ; if not, write to the Free Software
 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 //
-// $Id: Federation.cc,v 3.104 2009/04/02 19:58:09 erk Exp $
+// $Id: Federation.cc,v 3.105 2009/04/08 10:47:18 approx Exp $
 // ----------------------------------------------------------------------------
 
 #include <config.h>
@@ -1779,6 +1779,26 @@
     // It may throw *NotDefined
     root->ObjectClasses->subscribe(federate, object, attributes, list_size);
 
+    /*
+     * The subscription process in CERTI:
+     * In RTIG.cc the network messages SUBSCRIBE_OBJECT_CLASS and UNSUBSCRIBE_
+     * OBJECT_CLASS are both mapped to the method processSubscribeObject within
+     * RTIG_processing.cc. RTIG_proccessing invokes this method 
+     * (subscribeObject). 
+     * The above code line (root->ObjectClasses->subscribe(...) calls the 
+     * subscription within the CERTI library in ObjectClassSet.cc. Further on,
+     * ObjectClassSet::subscribe invokes ObjectClass::subscribe. That method 
+     * first unsubscribes all attributes, afterwards the subscription is 
+     * done in a for loop til list_size.  
+     * This means: Unsubscription and subscription are realized by the same
+     * method. Only the list_size parameter controls the
+     * unsubscription/subscription process.
+     *
+     * Do we need a cleaner solution, e.g. separate methods for subscription/
+     * unsubscription?
+     */
+
+    if (list_size!=0) {  // do only for subscription
     // get object class from object class handle       
     ObjectClass *objectClass = 
root->ObjectClasses->getObjectFromHandle(object);
 
@@ -1812,14 +1832,40 @@
     }
 
     // notify all publishers
+        std::set<FederateHandle> federate_set;
+
     for (ObjectClassAttribute::PublishersList_t::const_iterator
         k=publishers.begin(); 
        k!=publishers.end(); 
        k++) {
-       // what shall we do when subscriber and publisher are the same?
+
        if (getFederate(*k).isClassRelevanceAdvisorySwitch()) {
-               // invoke startRegistrationForObjectClass
+               federate_set.insert(*k);
+           }
+        }
+
+        // broadcastSomeMessage needs a vector, no set -> conversion
+        vector<FederateHandle> 
federate_vector(federate_set.begin(),federate_set.end()); 
+    
+        NM_Start_Registration_For_Object_Class msg ;
+        msg.federate = federate ;
+        msg.federation = handle ;
+        msg.setObjectClass(object);
+
+        this->broadcastSomeMessage(&msg, 0, federate_vector, (unsigned 
short)federate_vector.size());
+
+        publishers.clear();
+        federate_set.clear();
+        federate_vector.clear();       
        }
+    else {     // unsubscribe branch
+       /* test if objectclass is subscribed by anyone else
+         * -> yes : do nothing
+         * -> no : test if publisher sets its CRA switch
+         *     -> no : do nothing
+         *     -> yes : inform publisher with federate service 
stopRegistrationForObjectClass
+         */
+
     }
 
     D.Out(pdRegister,
@@ -2525,5 +2571,5 @@
 
 }} // namespace certi/rtig
 
-// $Id: Federation.cc,v 3.104 2009/04/02 19:58:09 erk Exp $
+// $Id: Federation.cc,v 3.105 2009/04/08 10:47:18 approx Exp $
 

Index: RTIG/RTIG_processing.cc
===================================================================
RCS file: /sources/certi/certi/RTIG/RTIG_processing.cc,v
retrieving revision 3.81
retrieving revision 3.82
diff -u -b -r3.81 -r3.82
--- RTIG/RTIG_processing.cc     2 Apr 2009 19:58:10 -0000       3.81
+++ RTIG/RTIG_processing.cc     8 Apr 2009 10:47:19 -0000       3.82
@@ -18,7 +18,7 @@
 // along with this program ; if not, write to the Free Software
 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 //
-// $Id: RTIG_processing.cc,v 3.81 2009/04/02 19:58:10 erk Exp $
+// $Id: RTIG_processing.cc,v 3.82 2009/04/08 10:47:19 approx Exp $
 // ----------------------------------------------------------------------------
 
 #include <config.h>
@@ -814,9 +814,6 @@
                                sub ? req->handleArray : arrayVide,
                                sub ? req->handleArraySize : 0);
 
-    /* here we want a callback -> inform publisher(s) of objectclass
-     * with startRegistrationForObjectClass */
-
     D.Out(pdRegister,
           "Federate %u of Federation %u subscribed to object class %d.",
           req->federate, req->federation, req->objectClass);
@@ -1556,4 +1553,4 @@
 
 }} // namespace certi/rtig
 
-// $Id: RTIG_processing.cc,v 3.81 2009/04/02 19:58:10 erk Exp $
+// $Id: RTIG_processing.cc,v 3.82 2009/04/08 10:47:19 approx Exp $

Index: libCERTI/NM_Classes.cc
===================================================================
RCS file: /sources/certi/certi/libCERTI/NM_Classes.cc,v
retrieving revision 3.14
retrieving revision 3.15
diff -u -b -r3.14 -r3.15
--- libCERTI/NM_Classes.cc      20 Nov 2008 18:21:56 -0000      3.14
+++ libCERTI/NM_Classes.cc      8 Apr 2009 10:47:19 -0000       3.15
@@ -159,6 +159,12 @@
        case NetworkMessage::SET_ATTRIBUTE_SCOPE_ADVISORY_SWITCH:
                msg = new NM_Set_Attribute_Scope_Advisory_Switch();
                break;
+       case NetworkMessage::START_REGISTRATION_FOR_OBJECT_CLASS:
+               msg = new NM_Start_Registration_For_Object_Class();
+               break;
+       case NetworkMessage::STOP_REGISTRATION_FOR_OBJECT_CLASS:
+               msg = new NM_Stop_Registration_For_Object_Class();
+               break;
        case NetworkMessage::TURN_INTERACTIONS_ON:
                msg = new NM_Turn_Interactions_On(); 
                break;
@@ -566,6 +572,52 @@
 }
 /*<END>---------- Time_Constrained_Enabled ------------<END>*/
 
+/*<BEGIN>---------- Start_Registration_For_Object_Class ------------<BEGIN>*/
+NM_Start_Registration_For_Object_Class::NM_Start_Registration_For_Object_Class()
 {
+       this->name = "START_REGISTRATION_FOR_OBJECT_CLASS";
+       this->type = NetworkMessage::START_REGISTRATION_FOR_OBJECT_CLASS;
+       /* specific field init */
+}
+NM_Start_Registration_For_Object_Class::~NM_Start_Registration_For_Object_Class()
 {
+}
+void NM_Start_Registration_For_Object_Class::serialize(MessageBuffer& 
msgBuffer) {
+       /* call mother class */      
+       Super::serialize(msgBuffer); 
+       /* specific code (if any) goes here */
+       msgBuffer.write_int32(objectClass);
+} /* end of serialize */ 
+void NM_Start_Registration_For_Object_Class::deserialize(MessageBuffer& 
msgBuffer) {
+       /* call mother class */      
+       Super::deserialize(msgBuffer); 
+       /* specific code (if any) goes here */
+       objectClass = msgBuffer.read_int32();
+} /* end of deserialize */
+
+/*<END>---------- Start_Registration_For_Object_Class ------------<END>*/
+
+/*<BEGIN>---------- Stop_Registration_For_Object_Class ------------<BEGIN>*/
+NM_Stop_Registration_For_Object_Class::NM_Stop_Registration_For_Object_Class() 
{
+       this->name = "STOP_REGISTRATION_FOR_OBJECT_CLASS";
+       this->type = NetworkMessage::STOP_REGISTRATION_FOR_OBJECT_CLASS;
+       /* specific field init */
+}
+NM_Stop_Registration_For_Object_Class::~NM_Stop_Registration_For_Object_Class()
 {
+}
+void NM_Stop_Registration_For_Object_Class::serialize(MessageBuffer& 
msgBuffer) {
+       /* call mother class */      
+       Super::serialize(msgBuffer); 
+       /* specific code (if any) goes here */
+       msgBuffer.write_int32(objectClass);
+} /* end of serialize */ 
+void NM_Stop_Registration_For_Object_Class::deserialize(MessageBuffer& 
msgBuffer) {
+       /* call mother class */      
+       Super::deserialize(msgBuffer); 
+       /* specific code (if any) goes here */
+       objectClass = msgBuffer.read_int32();
+} /* end of deserialize */
+
+/*<END>---------- Stop_Registration_For_Object_Class ------------<END>*/
+
 /*<BEGIN>---------- Set_Class_Relevance_Advisory_Switch ------------<BEGIN>*/
 
NM_Set_Class_Relevance_Advisory_Switch::NM_Set_Class_Relevance_Advisory_Switch()
 {
        this->name = "SET_CLASS_RELEVANCE_ADVISORY_SWITCH";

Index: libCERTI/NM_Classes.hh
===================================================================
RCS file: /sources/certi/certi/libCERTI/NM_Classes.hh,v
retrieving revision 3.9
retrieving revision 3.10
diff -u -b -r3.9 -r3.10
--- libCERTI/NM_Classes.hh      20 Nov 2008 18:21:56 -0000      3.9
+++ libCERTI/NM_Classes.hh      8 Apr 2009 10:47:19 -0000       3.10
@@ -275,6 +275,38 @@
 
 /*<END>---------- Time_Constrained_Enabled ------------<END>*/
 
+/*<BEGIN>---------- Start_Registration_For_Object_Class  ------------<BEGIN>*/
+class CERTI_EXPORT NM_Start_Registration_For_Object_Class : public 
NetworkMessage {
+public:
+       typedef NetworkMessage Super;
+       NM_Start_Registration_For_Object_Class();
+       virtual ~NM_Start_Registration_For_Object_Class();
+       virtual void serialize(MessageBuffer& msgBuffer);
+       virtual void deserialize(MessageBuffer& msgBuffer);
+       const ObjectClassHandle getObjectClass() const {return objectClass;};
+       void setObjectClass(ObjectClassHandle newObjectClass) 
{objectClass=newObjectClass;};
+protected:
+       /* specific field */
+private:
+};
+
+/*<END>---------- Start_Registration_For_Object_Class ------------<END>*/
+
+/*<BEGIN>---------- Stop_Registration_For_Object_Class  ------------<BEGIN>*/
+class CERTI_EXPORT NM_Stop_Registration_For_Object_Class : public 
NetworkMessage {
+public:
+       typedef NetworkMessage Super;
+       NM_Stop_Registration_For_Object_Class();
+       virtual ~NM_Stop_Registration_For_Object_Class();
+       virtual void serialize(MessageBuffer& msgBuffer);
+       virtual void deserialize(MessageBuffer& msgBuffer);
+       /* specific Getter/Setter */
+protected:
+       /* specific field */
+private:
+};
+
+/*<END>---------- Stop_Registration_For_Object_Class ------------<END>*/
 
 /*<BEGIN>---------- Set_Class_Relevance_Advisory_Switch ------------<BEGIN>*/
 class CERTI_EXPORT NM_Set_Class_Relevance_Advisory_Switch : public 
NetworkMessage {

Index: libCERTI/NetworkMessage.hh
===================================================================
RCS file: /sources/certi/certi/libCERTI/NetworkMessage.hh,v
retrieving revision 3.45
retrieving revision 3.46
diff -u -b -r3.45 -r3.46
--- libCERTI/NetworkMessage.hh  2 Apr 2009 19:58:09 -0000       3.45
+++ libCERTI/NetworkMessage.hh  8 Apr 2009 10:47:19 -0000       3.46
@@ -17,7 +17,7 @@
 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
 // USA
 //
-// $Id: NetworkMessage.hh,v 3.45 2009/04/02 19:58:09 erk Exp $
+// $Id: NetworkMessage.hh,v 3.46 2009/04/08 10:47:19 approx Exp $
 // ----------------------------------------------------------------------------
 
 #ifndef CERTI_NETWORK_MESSAGE_HH
@@ -143,6 +143,8 @@
                SET_INTERACTION_RELEVANCE_ADVISORY_SWITCH,
                SET_ATTRIBUTE_RELEVANCE_ADVISORY_SWITCH,
                SET_ATTRIBUTE_SCOPE_ADVISORY_SWITCH,
+               START_REGISTRATION_FOR_OBJECT_CLASS,
+               STOP_REGISTRATION_FOR_OBJECT_CLASS,
                LAST            
        } Message_T;    
 
@@ -348,4 +350,4 @@
 
 #endif // CERTI_NETWORK_MESSAGE_HH
 
-// $Id: NetworkMessage.hh,v 3.45 2009/04/02 19:58:09 erk Exp $
+// $Id: NetworkMessage.hh,v 3.46 2009/04/08 10:47:19 approx Exp $

Index: libRTI/RTIambPrivateRefs.cc
===================================================================
RCS file: /sources/certi/certi/libRTI/RTIambPrivateRefs.cc,v
retrieving revision 3.17
retrieving revision 3.18
diff -u -b -r3.17 -r3.18
--- libRTI/RTIambPrivateRefs.cc 2 Apr 2009 19:58:06 -0000       3.17
+++ libRTI/RTIambPrivateRefs.cc 8 Apr 2009 10:47:20 -0000       3.18
@@ -19,7 +19,7 @@
 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
 // USA
 //
-// $Id: RTIambPrivateRefs.cc,v 3.17 2009/04/02 19:58:06 erk Exp $
+// $Id: RTIambPrivateRefs.cc,v 3.18 2009/04/08 10:47:20 approx Exp $
 // ----------------------------------------------------------------------------
 
 #include <config.h>
@@ -667,8 +667,7 @@
 
       case Message::START_REGISTRATION_FOR_OBJECT_CLASS:
         try {
-            fed_amb->startRegistrationForObjectClass(
-                msg->getObjectClass());
+            fed_amb->startRegistrationForObjectClass(msg->getObjectClass());
         }
         CATCH_FEDERATE_AMBASSADOR_EXCEPTIONS("startRegistrationForObjectClass")
         break ;
@@ -908,4 +907,4 @@
     }
 }
 
-// $Id: RTIambPrivateRefs.cc,v 3.17 2009/04/02 19:58:06 erk Exp $
+// $Id: RTIambPrivateRefs.cc,v 3.18 2009/04/08 10:47:20 approx Exp $




reply via email to

[Prev in Thread] Current Thread [Next in Thread]