certi-cvs
[Top][All Lists]
Advanced

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

[certi-cvs] certi RTIA/ObjectManagement.cc RTIA/RTIA_federa...


From: certi-cvs
Subject: [certi-cvs] certi RTIA/ObjectManagement.cc RTIA/RTIA_federa...
Date: Tue, 27 May 2008 07:51:55 +0000

CVSROOT:        /sources/certi
Module name:    certi
Changes by:     ROUSSELOT <rousse>      08/05/27 07:51:55

Modified files:
        RTIA           : ObjectManagement.cc RTIA_federate.cc 
        libCERTI       : Message.hh Message_W.cc 
        libRTI         : RTIambassador.cc 

Log message:
        Dynamic management of Message Buffer (beginning)

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/certi/RTIA/ObjectManagement.cc?cvsroot=certi&r1=3.43&r2=3.44
http://cvs.savannah.gnu.org/viewcvs/certi/RTIA/RTIA_federate.cc?cvsroot=certi&r1=3.77&r2=3.78
http://cvs.savannah.gnu.org/viewcvs/certi/libCERTI/Message.hh?cvsroot=certi&r1=3.43&r2=3.44
http://cvs.savannah.gnu.org/viewcvs/certi/libCERTI/Message_W.cc?cvsroot=certi&r1=3.26&r2=3.27
http://cvs.savannah.gnu.org/viewcvs/certi/libRTI/RTIambassador.cc?cvsroot=certi&r1=3.80&r2=3.81

Patches:
Index: RTIA/ObjectManagement.cc
===================================================================
RCS file: /sources/certi/certi/RTIA/ObjectManagement.cc,v
retrieving revision 3.43
retrieving revision 3.44
diff -u -b -r3.43 -r3.44
--- RTIA/ObjectManagement.cc    13 May 2008 13:03:48 -0000      3.43
+++ RTIA/ObjectManagement.cc    27 May 2008 07:51:54 -0000      3.44
@@ -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: ObjectManagement.cc,v 3.43 2008/05/13 13:03:48 rousse Exp $
+// $Id: ObjectManagement.cc,v 3.44 2008/05/27 07:51:54 rousse Exp $
 // ----------------------------------------------------------------------------
 
 #include <config.h>
@@ -223,7 +223,7 @@
 
     // Adding discovered object in federate internal object list.
     rootObject->registerObjectInstance(fm->federate, the_class, the_object,
-                                       req.getName());
+                                       req.getName().c_str());
 }
 
 // ----------------------------------------------------------------------------
@@ -820,4 +820,4 @@
 
 }} // namespace certi/rtia
 
-// $Id: ObjectManagement.cc,v 3.43 2008/05/13 13:03:48 rousse Exp $
+// $Id: ObjectManagement.cc,v 3.44 2008/05/27 07:51:54 rousse Exp $

Index: RTIA/RTIA_federate.cc
===================================================================
RCS file: /sources/certi/certi/RTIA/RTIA_federate.cc,v
retrieving revision 3.77
retrieving revision 3.78
diff -u -b -r3.77 -r3.78
--- RTIA/RTIA_federate.cc       13 May 2008 13:03:49 -0000      3.77
+++ RTIA/RTIA_federate.cc       27 May 2008 07:51:55 -0000      3.78
@@ -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_federate.cc,v 3.77 2008/05/13 13:03:49 rousse Exp $
+// $Id: RTIA_federate.cc,v 3.78 2008/05/27 07:51:55 rousse Exp $
 // ----------------------------------------------------------------------------
 
 #include <config.h>
@@ -393,7 +393,7 @@
                "Receiving Message from Federate, type RegisterObject.");
 
           rep.setObject(om->registerObject(req->getObjectClass(),
-                                           req->getName(),
+                                           req->getName().c_str(),
                                            date, heure, e));
           break ;
       }
