[Top][All Lists]
[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 $