@@ -763,7 +763,7 @@
         D.Out(pdTrace,
               "Receiving Message from Federate, type GetObjectClassHandle.");
         try {
-            rep.setObjectClass(om->getObjectClassHandle(req->getName()));
+            
rep.setObjectClass(om->getObjectClassHandle(req->getName().c_str()));
             }
         catch (RTI::Exception &egoch)
             {
@@ -789,7 +789,7 @@
       case Message::GET_OBJECT_INSTANCE_HANDLE:
         D.Out(pdTrace,
               "Receiving Message from Federate, type 
getObjectInstanceHandle.");
-        rep.setObject(om->getObjectInstanceHandle(req->getName()));
+        rep.setObject(om->getObjectInstanceHandle(req->getName().c_str()));
         break ;
 
       case Message::GET_OBJECT_INSTANCE_NAME:
@@ -805,7 +805,7 @@
         D.Out(pdTrace,
               "Receiving Message from Federate, type GetAttributeHandle.");
         try {
-            rep.setAttribute(om->getAttributeHandle(req->getName(),
+            rep.setAttribute(om->getAttributeHandle(req->getName().c_str(),
                                                 req->getObjectClass()));
             }
         catch (RTI::Exception &egah)
@@ -826,7 +826,7 @@
         D.Out(pdTrace,
               "Receiving Message from Federate, type GetInteractionHandle.");
 
-        rep.setInteractionClass(om->getInteractionClassHandle(req->getName()));
+        
rep.setInteractionClass(om->getInteractionClassHandle(req->getName().c_str()));
         break ;
 
       case Message::GET_INTERACTION_CLASS_NAME:
@@ -840,7 +840,7 @@
         D.Out(pdTrace,
               "Receiving Message from Federate, type GetParameterHandle.");
 
-        rep.setParameter(om->getParameterHandle(req->getName(),
+        rep.setParameter(om->getParameterHandle(req->getName().c_str(),
                                                 req->getInteractionClass()));
         break ;
 
@@ -1436,4 +1436,4 @@
 
 }} // namespace certi/rtia
 
-// $Id: RTIA_federate.cc,v 3.77 2008/05/13 13:03:49 rousse Exp $
+// $Id: RTIA_federate.cc,v 3.78 2008/05/27 07:51:55 rousse Exp $

Index: libCERTI/Message.hh
===================================================================
RCS file: /sources/certi/certi/libCERTI/Message.hh,v
retrieving revision 3.43
retrieving revision 3.44
diff -u -b -r3.43 -r3.44
--- libCERTI/Message.hh 5 May 2008 09:47:19 -0000       3.43
+++ libCERTI/Message.hh 27 May 2008 07:51:55 -0000      3.44
@@ -28,6 +28,9 @@
 #include "BasicMessage.hh"
 #include "fedtime.hh"
 
+#include <vector>
+#include <string>
+
 namespace certi {
 
 /**
@@ -248,6 +251,13 @@
 
 public:
     Message();
+
+       /**
+        * Serialize the message into a buffer
+        */
+       virtual void serialize(MessageBuffer& msgBuffer);
+
+
         void trace(const char* context);
 
     // Read and Write NetworkMessage Objects to and from Socket objects.
@@ -284,7 +294,8 @@
     const char *getLabel() const { return label ; };
     void setLabel(const char *new_label);
 
-    const char *getName() const { return name ; };
+    //const char *getName() const { return name ; };
+    const std::string getName() const {return name;}
     void setName(const char *new_name);
 
     DimensionHandle getDimension() const { return dimension ; };
@@ -435,6 +446,26 @@
     void display(char *);
 
 private:
+
+       /**
+        * True is the message is dated
+        * When a message is dated the date is transmitted
+        * over the network, when not dated the date is not sent.
+        */
+       bool _isDated;
+       /**
+        * True is the message contains a label
+        * When a message is labelled the label is transmitted
+        * over the network, when not labelled the label is not sent.
+        */
+       bool _isLabelled;
+       /**
+        * True is the message contains a tag
+        * When a message is tagged the tag is transmitted
+        * over the network, when not tagged the tag is not sent.
+        */
+       bool _isTagged;
+
     // Read a Message Body from a Socket. Should be called after
     // ReadHeader.
     void readBody(SocketUN *Socket);

Index: libCERTI/Message_W.cc
===================================================================
RCS file: /sources/certi/certi/libCERTI/Message_W.cc,v
retrieving revision 3.26
retrieving revision 3.27
diff -u -b -r3.26 -r3.27
--- libCERTI/Message_W.cc       22 May 2008 12:20:19 -0000      3.26
+++ libCERTI/Message_W.cc       27 May 2008 07:51:55 -0000      3.27
@@ -17,7 +17,7 @@
 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
 // USA
 //
-// $Id: Message_W.cc,v 3.26 2008/05/22 12:20:19 erk Exp $
+// $Id: Message_W.cc,v 3.27 2008/05/27 07:51:55 rousse Exp $
 // ----------------------------------------------------------------------------
 
 
@@ -32,6 +32,42 @@
 static PrettyDebug D("RTIA_MSG","Message::");
 static PrettyDebug G("GENDOC",__FILE__);
 
+// ----------------------------------------------------------------------------
+void Message::serialize(MessageBuffer& msgBuffer) {
+       G.Out(pdGendoc,"enter Message::serialize");
+       /* We serialize the common Network messages part 
+        * ALL Network Message will contain the following
+        */     
+       if ((type==NOT_USED) || (type==LAST)) {
+               throw RTIinternalError("Invalid message type (not a valid 
type);");
+       }
+       D.Out(pdDebug, "Serialize <%s>", getName().c_str());
+       /* type of message */
+       msgBuffer.write_int32(type);
+       msgBuffer.write_int32(exception);
+       /*
+        * "builtin" Optional part
+        * The subclass may chose in the constructor the variable part.
+        * isDated may be chosen on Message instance basis
+        * (same message may Dated or Not Dated) 
+        */
+       msgBuffer.write_bool(_isDated);
+       if (_isDated) {
+               msgBuffer.write_double(getFederationTime());
+               D.Out(pdDebug, "Sent Message date is  <%f>",getFederationTime() 
);
+       }       
+       msgBuffer.write_bool(_isLabelled);
+       if (_isLabelled) {
+               msgBuffer.write_string(label);
+       }
+       msgBuffer.write_bool(_isTagged);
+       if (_isTagged) {
+               msgBuffer.write_string(tag);
+       }
+       G.Out(pdGendoc,"exit Message::serialize");
+} /* end of serialize */
+
+
 
 // ----------------------------------------------------------------------------
 //! Write NetworkMessage Objects to Socket objects.
@@ -748,4 +784,4 @@
 
 } // namespace certi
 
-// $Id: Message_W.cc,v 3.26 2008/05/22 12:20:19 erk Exp $
+// $Id: Message_W.cc,v 3.27 2008/05/27 07:51:55 rousse Exp $

Index: libRTI/RTIambassador.cc
===================================================================
RCS file: /sources/certi/certi/libRTI/RTIambassador.cc,v
retrieving revision 3.80
retrieving revision 3.81
diff -u -b -r3.80 -r3.81
--- libRTI/RTIambassador.cc     13 May 2008 13:03:50 -0000      3.80
+++ libRTI/RTIambassador.cc     27 May 2008 07:51:55 -0000      3.81
@@ -19,7 +19,7 @@
 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
 // USA
 //
-// $Id: RTIambassador.cc,v 3.80 2008/05/13 13:03:50 rousse Exp $
+// $Id: RTIambassador.cc,v 3.81 2008/05/27 07:51:55 rousse Exp $
 // ----------------------------------------------------------------------------
 
 
@@ -355,7 +355,7 @@
                   privateRefs->fed_amb->
                       discoverObjectInstance(vers_Fed.getObject(),
                                              vers_Fed.getObjectClass(),
-                                             vers_Fed.getName());
+                                             vers_Fed.getName().c_str());
               } break ;
 
               case Message::REFLECT_ATTRIBUTE_VALUES: {
@@ -2490,7 +2490,7 @@
     req.type = Message::GET_OBJECT_CLASS_NAME ;
     req.setObjectClass(handle);
     privateRefs->executeService(&req, &rep);
-    return strdup(rep.getName());
+    return strdup(rep.getName().c_str());
 }
 
 // ----------------------------------------------------------------------------
@@ -2538,7 +2538,7 @@
     req.setAttribute(theHandle);
     req.setObjectClass(whichClass);
     privateRefs->executeService(&req, &rep);
-    return strdup(rep.getName());
+    return strdup(rep.getName().c_str());
 }
 
 // ----------------------------------------------------------------------------
@@ -2576,7 +2576,7 @@
 
     privateRefs->executeService(&req, &rep);
 
-    return strdup(rep.getName());
+    return strdup(rep.getName().c_str());
 }
 
 // ----------------------------------------------------------------------------
@@ -2620,7 +2620,7 @@
 
     privateRefs->executeService(&req, &rep);
 
-    return strdup(rep.getName());
+    return strdup(rep.getName().c_str());
 }
 
 // ----------------------------------------------------------------------------
@@ -2654,7 +2654,7 @@
 
     privateRefs->executeService(&req, &rep);
 
-    return strdup(rep.getName());
+    return strdup(rep.getName().c_str());
 }
 
 // ----------------------------------------------------------------------------
@@ -2691,7 +2691,7 @@
     req.type = Message::GET_SPACE_NAME ;
     req.setSpace(handle);
     privateRefs->executeService(&req, &rep);
-    return strdup(rep.getName());
+    return strdup(rep.getName().c_str());
 }
 
 // ----------------------------------------------------------------------------
@@ -2735,7 +2735,7 @@
     req.setDimension(dimension);
     req.setSpace(space);
     privateRefs->executeService(&req, &rep);
-    return strdup(rep.getName());
+    return strdup(rep.getName().c_str());
 }
 
 // ----------------------------------------------------------------------------
@@ -2821,7 +2821,7 @@
     req.type = Message::GET_TRANSPORTATION_NAME ;
     req.setTransportation(theHandle);
     privateRefs->executeService(&req, &rep);
-    return(strdup(rep.getName()));
+    return(strdup(rep.getName().c_str()));
 }
 
 // ----------------------------------------------------------------------------
@@ -2852,7 +2852,7 @@
     req.type = Message::GET_ORDERING_NAME ;
     req.setOrdering(theHandle);
     privateRefs->executeService(&req, &rep);
-    return(strdup(rep.getName()));
+    return(strdup(rep.getName().c_str()));
 }
 
 // ----------------------------------------------------------------------------
@@ -2958,4 +2958,4 @@
     privateRefs->executeService(&req, &rep);
 }
 
-// $Id: RTIambassador.cc,v 3.80 2008/05/13 13:03:50 rousse Exp $
+// $Id: RTIambassador.cc,v 3.81 2008/05/27 07:51:55 rousse Exp $




reply via email to

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