[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[certi-cvs] certi libCERTI/ObjectClassBroadcastList.cc libC... [br_DEV_H
From: |
certi-cvs |
Subject: |
[certi-cvs] certi libCERTI/ObjectClassBroadcastList.cc libC... [br_DEV_HETEROGENEOUS] |
Date: |
Tue, 18 Mar 2008 15:55:59 +0000 |
CVSROOT: /sources/certi
Module name: certi
Branch: br_DEV_HETEROGENEOUS
Changes by: Eric NOULARD <erk> 08/03/18 15:55:59
Modified files:
libCERTI : ObjectClassBroadcastList.cc ObjectClass.cc
Message_W.cc NetworkMessage_RW.cc ObjectSet.cc
NetworkMessage.cc Message_R.cc
NetworkMessage.hh BasicMessage.cc
CMakeLists.txt Interaction.cc BasicMessage.hh
RTIA : OwnershipManagement.cc Communications.cc
DeclarationManagement.cc TimeManagement.cc
FederationManagement.cc RTIA.cc
DataDistribution.cc RTIA_federate.cc
Communications.hh ObjectManagement.cc
RTIA_network.cc
RTIG : RTIG_processing.cc RTIG.cc Federation.cc
doc : certi_doxygen.cnf.in
Added files:
libCERTI : NM_Classes.hh NM_Classes.cc
Log message:
Heterogeneous udpate.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/certi/libCERTI/ObjectClassBroadcastList.cc?cvsroot=certi&only_with_tag=br_DEV_HETEROGENEOUS&r1=3.18&r2=3.18.2.1
http://cvs.savannah.gnu.org/viewcvs/certi/libCERTI/ObjectClass.cc?cvsroot=certi&only_with_tag=br_DEV_HETEROGENEOUS&r1=3.41&r2=3.41.2.1
http://cvs.savannah.gnu.org/viewcvs/certi/libCERTI/Message_W.cc?cvsroot=certi&only_with_tag=br_DEV_HETEROGENEOUS&r1=3.20&r2=3.20.2.1
http://cvs.savannah.gnu.org/viewcvs/certi/libCERTI/NetworkMessage_RW.cc?cvsroot=certi&only_with_tag=br_DEV_HETEROGENEOUS&r1=3.45&r2=3.45.2.1
http://cvs.savannah.gnu.org/viewcvs/certi/libCERTI/ObjectSet.cc?cvsroot=certi&only_with_tag=br_DEV_HETEROGENEOUS&r1=3.18&r2=3.18.2.1
http://cvs.savannah.gnu.org/viewcvs/certi/libCERTI/NetworkMessage.cc?cvsroot=certi&only_with_tag=br_DEV_HETEROGENEOUS&r1=3.28&r2=3.28.2.1
http://cvs.savannah.gnu.org/viewcvs/certi/libCERTI/Message_R.cc?cvsroot=certi&only_with_tag=br_DEV_HETEROGENEOUS&r1=3.17&r2=3.17.2.1
http://cvs.savannah.gnu.org/viewcvs/certi/libCERTI/NetworkMessage.hh?cvsroot=certi&only_with_tag=br_DEV_HETEROGENEOUS&r1=3.30&r2=3.30.2.1
http://cvs.savannah.gnu.org/viewcvs/certi/libCERTI/BasicMessage.cc?cvsroot=certi&only_with_tag=br_DEV_HETEROGENEOUS&r1=3.9&r2=3.9.2.1
http://cvs.savannah.gnu.org/viewcvs/certi/libCERTI/CMakeLists.txt?cvsroot=certi&only_with_tag=br_DEV_HETEROGENEOUS&r1=1.11&r2=1.11.2.1
http://cvs.savannah.gnu.org/viewcvs/certi/libCERTI/Interaction.cc?cvsroot=certi&only_with_tag=br_DEV_HETEROGENEOUS&r1=3.35&r2=3.35.2.1
http://cvs.savannah.gnu.org/viewcvs/certi/libCERTI/BasicMessage.hh?cvsroot=certi&only_with_tag=br_DEV_HETEROGENEOUS&r1=3.7&r2=3.7.2.1
http://cvs.savannah.gnu.org/viewcvs/certi/libCERTI/NM_Classes.hh?cvsroot=certi&only_with_tag=br_DEV_HETEROGENEOUS&rev=1.1.2.1
http://cvs.savannah.gnu.org/viewcvs/certi/libCERTI/NM_Classes.cc?cvsroot=certi&only_with_tag=br_DEV_HETEROGENEOUS&rev=1.1.2.1
http://cvs.savannah.gnu.org/viewcvs/certi/RTIA/OwnershipManagement.cc?cvsroot=certi&only_with_tag=br_DEV_HETEROGENEOUS&r1=3.12&r2=3.12.2.1
http://cvs.savannah.gnu.org/viewcvs/certi/RTIA/Communications.cc?cvsroot=certi&only_with_tag=br_DEV_HETEROGENEOUS&r1=3.22&r2=3.22.2.1
http://cvs.savannah.gnu.org/viewcvs/certi/RTIA/DeclarationManagement.cc?cvsroot=certi&only_with_tag=br_DEV_HETEROGENEOUS&r1=3.17&r2=3.17.2.1
http://cvs.savannah.gnu.org/viewcvs/certi/RTIA/TimeManagement.cc?cvsroot=certi&only_with_tag=br_DEV_HETEROGENEOUS&r1=3.29&r2=3.29.2.1
http://cvs.savannah.gnu.org/viewcvs/certi/RTIA/FederationManagement.cc?cvsroot=certi&only_with_tag=br_DEV_HETEROGENEOUS&r1=3.50&r2=3.50.2.1
http://cvs.savannah.gnu.org/viewcvs/certi/RTIA/RTIA.cc?cvsroot=certi&only_with_tag=br_DEV_HETEROGENEOUS&r1=3.13&r2=3.13.2.1
http://cvs.savannah.gnu.org/viewcvs/certi/RTIA/DataDistribution.cc?cvsroot=certi&only_with_tag=br_DEV_HETEROGENEOUS&r1=3.23&r2=3.23.2.1
http://cvs.savannah.gnu.org/viewcvs/certi/RTIA/RTIA_federate.cc?cvsroot=certi&only_with_tag=br_DEV_HETEROGENEOUS&r1=3.67&r2=3.67.2.1
http://cvs.savannah.gnu.org/viewcvs/certi/RTIA/Communications.hh?cvsroot=certi&only_with_tag=br_DEV_HETEROGENEOUS&r1=3.10&r2=3.10.2.1
http://cvs.savannah.gnu.org/viewcvs/certi/RTIA/ObjectManagement.cc?cvsroot=certi&only_with_tag=br_DEV_HETEROGENEOUS&r1=3.35&r2=3.35.2.1
http://cvs.savannah.gnu.org/viewcvs/certi/RTIA/RTIA_network.cc?cvsroot=certi&only_with_tag=br_DEV_HETEROGENEOUS&r1=3.22&r2=3.22.2.1
http://cvs.savannah.gnu.org/viewcvs/certi/RTIG/RTIG_processing.cc?cvsroot=certi&only_with_tag=br_DEV_HETEROGENEOUS&r1=3.56&r2=3.56.2.1
http://cvs.savannah.gnu.org/viewcvs/certi/RTIG/RTIG.cc?cvsroot=certi&only_with_tag=br_DEV_HETEROGENEOUS&r1=3.36&r2=3.36.2.1
http://cvs.savannah.gnu.org/viewcvs/certi/RTIG/Federation.cc?cvsroot=certi&only_with_tag=br_DEV_HETEROGENEOUS&r1=3.80&r2=3.80.2.1
http://cvs.savannah.gnu.org/viewcvs/certi/doc/certi_doxygen.cnf.in?cvsroot=certi&only_with_tag=br_DEV_HETEROGENEOUS&r1=1.1&r2=1.1.2.1
Patches:
Index: libCERTI/ObjectClassBroadcastList.cc
===================================================================
RCS file: /sources/certi/certi/libCERTI/ObjectClassBroadcastList.cc,v
retrieving revision 3.18
retrieving revision 3.18.2.1
diff -u -b -r3.18 -r3.18.2.1
--- libCERTI/ObjectClassBroadcastList.cc 29 Nov 2007 20:36:08 -0000
3.18
+++ libCERTI/ObjectClassBroadcastList.cc 18 Mar 2008 15:55:55 -0000
3.18.2.1
@@ -19,7 +19,7 @@
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
// USA
//
-// $Id: ObjectClassBroadcastList.cc,v 3.18 2007/11/29 20:36:08 rousse Exp $
+// $Id: ObjectClassBroadcastList.cc,v 3.18.2.1 2008/03/18 15:55:55 erk Exp $
// ----------------------------------------------------------------------------
@@ -73,7 +73,7 @@
reducedMessage->boolean = message->boolean ; // Useful ?
reducedMessage->objectClass = message->objectClass ;
- strcpy(reducedMessage->label, message->label);
+ reducedMessage->label = message->label;
// Copy attributes that are in the bsWaiting state in Line.
UShort currentSize ;
@@ -391,4 +391,4 @@
} // namespace certi
-// $Id: ObjectClassBroadcastList.cc,v 3.18 2007/11/29 20:36:08 rousse Exp $
+// $Id: ObjectClassBroadcastList.cc,v 3.18.2.1 2008/03/18 15:55:55 erk Exp $
Index: libCERTI/ObjectClass.cc
===================================================================
RCS file: /sources/certi/certi/libCERTI/ObjectClass.cc,v
retrieving revision 3.41
retrieving revision 3.41.2.1
diff -u -b -r3.41 -r3.41.2.1
--- libCERTI/ObjectClass.cc 5 Dec 2007 12:29:40 -0000 3.41
+++ libCERTI/ObjectClass.cc 18 Mar 2008 15:55:55 -0000 3.41.2.1
@@ -19,7 +19,7 @@
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
// USA
//
-// $Id: ObjectClass.cc,v 3.41 2007/12/05 12:29:40 approx Exp $
+// $Id: ObjectClass.cc,v 3.41.2.1 2008/03/18 15:55:55 erk Exp $
// ----------------------------------------------------------------------------
#include "Object.hh"
@@ -28,6 +28,7 @@
#include "ObjectClassAttribute.hh"
#include "ObjectClassSet.hh"
#include "ObjectClassBroadcastList.hh"
+#include "NM_Classes.hh"
#include "SocketTCP.hh"
#include "PrettyDebug.hh"
@@ -238,7 +239,7 @@
answer.federate = theFederate ;
answer.exception = e_NO_EXCEPTION ;
answer.object = theObjectHandle ;
- strcpy(answer.label, theTag);
+ answer.label = theTag;
int index = 0 ;
for (int j = i ; j < nbAttributes ; j++) {
@@ -356,8 +357,7 @@
"Object %u deleted in class %u, now broadcasting...",
the_object, handle);
- NetworkMessage *answer = new NetworkMessage ;
- answer->type = NetworkMessage::REMOVE_OBJECT ;
+ NetworkMessage *answer =
NM_Factory::create(NetworkMessage::REMOVE_OBJECT);
answer->federation = server->federation();
answer->federate = the_federate ;
answer->exception = e_NO_EXCEPTION ;
@@ -368,7 +368,7 @@
answer->date = theTime ;
answer->boolean = true ;
- strcpy(answer->label, the_tag);
+ answer->label = the_tag;
ocbList = new ObjectClassBroadcastList(answer, 0);
broadcastClassMessage(ocbList);
@@ -438,7 +438,7 @@
answer->date = 0 ;
answer->boolean = false ;
- strcpy(answer->label, the_tag);
+ answer->label = the_tag;
ocbList = new ObjectClassBroadcastList(answer, 0);
broadcastClassMessage(ocbList);
@@ -798,7 +798,7 @@
NetworkMessage message ;
D.Out(pdInit,
"Sending DiscoverObj to Federate %d for Object %u in class %u
",
- federate, (*o)->getHandle(), handle, message.label);
+ federate, (*o)->getHandle(), handle, message.label.c_str());
message.type = NetworkMessage::DISCOVER_OBJECT ;
message.federation = server->federation();
@@ -915,7 +915,7 @@
answer->date = the_time ;
answer->boolean = true ;
- strcpy(answer->label, the_tag);
+ answer->label = the_tag;
answer->handleArraySize = the_size ;
@@ -980,7 +980,7 @@
answer->date = 0 ;
answer->boolean = false ;
- strcpy(answer->label, the_tag);
+ answer->label = the_tag;
answer->handleArraySize = the_size ;
@@ -1120,7 +1120,7 @@
AnswerDivestiture.federate = theFederateHandle ;
AnswerDivestiture.exception = e_NO_EXCEPTION ;
AnswerDivestiture.object = theObjectHandle ;
- strcpy(AnswerDivestiture.label, "\0");
+ AnswerDivestiture.label = std::string("");
AnswerDivestiture.handleArraySize = compteur_divestiture ;
sendToFederate(&AnswerDivestiture, theFederateHandle);
@@ -1132,7 +1132,7 @@
AnswerAssumption->federate = theFederateHandle ;
AnswerAssumption->exception = e_NO_EXCEPTION ;
AnswerAssumption->object = theObjectHandle ;
- strcpy(AnswerAssumption->label, theTag);
+ AnswerAssumption->label = theTag;
AnswerAssumption->handleArraySize = compteur_assumption ;
List = new ObjectClassBroadcastList(AnswerAssumption,
@@ -1389,7 +1389,7 @@
AnswerAssumption->federate = theFederateHandle ;
AnswerAssumption->exception = e_NO_EXCEPTION ;
AnswerAssumption->object = theObjectHandle ;
- strcpy(AnswerAssumption->label, "\0");
+ AnswerAssumption->label = std::string("");
AnswerAssumption->handleArraySize = compteur_assumption ;
List = new ObjectClassBroadcastList(AnswerAssumption,
@@ -1829,4 +1829,4 @@
} // namespace certi
-// $Id: ObjectClass.cc,v 3.41 2007/12/05 12:29:40 approx Exp $
+// $Id: ObjectClass.cc,v 3.41.2.1 2008/03/18 15:55:55 erk Exp $
Index: libCERTI/Message_W.cc
===================================================================
RCS file: /sources/certi/certi/libCERTI/Message_W.cc,v
retrieving revision 3.20
retrieving revision 3.20.2.1
diff -u -b -r3.20 -r3.20.2.1
--- libCERTI/Message_W.cc 5 Mar 2008 15:33:50 -0000 3.20
+++ libCERTI/Message_W.cc 18 Mar 2008 15:55:55 -0000 3.20.2.1
@@ -17,7 +17,7 @@
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
// USA
//
-// $Id: Message_W.cc,v 3.20 2008/03/05 15:33:50 rousse Exp $
+// $Id: Message_W.cc,v 3.20.2.1 2008/03/18 15:55:55 erk Exp $
// ----------------------------------------------------------------------------
@@ -217,7 +217,7 @@
body.writeString(tag);
body.writeShortInt(handleArraySize);
writeHandleArray(body);
- writeRegions(body);
+ writeRegions();
break ;
// Body contains objectClass,region,boolean,handleArraySize,
@@ -419,7 +419,7 @@
// Body contains region,extents
case DDM_MODIFY_REGION:
body.writeLongInt(region);
- writeExtents(body);
+ writeExtents();
break ;
// Body contains region
@@ -737,4 +737,4 @@
} // namespace certi
-// $Id: Message_W.cc,v 3.20 2008/03/05 15:33:50 rousse Exp $
+// $Id: Message_W.cc,v 3.20.2.1 2008/03/18 15:55:55 erk Exp $
Index: libCERTI/NetworkMessage_RW.cc
===================================================================
RCS file: /sources/certi/certi/libCERTI/NetworkMessage_RW.cc,v
retrieving revision 3.45
retrieving revision 3.45.2.1
diff -u -b -r3.45 -r3.45.2.1
--- libCERTI/NetworkMessage_RW.cc 6 Mar 2008 16:33:10 -0000 3.45
+++ libCERTI/NetworkMessage_RW.cc 18 Mar 2008 15:55:55 -0000 3.45.2.1
@@ -16,183 +16,173 @@
// License along with this program ; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//
-// $Id: NetworkMessage_RW.cc,v 3.45 2008/03/06 16:33:10 rousse Exp $
+// $Id: NetworkMessage_RW.cc,v 3.45.2.1 2008/03/18 15:55:55 erk Exp $
// ----------------------------------------------------------------------------
-
#include "NetworkMessage.hh"
#include "PrettyDebug.hh"
-using std::vector ;
+using std::vector;
using std::endl;
using std::cout;
namespace certi {
-static pdCDebug D("RTIG_MSG","(NetWorkMS) - ");
-static PrettyDebug G("GENDOC",__FILE__);
-
-// ----------------------------------------------------------------------------
-void NetworkMessage::trace(const char* context)
-{
-#ifndef NDEBUG
-D.Mes(pdMessage,'N',this->type,context);
-#endif
-}
+static pdCDebug D("RTIG_MSG", "(NetWorkMS) - ");
+static PrettyDebug G("GENDOC",__FILE__ );
// ----------------------------------------------------------------------------
// readBody
void
NetworkMessage::readBody(Socket *socket)
{
- MessageBody body ;
- unsigned short i ;
+ unsigned short i;
G.Out(pdGendoc,"enter NetworkMessage::readBody");
- if (Header.bodySize == 0)
+ if (Header.bodySize == 0) {
throw RTIinternalError("ReadBody should not have been called.");
+ }
// 1. Read Body from socket.
- socket->receive((void *) body.getBuffer(), Header.bodySize);
- // FIXME EN: we must update the write pointer of the
- // MessageBody because we have just written
- // on it using direct pointer access !! (nasty usage)
- body.addToWritePointer(Header.bodySize);
+ // NOTHING TO DO all buffer read in readHeader
+ // FIXME need to get rid of Header/Body distinction.
// 3. Read informations from Message Body according to message type.
//D.Mes(pdMessage, 'N',Header.type);
- this->trace("NetworkMessage::readBody ");
if (Header.exception != e_NO_EXCEPTION) {
- body.readString(exceptionReason, MAX_EXCEPTION_REASON_LENGTH);
+ exceptionReason = msgBuf.read_string();
}
else {
+ D.Mes(pdDebug,'N',Header.type,"readBody::");
switch(Header.type) {
// line number, FEDid, Value Array size and Value array (line contents)
case GET_FED_FILE:
- number = body.readShortInt();
- readFEDid(body);
+ number = msgBuf.read_uint16();
+ readFEDid();
if ( number >= 1 ) // open (0) and close (0) no more information
{
- ValueArray[0].length = body.readLongInt();
- body.readBlock(ValueArray[0].value, ValueArray[0].length) ;
+ ValueArray[0].length = msgBuf.read_int32();
+ msgBuf.read_bytes(ValueArray[0].value,
ValueArray[0].length) ;
}
break ;
case UPDATE_ATTRIBUTE_VALUES:
- object = body.readLongInt();
- readLabel(body);
- boolean = body.readLongInt(); // true means with time
- body.readBlock((char *) handleArray, handleArraySize *
sizeof(AttributeHandle));
+ object = msgBuf.read_int32();
+ readLabel();
+ boolean = msgBuf.read_uint32(); // true means with
time
+ msgBuf.read_bytes((char *) handleArray, handleArraySize
* sizeof(AttributeHandle));
for (i = 0 ; i < handleArraySize ; i ++) {
- ValueArray[i].length = body.readLongInt();
- body.readBlock(ValueArray[i].value, ValueArray[i].length) ;
+ ValueArray[i].length = msgBuf.read_int32();
+ msgBuf.read_bytes(ValueArray[i].value,
ValueArray[i].length) ;
}
break ;
case REFLECT_ATTRIBUTE_VALUES:
- object = body.readLongInt();
- readLabel(body);
- boolean = body.readLongInt(); // true means with time
- body.readBlock((char *) handleArray, handleArraySize *
sizeof(AttributeHandle));
+ object = msgBuf.read_int32();
+ readLabel();
+ boolean = msgBuf.read_int32(); // true means with
time
+ msgBuf.read_bytes((char *) handleArray, handleArraySize
* sizeof(AttributeHandle));
for (i = 0 ; i < handleArraySize ; i ++) {
- ValueArray[i].length = body.readLongInt();
- body.readBlock(ValueArray[i].value, ValueArray[i].length) ;
+ ValueArray[i].length = msgBuf.read_int32();
+ msgBuf.read_bytes(ValueArray[i].value,
ValueArray[i].length) ;
}
break ;
case PROVIDE_ATTRIBUTE_VALUE_UPDATE:
- object = body.readLongInt();
- for (i = 0 ; i < handleArraySize ; i ++)
- handleArray[i] = body.readShortInt();
+ object = msgBuf.read_int32();
+ for (i = 0 ; i < handleArraySize ; i ++) {
+ handleArray[i] = msgBuf.read_int16();
+ }
break ;
-
// -- O_I Variable Part With Date(Body Not Empty) --
case SEND_INTERACTION:
case RECEIVE_INTERACTION:
- readLabel(body);
- boolean = body.readLongInt(); // true means with time
- body.readBlock((char *) handleArray,
+ readLabel();
+ boolean = msgBuf.read_int32(); // true means with time
+ msgBuf.read_bytes((char *) handleArray,
handleArraySize * sizeof(AttributeHandle));
for (i = 0 ; i < handleArraySize ; i ++) {
- ValueArray[i].length = body.readLongInt() ;
- body.readBlock(ValueArray[i].value, ValueArray[i].length) ;
+ ValueArray[i].length = msgBuf.read_int32() ;
+ msgBuf.read_bytes(ValueArray[i].value,
ValueArray[i].length) ;
}
- region = body.readLongInt();
+ region = msgBuf.read_int32();
break ;
case REQUEST_OBJECT_ATTRIBUTE_VALUE_UPDATE:
- object = body.readLongInt();
- for (i = 0 ; i < handleArraySize ; i ++)
- handleArray[i] = body.readShortInt();
+ object = msgBuf.read_int32();
+ for (i = 0 ; i < handleArraySize ; i ++) {
+ handleArray[i] = msgBuf.read_int16();
+ }
break ;
case CREATE_FEDERATION_EXECUTION:
- readFederationName(body);
- readFEDid(body);
+ readFederationName();
+ readFEDid();
break ;
case DESTROY_FEDERATION_EXECUTION:
- readFederationName(body);
+ readFederationName();
break ;
case REGISTER_FEDERATION_SYNCHRONIZATION_POINT:
- readLabel(body);
- readTag(body);
- boolean = body.readLongInt();
+ readLabel();
+ readTag();
+ boolean = msgBuf.read_int32();
// boolean true means there is an handleArray
if ( boolean)
{
- handleArraySize = body.readShortInt();
+ handleArraySize = msgBuf.read_int16();
for (i = 0 ; i < handleArraySize ; i ++)
- handleArray[i] = body.readShortInt();
+ handleArray[i] = msgBuf.read_int16();
}
break ;
case ANNOUNCE_SYNCHRONIZATION_POINT:
- readLabel(body);
- readTag(body);
+ readLabel();
+ readTag();
break ;
case SYNCHRONIZATION_POINT_ACHIEVED:
case SYNCHRONIZATION_POINT_REGISTRATION_SUCCEEDED:
case FEDERATION_SYNCHRONIZED:
case REQUEST_FEDERATION_RESTORE:
- readLabel(body);
+ readLabel();
break ;
case REQUEST_FEDERATION_RESTORE_SUCCEEDED:
- readLabel(body);
+ readLabel();
+ G.Out(pdGendoc,"NetworkMessage::readBody type R_F_R_S
label= %s",label.c_str());
break ;
case INITIATE_FEDERATE_RESTORE:
- readLabel(body);
+ readLabel();
break ;
case INITIATE_FEDERATE_SAVE:
- readLabel(body);
+ readLabel();
// boolean true means with time (in the header)
- boolean = body.readLongInt();
+ boolean = msgBuf.read_int32();
break ;
case REQUEST_FEDERATION_SAVE:
- readLabel(body);
+ readLabel();
// boolean true means with time (in the header)
- boolean = body.readLongInt();
+ boolean = msgBuf.read_int32();
break ;
case REQUEST_FEDERATION_RESTORE_FAILED:
- readLabel(body);
- readTag(body);
+ readLabel();
+ readTag();
break ;
case DELETE_OBJECT:
case REMOVE_OBJECT:
- object = body.readLongInt();
- boolean = body.readLongInt(); // true means with time
- readLabel(body);
+ object = msgBuf.read_int32();
+ boolean = msgBuf.read_int32(); // true means with time
+ readLabel();
break ;
// -- No Variable Part --
@@ -201,20 +191,20 @@
case INFORM_ATTRIBUTE_OWNERSHIP:
case ATTRIBUTE_IS_NOT_OWNED:
case QUERY_ATTRIBUTE_OWNERSHIP:
- object = body.readLongInt();
- handleArray[0] = body.readShortInt();
- readLabel(body);
+ object = msgBuf.read_int32();
+ handleArray[0] = msgBuf.read_int16();
+ readLabel();
break ;
case NEGOTIATED_ATTRIBUTE_OWNERSHIP_DIVESTITURE:
case REQUEST_ATTRIBUTE_OWNERSHIP_ASSUMPTION:
case ATTRIBUTE_OWNERSHIP_ACQUISITION:
case REQUEST_ATTRIBUTE_OWNERSHIP_RELEASE:
- object = body.readLongInt();
- handleArraySize = body.readShortInt();
+ object = msgBuf.read_int32();
+ handleArraySize = msgBuf.read_int16();
for (i = 0 ; i < handleArraySize ; i ++)
- handleArray[i] = body.readShortInt();
- readLabel(body);
+ handleArray[i] = msgBuf.read_int16();
+ readLabel();
break ;
case ATTRIBUTE_OWNERSHIP_ACQUISITION_IF_AVAILABLE:
@@ -226,23 +216,23 @@
case ATTRIBUTE_OWNERSHIP_RELEASE_RESPONSE:
case CANCEL_ATTRIBUTE_OWNERSHIP_ACQUISITION:
case CONFIRM_ATTRIBUTE_OWNERSHIP_ACQUISITION_CANCELLATION:
- object = body.readLongInt();
- handleArraySize = body.readShortInt();
+ object = msgBuf.read_int32();
+ handleArraySize = msgBuf.read_int16();
for (i = 0 ; i < handleArraySize ; i ++)
- handleArray[i] = body.readShortInt();
+ handleArray[i] = msgBuf.read_int16();
break ;
case DDM_CREATE_REGION:
- space = body.readLongInt();
- nbExtents = body.readLongInt();
- region = body.readLongInt();
+ space = msgBuf.read_int32();
+ nbExtents = msgBuf.read_int32();
+ region = msgBuf.read_int32();
break ;
// -- Join Variable Part --
case JOIN_FEDERATION_EXECUTION:
- readFederationName(body);
- readFederateName(body);
+ readFederationName();
+ readFederateName();
break ;
// -- O_I Variable Part(Body not empty) --
@@ -250,62 +240,62 @@
case PUBLISH_OBJECT_CLASS:
case SUBSCRIBE_OBJECT_CLASS:
for (i = 0 ; i < handleArraySize ; i ++)
- handleArray[i] = body.readShortInt();
+ handleArray[i] = msgBuf.read_int16();
break ;
case REGISTER_OBJECT:
case DISCOVER_OBJECT:
- object = body.readLongInt();
- readLabel(body);
+ object = msgBuf.read_int32();
+ readLabel();
break ;
case DDM_MODIFY_REGION:
- readExtents(body);
+ readExtents();
break ;
case DDM_ASSOCIATE_REGION:
- object = body.readLongInt();
- region = body.readLongInt();
- boolean = body.readLongInt();
- handleArraySize = body.readShortInt();
+ object = msgBuf.read_int32();
+ region = msgBuf.read_int32();
+ boolean = msgBuf.read_int32();
+ handleArraySize = msgBuf.read_int16();
for (i = 0 ; i < handleArraySize ; i ++)
- handleArray[i] = body.readShortInt();
+ handleArray[i] = msgBuf.read_int16();
break ;
case DDM_SUBSCRIBE_ATTRIBUTES:
- objectClass = body.readLongInt();
- region = body.readLongInt();
- boolean = body.readLongInt();
- handleArraySize = body.readShortInt();
+ objectClass = msgBuf.read_int32();
+ region = msgBuf.read_int32();
+ boolean = msgBuf.read_int32();
+ handleArraySize = msgBuf.read_int16();
for (i = 0 ; i < handleArraySize ; i ++)
- handleArray[i] = body.readShortInt();
+ handleArray[i] = msgBuf.read_int16();
break ;
case DDM_UNASSOCIATE_REGION:
- object = body.readLongInt();
- region = body.readLongInt();
+ object = msgBuf.read_int32();
+ region = msgBuf.read_int32();
break ;
case DDM_UNSUBSCRIBE_ATTRIBUTES:
- objectClass = body.readLongInt();
- region = body.readLongInt();
+ objectClass = msgBuf.read_int32();
+ region = msgBuf.read_int32();
break ;
case DDM_SUBSCRIBE_INTERACTION:
case DDM_UNSUBSCRIBE_INTERACTION:
- interactionClass = body.readLongInt();
- region = body.readLongInt();
- boolean = body.readLongInt();
+ interactionClass = msgBuf.read_int32();
+ region = msgBuf.read_int32();
+ boolean = msgBuf.read_int32();
break ;
case DDM_REGISTER_OBJECT:
- objectClass = body.readLongInt();
- object = body.readLongInt();
- region = body.readLongInt();
- readTag(body);
- handleArraySize = body.readShortInt();
+ objectClass = msgBuf.read_int32();
+ object = msgBuf.read_int32();
+ region = msgBuf.read_int32();
+ readTag();
+ handleArraySize = msgBuf.read_int16();
for (i = 0 ; i < handleArraySize ; i ++)
- handleArray[i] = body.readShortInt();
+ handleArray[i] = msgBuf.read_int16();
break ;
default:
@@ -321,16 +311,31 @@
NetworkMessage::readHeader(Socket *socket)
{
G.Out(pdGendoc,"enter NetworkMessage::readHeader");
- // 1- Read Header from Socket
- socket->receive((void *) &Header, sizeof(HeaderStruct));
- // 2- Parse Header(Static Part)
+ // 1- Read reserved bytes from socket
+ D.Out(pdDebug,"reading %d bytes for header",msgBuf.reservedBytes);
+ socket->receive(msgBuf(0), msgBuf.reservedBytes);
+ msgBuf.show(msgBuf(0),5);
+ fflush(stdout);
+ msgBuf.assumeSizeFromReservedBytes();
+ D.Out(pdDebug,"Got a MsgBuf of size %d bytes (including %d
reserved)",msgBuf.size(),msgBuf.reservedBytes);
+
socket->receive(msgBuf(msgBuf.reservedBytes),msgBuf.size()-msgBuf.reservedBytes);
+
+ // 3- Unmarshall Header
+ Header.type =
static_cast<certi::NetworkMessage::Type>(msgBuf.read_int32());
+ Header.exception =
static_cast<certi::TypeException>(msgBuf.read_int32());
+ Header.federate = msgBuf.read_int32();
+ Header.federation = msgBuf.read_int32();
+ Header.bodySize = msgBuf.read_int32();
+
+ D.Mes(pdDebug,'N',Header.type,"readHeader::");
+ // 2- (Pseudo) Parse Header(Static Part)
type = Header.type ;
exception = Header.exception ;
federate = Header.federate ;
federation = Header.federation ;
+
// If the message carry an exception, the Body will only contain the
// exception reason.
-
if (exception != e_NO_EXCEPTION)
{
G.Out(pdGendoc,"exit Message::readHeader carrying an exception");
@@ -340,43 +345,42 @@
// 2- Parse Header according to its type(Variable Part)
switch (Header.type) {
case MESSAGE_NULL:
+ Header.VP.time.date = msgBuf.read_double();
date = Header.VP.time.date ;
break ;
case REQUEST_FEDERATION_SAVE:
+ Header.VP.O_I.date = msgBuf.read_double();
date = Header.VP.O_I.date ;
break ;
case UPDATE_ATTRIBUTE_VALUES:
- objectClass = Header.VP.O_I.handle ;
- handleArraySize = Header.VP.O_I.size ;
- date = Header.VP.O_I.date ;
- break ;
-
case REFLECT_ATTRIBUTE_VALUES:
+ Header.VP.O_I.handle = msgBuf.read_int32();
objectClass = Header.VP.O_I.handle ;
+ Header.VP.O_I.size = msgBuf.read_int32();
handleArraySize = Header.VP.O_I.size ;
- date = Header.VP.O_I.date ;
- break ;
-
- case PROVIDE_ATTRIBUTE_VALUE_UPDATE:
- objectClass = Header.VP.O_I.handle ;
- handleArraySize = Header.VP.O_I.size ;
+ Header.VP.O_I.date = msgBuf.read_double();
date = Header.VP.O_I.date ;
break ;
case SEND_INTERACTION:
case RECEIVE_INTERACTION:
+ Header.VP.O_I.handle = msgBuf.read_int32();
interactionClass = Header.VP.O_I.handle ;
+ Header.VP.O_I.size = msgBuf.read_int32();
handleArraySize = Header.VP.O_I.size ;
+ Header.VP.O_I.date = msgBuf.read_double();
date = Header.VP.O_I.date ;
break ;
case INITIATE_FEDERATE_SAVE:
+ Header.VP.O_I.date = msgBuf.read_double();
date = Header.VP.O_I.date ;
break ;
case REQUEST_OBJECT_ATTRIBUTE_VALUE_UPDATE:
+ Header.VP.O_I.size = msgBuf.read_int32();
handleArraySize = Header.VP.O_I.size ;
break;
@@ -393,6 +397,7 @@
case ANNOUNCE_SYNCHRONIZATION_POINT:
case DELETE_OBJECT:
case REMOVE_OBJECT:
+ Header.VP.O_I.date = msgBuf.read_double();
date = Header.VP.O_I.date;
break;
case CLOSE_CONNEXION:
@@ -436,12 +441,16 @@
break ;
case SET_TIME_REGULATING:
+ Header.VP.time.date = msgBuf.read_double();
date = Header.VP.time.date ;
+ Header.VP.time.R_or_C = msgBuf.read_double();
regulator = Header.VP.time.R_or_C ;
break ;
case SET_TIME_CONSTRAINED:
+ Header.VP.time.date = msgBuf.read_double();
date = Header.VP.time.date ;
+ Header.VP.time.R_or_C = msgBuf.read_double();
constrained = Header.VP.time.R_or_C ;
break ;
@@ -455,9 +464,13 @@
// -- Join Variable Part(No body) --
case JOIN_FEDERATION_EXECUTION:
+ Header.VP.Join.NbReg = msgBuf.read_int32();
numberOfRegulators = Header.VP.Join.NbReg ;
+ Header.VP.Join.AdrMC = msgBuf.read_uint32();
multicastAddress = Header.VP.Join.AdrMC ;
+ Header.VP.Join.Addr = msgBuf.read_uint32();
bestEffortAddress = Header.VP.Join.Addr ;
+ Header.VP.Join.peer = msgBuf.read_uint32();
bestEffortPeer = Header.VP.Join.peer ;
break ;
@@ -465,6 +478,7 @@
case UNPUBLISH_OBJECT_CLASS:
case UNSUBSCRIBE_OBJECT_CLASS:
+ Header.VP.O_I.handle = msgBuf.read_int32();
objectClass = Header.VP.O_I.handle ;
break ;
@@ -474,11 +488,13 @@
case UNSUBSCRIBE_INTERACTION_CLASS:
case TURN_INTERACTIONS_ON:
case TURN_INTERACTIONS_OFF:
+ Header.VP.O_I.handle = msgBuf.read_int32();
interactionClass = Header.VP.O_I.handle ;
break ;
// DDM variable part
case DDM_DELETE_REGION:
+ Header.VP.ddm.region = msgBuf.read_int32();
region = Header.VP.ddm.region ;
break ;
@@ -486,16 +502,20 @@
case PUBLISH_OBJECT_CLASS:
case SUBSCRIBE_OBJECT_CLASS:
+ Header.VP.O_I.handle = msgBuf.read_int32();
objectClass = Header.VP.O_I.handle ;
+ Header.VP.O_I.size = msgBuf.read_int32();
handleArraySize = Header.VP.O_I.size ;
break ;
case REGISTER_OBJECT:
case DISCOVER_OBJECT:
+ Header.VP.O_I.handle = msgBuf.read_int32();
objectClass = Header.VP.O_I.handle ;
break ;
case DDM_MODIFY_REGION:
+ Header.VP.ddm.region = msgBuf.read_int32();
region = Header.VP.ddm.region ;
break ;
@@ -516,68 +536,57 @@
void
NetworkMessage::writeBody(Socket *socket)
{
- MessageBody body ;
unsigned short i ;
G.Out(pdGendoc,"enter NetworkMessage::writeBody");
- // 0- Copy the Header at the beginning of the body, in order to
- // make a single Socket->Emettre call while sending both.
- // WARNING: As the body size is not known yet, we will have to
- // change it in the copy also!
- body.writeBlock(reinterpret_cast<char *>(&Header), sizeof(HeaderStruct));
-
- D.Out(pdTrace, "HeaderStruct size is : <%d> out of <%d> bytes MAX in
body\n",
- sizeof(HeaderStruct),BUFFER_SIZE_DEFAULT);
-
// If the message carry an exception, the Body will only contain the
// exception reason.
-
if (Header.exception != e_NO_EXCEPTION) {
- body.writeString(exceptionReason);
+ msgBuf.write_string(exceptionReason);
}
else
{
+ D.Mes(pdDebug,'N',Header.type,"writeBody::");
// 1- Prepare body Structure according to Message type
switch(Header.type) {
case GET_FED_FILE:
- body.writeShortInt(number);
- writeFEDid(body);
+ msgBuf.write_int16(number);
+ writeFEDid();
if ( number >= 1 ) // open (0) and close (0) no more information
{
- body.writeLongInt(ValueArray[0].length);
- body.writeBlock(ValueArray[0].value, ValueArray[0].length);
+ msgBuf.write_int32(ValueArray[0].length);
+ msgBuf.write_bytes(ValueArray[0].value,
ValueArray[0].length);
}
break;
case UPDATE_ATTRIBUTE_VALUES:
- body.writeLongInt(object);
- body.writeString(label);
- body.writeLongInt(boolean); // true means with time (stored in
header)
- body.writeBlock((char *) handleArray, handleArraySize *
sizeof(AttributeHandle));
+ msgBuf.write_int32(object);
+ msgBuf.write_string(label);
+ msgBuf.write_int32(boolean); // true means with time
(stored in header)
+ msgBuf.write_bytes((char *) handleArray,
handleArraySize * sizeof(AttributeHandle));
for (i = 0 ; i < handleArraySize ; i ++) {
- body.writeLongInt(ValueArray[i].length) ;
- body.writeBlock(ValueArray[i].value, ValueArray[i].length);
+ msgBuf.write_int32(ValueArray[i].length) ;
+ msgBuf.write_bytes(ValueArray[i].value,
ValueArray[i].length);
}
break ;
case REFLECT_ATTRIBUTE_VALUES:
- body.writeLongInt(object);
- body.writeString(label);
- body.writeLongInt(boolean);
- body.writeBlock((char *) handleArray, handleArraySize *
sizeof(AttributeHandle));
+ msgBuf.write_int32(object);
+ msgBuf.write_string(label);
+ msgBuf.write_int32(boolean);
+ msgBuf.write_bytes((char *) handleArray,
handleArraySize * sizeof(AttributeHandle));
for (i = 0 ; i < handleArraySize ; i ++) {
- body.writeLongInt(ValueArray[i].length) ;
- body.writeBlock(ValueArray[i].value, ValueArray[i].length);
+ msgBuf.write_int32(ValueArray[i].length) ;
+ msgBuf.write_bytes(ValueArray[i].value,
ValueArray[i].length);
}
break ;
case PROVIDE_ATTRIBUTE_VALUE_UPDATE:
- body.writeLongInt(object);
- for (i = 0 ; i < handleArraySize ; i ++)
- {
- body.writeShortInt(handleArray[i]);
+ msgBuf.write_int32(object);
+ for (i = 0 ; i < handleArraySize ; i ++) {
+ msgBuf.write_int16(handleArray[i]);
}
break ;
@@ -585,112 +594,113 @@
case SEND_INTERACTION:
case RECEIVE_INTERACTION:
- body.writeString(label);
- body.writeLongInt(boolean); // true means with time (stored in
header)
- body.writeBlock((char *) handleArray,
+ msgBuf.write_string(label);
+ msgBuf.write_int32(boolean); // true means with time
(stored in header)
+ msgBuf.write_bytes((char *) handleArray,
handleArraySize * sizeof(AttributeHandle));
for (i = 0 ; i < handleArraySize ; i ++) {
- body.writeLongInt(ValueArray[i].length);
- body.writeBlock(ValueArray[i].value, ValueArray[i].length);
+ msgBuf.write_int32(ValueArray[i].length);
+ msgBuf.write_bytes(ValueArray[i].value,
ValueArray[i].length);
}
- body.writeLongInt(region);
+ msgBuf.write_int32(region);
break ;
case REQUEST_OBJECT_ATTRIBUTE_VALUE_UPDATE:
- body.writeLongInt(object);
- for (i = 0 ; i < handleArraySize ; i ++)
- {
- body.writeShortInt(handleArray[i]);
+ msgBuf.write_int32(object);
+ for (i = 0 ; i < handleArraySize ; i ++) {
+ msgBuf.write_int16(handleArray[i]) ;
}
break;
// -- No Variable Part --
case CREATE_FEDERATION_EXECUTION:
- writeFederationName(body);
- writeFEDid(body);
+ writeFederationName();
+ writeFEDid();
break ;
case DESTROY_FEDERATION_EXECUTION:
- writeFederationName(body);
+ writeFederationName();
break ;
case REGISTER_FEDERATION_SYNCHRONIZATION_POINT:
- body.writeString(label);
- body.writeString(tag);
- body.writeLongInt(boolean);
+ msgBuf.write_string(label);
+ msgBuf.write_string(tag);
+ msgBuf.write_int32(boolean);
// boolean true means we have an handleArray
if ( boolean )
{
- body.writeShortInt(handleArraySize);
- for (i = 0 ; i < handleArraySize ; i ++)
- body.writeShortInt(handleArray[i]);
+ msgBuf.write_uint16(handleArraySize);
+ for (i = 0 ; i < handleArraySize ; i ++) {
+ msgBuf.write_uint16(handleArray[i]);
+ }
}
break ;
case ANNOUNCE_SYNCHRONIZATION_POINT:
- body.writeString(label);
- body.writeString(tag);
+ msgBuf.write_string(label);
+ msgBuf.write_string(tag);
break ;
case SYNCHRONIZATION_POINT_ACHIEVED:
case SYNCHRONIZATION_POINT_REGISTRATION_SUCCEEDED:
case FEDERATION_SYNCHRONIZED:
case REQUEST_FEDERATION_RESTORE:
- body.writeString(label);
+ msgBuf.write_string(label);
break ;
case REQUEST_FEDERATION_RESTORE_SUCCEEDED:
- body.writeString(label);
+ msgBuf.write_string(label);
+ G.Out(pdGendoc,"NetworkMessage::writeBody type R_F_R_S
label=%s",label.c_str());
break ;
case INITIATE_FEDERATE_RESTORE:
- body.writeString(label);
+ msgBuf.write_string(label);
break ;
case INITIATE_FEDERATE_SAVE:
- body.writeString(label);
+ msgBuf.write_string(label);
// boolean true means with time (in the header)
- body.writeLongInt(boolean);
+ msgBuf.write_int32(boolean);
break ;
case REQUEST_FEDERATION_SAVE:
- body.writeString(label);
+ msgBuf.write_string(label);
// boolean true means with time (in the header)
- body.writeLongInt(boolean);
+ msgBuf.write_int32(boolean);
break ;
case REQUEST_FEDERATION_RESTORE_FAILED:
- body.writeString(label);
- body.writeString(tag);
+ msgBuf.write_string(label);
+ msgBuf.write_string(tag);
break ;
case DELETE_OBJECT:
case REMOVE_OBJECT:
- body.writeLongInt(object);
- body.writeLongInt(boolean); // true means with time (stored in
header)
- body.writeString(label);
+ msgBuf.write_int32(object);
+ msgBuf.write_int32(boolean); // true means with time
(stored in header)
+ msgBuf.write_string(label);
break ;
case IS_ATTRIBUTE_OWNED_BY_FEDERATE:
case INFORM_ATTRIBUTE_OWNERSHIP:
case ATTRIBUTE_IS_NOT_OWNED:
case QUERY_ATTRIBUTE_OWNERSHIP:
- body.writeLongInt(object);
- body.writeShortInt(handleArray[0]);
- body.writeString(label);
+ msgBuf.write_int32(object);
+ msgBuf.write_int32(handleArray[0]);
+ msgBuf.write_string(label);
break ;
case NEGOTIATED_ATTRIBUTE_OWNERSHIP_DIVESTITURE:
case REQUEST_ATTRIBUTE_OWNERSHIP_ASSUMPTION:
case ATTRIBUTE_OWNERSHIP_ACQUISITION:
case REQUEST_ATTRIBUTE_OWNERSHIP_RELEASE:
- body.writeLongInt(object);
- body.writeShortInt(handleArraySize);
+ msgBuf.write_int32(object);
+ msgBuf.write_int32(handleArraySize);
for (i = 0 ; i < handleArraySize ; i ++)
- body.writeShortInt(handleArray[i]);
- body.writeString(label);
+ msgBuf.write_int32(handleArray[i]);
+ msgBuf.write_string(label);
break ;
@@ -703,23 +713,23 @@
case ATTRIBUTE_OWNERSHIP_RELEASE_RESPONSE:
case CANCEL_ATTRIBUTE_OWNERSHIP_ACQUISITION:
case CONFIRM_ATTRIBUTE_OWNERSHIP_ACQUISITION_CANCELLATION:
- body.writeLongInt(object);
- body.writeShortInt(handleArraySize);
+ msgBuf.write_int32(object);
+ msgBuf.write_int32(handleArraySize);
for (i = 0 ; i < handleArraySize ; i ++)
- body.writeShortInt(handleArray[i]);
+ msgBuf.write_int32(handleArray[i]);
break ;
case DDM_CREATE_REGION:
- body.writeLongInt(space);
- body.writeLongInt(nbExtents);
- body.writeLongInt(region);
+ msgBuf.write_int32(space);
+ msgBuf.write_int32(nbExtents);
+ msgBuf.write_int32(region);
break ;
// -- Join Variable Part --
case JOIN_FEDERATION_EXECUTION:
- writeFederationName(body);
- body.writeString(federateName);
+ writeFederationName();
+ msgBuf.write_string(federateName);
break ;
// -- O_I Variable Part(body not empty) --
@@ -727,62 +737,62 @@
case PUBLISH_OBJECT_CLASS:
case SUBSCRIBE_OBJECT_CLASS:
for (i = 0 ; i < handleArraySize ; i ++)
- body.writeShortInt(handleArray[i]);
+ msgBuf.write_int32(handleArray[i]);
break ;
case REGISTER_OBJECT:
case DISCOVER_OBJECT:
- body.writeLongInt(object);
- body.writeString(label);
+ msgBuf.write_int32(object);
+ msgBuf.write_string(label);
break ;
case DDM_MODIFY_REGION:
- writeExtents(body);
+ writeExtents();
break ;
case DDM_ASSOCIATE_REGION:
- body.writeLongInt(object);
- body.writeLongInt(region);
- body.writeLongInt(boolean);
- body.writeShortInt(handleArraySize);
+ msgBuf.write_int32(object);
+ msgBuf.write_int32(region);
+ msgBuf.write_int32(boolean);
+ msgBuf.write_int32(handleArraySize);
for (i = 0 ; i < handleArraySize ; i ++)
- body.writeShortInt(handleArray[i]);
+ msgBuf.write_int32(handleArray[i]);
break ;
case DDM_SUBSCRIBE_ATTRIBUTES:
- body.writeLongInt(objectClass);
- body.writeLongInt(region);
- body.writeLongInt(boolean);
- body.writeShortInt(handleArraySize);
+ msgBuf.write_int32(objectClass);
+ msgBuf.write_int32(region);
+ msgBuf.write_int32(boolean);
+ msgBuf.write_int32(handleArraySize);
for (i = 0 ; i < handleArraySize ; i ++)
- body.writeShortInt(handleArray[i]);
+ msgBuf.write_int32(handleArray[i]);
break ;
case DDM_UNASSOCIATE_REGION:
- body.writeLongInt(object);
- body.writeLongInt(region);
+ msgBuf.write_int32(object);
+ msgBuf.write_int32(region);
break ;
case DDM_UNSUBSCRIBE_ATTRIBUTES:
- body.writeLongInt(objectClass);
- body.writeLongInt(region);
+ msgBuf.write_int32(objectClass);
+ msgBuf.write_int32(region);
break ;
case DDM_SUBSCRIBE_INTERACTION:
case DDM_UNSUBSCRIBE_INTERACTION:
- body.writeLongInt(interactionClass);
- body.writeLongInt(region);
- body.writeLongInt(boolean);
+ msgBuf.write_int32(interactionClass);
+ msgBuf.write_int32(region);
+ msgBuf.write_int32(boolean);
break ;
case DDM_REGISTER_OBJECT:
- body.writeLongInt(objectClass);
- body.writeLongInt(object);
- body.writeLongInt(region);
- body.writeString(tag);
- body.writeShortInt(handleArraySize);
+ msgBuf.write_int32(objectClass);
+ msgBuf.write_int32(object);
+ msgBuf.write_int32(region);
+ msgBuf.write_string(tag);
+ msgBuf.write_int32(handleArraySize);
for (i = 0 ; i < handleArraySize ; i ++)
- body.writeShortInt(handleArray[i]);
+ msgBuf.write_int32(handleArray[i]);
break ;
// -- Default Handler --
@@ -792,14 +802,11 @@
}
}
- // body Size does not include the copy of the Header!
- Header.bodySize = body.size() - sizeof(HeaderStruct);
-
- // Put the real body Size in the copy of the Header.
- // FIXME do we really need the body size in the header??
- (reinterpret_cast<HeaderStruct *>(body.getBufferModeRW()))->bodySize =
Header.bodySize ;
- D.Out(pdTrace,"Sending MessageBody of size <%d>",body.size());
- socket->send(body.getBuffer(), body.size());
+ msgBuf.updateReservedBytes();
+ D.Out(pdDebug,"[Body] Sending a buffer of <%u> bytes",msgBuf.size());
+ msgBuf.show(msgBuf(0),5);
+ fflush(stdout);
+ socket->send(static_cast<unsigned char*>(msgBuf(0)), msgBuf.size());
G.Out(pdGendoc,"exit NetworkMessage::writeBody");
}
@@ -811,14 +818,23 @@
G.Out(pdGendoc,"enter NetworkMessage::writeHeader");
// 2- Fill Header(Static Part)
Header.type = type ;
+ msgBuf.write_int32(Header.type);
+ D.Mes(pdDebug,'N',Header.type,"writeHeader::");
+
Header.exception = exception ;
+ msgBuf.write_int32(Header.exception);
+
Header.federate = federate ;
+ msgBuf.write_int32(Header.federate);
+
Header.federation = federation ;
+ msgBuf.write_int32(Header.federation);
+
// If the message carry an exception, the Body will only contain the
// exception reason.
-
if (exception != e_NO_EXCEPTION) {
- Header.bodySize = 1 ;
+ Header.bodySize = 1;
+ msgBuf.write_int32(Header.bodySize);
G.Out(pdGendoc,"exit NetworkMessage::writeHeader carrying an
exception");
return true ;
}
@@ -829,62 +845,64 @@
switch(type) {
case MESSAGE_NULL:
Header.bodySize = 0 ;
+ msgBuf.write_int32(Header.bodySize);
+
Header.VP.time.date = date ;
+ msgBuf.write_double(date);
break ;
case UPDATE_ATTRIBUTE_VALUES:
- Header.bodySize = 1 ;
- Header.VP.O_I.handle = objectClass ;
- Header.VP.O_I.size = handleArraySize ;
- Header.VP.O_I.date = date ;
- break ;
-
case REFLECT_ATTRIBUTE_VALUES:
Header.bodySize = 1 ;
- Header.VP.O_I.handle = objectClass ;
- Header.VP.O_I.size = handleArraySize ;
- Header.VP.O_I.date = date ;
- break ;
+ msgBuf.write_int32(Header.bodySize);
- case PROVIDE_ATTRIBUTE_VALUE_UPDATE:
- Header.bodySize = 1 ;
Header.VP.O_I.handle = objectClass ;
+ msgBuf.write_int32(objectClass);
Header.VP.O_I.size = handleArraySize ;
+ msgBuf.write_int32(handleArraySize);
+ Header.VP.O_I.date = date ;
+ msgBuf.write_double(date);
break ;
case SEND_INTERACTION:
case RECEIVE_INTERACTION:
// body contains handleArray, ValueArray, label.
Header.bodySize = 1 ;
+ msgBuf.write_int32(Header.bodySize);
+
Header.VP.O_I.handle = interactionClass ;
+ msgBuf.write_int32(interactionClass);
Header.VP.O_I.size = handleArraySize ;
+ msgBuf.write_int32(handleArraySize);
Header.VP.O_I.date = date ;
+ msgBuf.write_double(date);
break ;
case REQUEST_FEDERATION_SAVE:
- Header.bodySize = 1 ;
- // boolean true means with time
- if ( boolean)
- Header.VP.O_I.date = date ;
- break ;
-
case INITIATE_FEDERATE_SAVE:
+ Header.bodySize = 1 ;
+ msgBuf.write_int32(Header.bodySize);
// boolean true means with time
- if ( boolean)
+ if (boolean) {
Header.VP.O_I.date = date ;
- Header.bodySize = 1 ;
+ msgBuf.write_double(date);
+ }
break ;
case REQUEST_FEDERATION_RESTORE:
case REQUEST_FEDERATION_RESTORE_SUCCEEDED:
case REQUEST_FEDERATION_RESTORE_FAILED:
Header.bodySize = 1 ;
+ msgBuf.write_int32(Header.bodySize);
break ;
// Body contains Object handle,handleArray
case REQUEST_OBJECT_ATTRIBUTE_VALUE_UPDATE:
Header.bodySize = 1 ;
+ msgBuf.write_int32(Header.bodySize);
+
Header.VP.O_I.size = handleArraySize ;
+ msgBuf.write_int32(handleArraySize);
break;
// -- No Variable Part, No body --
@@ -902,13 +920,21 @@
case FEDERATION_RESTORED:
case FEDERATION_NOT_RESTORED:
Header.bodySize = 0 ;
+ msgBuf.write_int32(Header.bodySize);
break ;
// -- No Variable Part, body not empty --
case CREATE_FEDERATION_EXECUTION:
case DESTROY_FEDERATION_EXECUTION:
+
// body Contains federationName.
+ Header.bodySize = 1 ;
+ msgBuf.write_int32(Header.bodySize);
+ Header.VP.O_I.date = date ;
+ msgBuf.write_double(date);
+ break;
+
case INFORM_ATTRIBUTE_OWNERSHIP:
case ATTRIBUTE_IS_NOT_OWNED:
case IS_ATTRIBUTE_OWNED_BY_FEDERATE:
@@ -939,6 +965,8 @@
case DDM_REGISTER_OBJECT:
case GET_FED_FILE:
Header.bodySize = 1 ;
+ msgBuf.write_int32(Header.bodySize);
+
break ;
case REGISTER_FEDERATION_SYNCHRONIZATION_POINT:
@@ -949,31 +977,43 @@
// body Contains Label(should be non-empty)
// BUG: S'il fait moins de 16 octet, il passe dans le header.
Header.bodySize = 1 ;
+ msgBuf.write_int32(Header.bodySize);
break ;
case DELETE_OBJECT:
Header.bodySize = 1;
+ msgBuf.write_int32(Header.bodySize);
+
Header.VP.O_I.date = date;
+ msgBuf.write_double(date);
break;
case REMOVE_OBJECT:
// body Contains ObjectHandle, and label
Header.bodySize = 1 ;
- if ( boolean)
+ msgBuf.write_int32(Header.bodySize);
+ if (boolean) {
Header.VP.O_I.date = date ;
- break ;
+ msgBuf.write_double(date);
+ }
+ break;
// -- time Variable Part(No body)[Continued] --
-
case SET_TIME_REGULATING:
Header.bodySize = 0 ;
+ msgBuf.write_int32(Header.bodySize);
Header.VP.time.date = date ;
+ msgBuf.write_double(date);
Header.VP.time.R_or_C = regulator ;
+ msgBuf.write_double(Header.VP.time.R_or_C);
break ;
case SET_TIME_CONSTRAINED:
Header.bodySize = 0 ;
+ msgBuf.write_int32(Header.bodySize);
Header.VP.time.date = date ;
+ msgBuf.write_double(date);
Header.VP.time.R_or_C = constrained ;
+ msgBuf.write_double(Header.VP.time.R_or_C);
break ;
// -- T_O Variable Part --
@@ -990,10 +1030,15 @@
case JOIN_FEDERATION_EXECUTION:
// body contains federationName and federateName
Header.bodySize = 1 ;
+ msgBuf.write_int32(Header.bodySize);
Header.VP.Join.NbReg = numberOfRegulators ;
+ msgBuf.write_int32(numberOfRegulators);
Header.VP.Join.AdrMC = multicastAddress ;
+ msgBuf.write_uint32(multicastAddress);
Header.VP.Join.Addr = bestEffortAddress ;
+ msgBuf.write_uint32(bestEffortAddress);
Header.VP.Join.peer = bestEffortPeer ;
+ msgBuf.write_uint32(bestEffortPeer);
break ;
// -- O_I Variable Part(No body) --
@@ -1001,7 +1046,9 @@
case UNPUBLISH_OBJECT_CLASS:
case UNSUBSCRIBE_OBJECT_CLASS:
Header.bodySize = 0 ;
+ msgBuf.write_int32(Header.bodySize);
Header.VP.O_I.handle = objectClass ;
+ msgBuf.write_int32(objectClass);
break ;
case PUBLISH_INTERACTION_CLASS:
@@ -1011,13 +1058,17 @@
case TURN_INTERACTIONS_ON:
case TURN_INTERACTIONS_OFF:
Header.bodySize = 0 ;
+ msgBuf.write_int32(Header.bodySize);
Header.VP.O_I.handle = interactionClass ;
+ msgBuf.write_int32(interactionClass);
break ;
// DDM variable part, no body
case DDM_DELETE_REGION:
Header.bodySize = 0 ;
+ msgBuf.write_int32(Header.bodySize);
Header.VP.ddm.region = region ;
+ msgBuf.write_int32(region);
break ;
// -- O_I Variable Part(body not empty) --
@@ -1026,25 +1077,34 @@
case SUBSCRIBE_OBJECT_CLASS:
// body contains handleArray[handleArraySize](if not empty)
- if (handleArraySize > 0)
+ if (handleArraySize > 0) {
Header.bodySize = 1 ;
- else
+ }
+ else {
Header.bodySize = 0 ;
+ }
+ msgBuf.write_int32(Header.bodySize);
Header.VP.O_I.handle = objectClass ;
+ msgBuf.write_int32(objectClass);
Header.VP.O_I.size = handleArraySize ;
+ msgBuf.write_int32(handleArraySize);
break ;
case REGISTER_OBJECT:
case DISCOVER_OBJECT:
// body Contains ObjectHandle and label
Header.bodySize = 1 ;
+ msgBuf.write_int32(Header.bodySize);
Header.VP.O_I.handle = objectClass ;
+ msgBuf.write_int32(objectClass);
break ;
case DDM_MODIFY_REGION:
Header.bodySize = 1 ;
+ msgBuf.write_int32(Header.bodySize);
Header.VP.ddm.region = region ;
+ msgBuf.write_int32(region);
break ;
default:
@@ -1052,13 +1112,22 @@
throw RTIinternalError("Unknown/Unimplemented type for Header.");
}
- if (Header.bodySize == 0)
- socket->send(reinterpret_cast<unsigned char *>(&Header),
sizeof(HeaderStruct));
+ /*
+ * If the message has no body we send the prepared header buffer
+ * Note that we may pass msgBuf object to send because it will be
casted out
+ * by the MessageBuffer Cast operator.
+ */
+ if (Header.bodySize == 0) {
+ msgBuf.updateReservedBytes();
+ D.Out(pdDebug,"[Header] Sending a buffer of <%u>
bytes",msgBuf.size());
+ msgBuf.show(msgBuf(0),5);
+ socket->send(static_cast<unsigned char*>(msgBuf(0)),
msgBuf.size());
+ }
G.Out(pdGendoc,"exit NetworkMessage::writeHeader");
- return Header.bodySize != 0 ;
+ return (Header.bodySize != 0);
}
} // namespace certi
-// $Id: NetworkMessage_RW.cc,v 3.45 2008/03/06 16:33:10 rousse Exp $
+// $Id: NetworkMessage_RW.cc,v 3.45.2.1 2008/03/18 15:55:55 erk Exp $
Index: libCERTI/ObjectSet.cc
===================================================================
RCS file: /sources/certi/certi/libCERTI/ObjectSet.cc,v
retrieving revision 3.18
retrieving revision 3.18.2.1
diff -u -b -r3.18 -r3.18.2.1
--- libCERTI/ObjectSet.cc 5 Mar 2008 15:33:51 -0000 3.18
+++ libCERTI/ObjectSet.cc 18 Mar 2008 15:55:56 -0000 3.18.2.1
@@ -28,6 +28,7 @@
#include "ObjectAttribute.hh"
#include "ObjectSet.hh"
#include "PrettyDebug.hh"
+#include "NM_Classes.hh"
// Standard
#include <iostream>
@@ -239,15 +240,18 @@
ObjectAttribute * oa ;
oa = object->getAttribute(the_attribute);
- NetworkMessage *answer = new NetworkMessage ;
+ NetworkMessage *answer;
+ if (oa->getOwner()) {
+ answer =
NM_Factory::create(NetworkMessage::INFORM_ATTRIBUTE_OWNERSHIP);
+ } else {
+ answer =
NM_Factory::create(NetworkMessage::ATTRIBUTE_IS_NOT_OWNED);
+ }
+
answer->federation = server->federation();
answer->exception = e_NO_EXCEPTION ;
answer->object = the_object ;
answer->handleArray[0] = the_attribute ;
answer->federate = oa->getOwner();
- answer->type = answer->federate
- ? NetworkMessage::INFORM_ATTRIBUTE_OWNERSHIP
- : NetworkMessage::ATTRIBUTE_IS_NOT_OWNED ;
sendToFederate(answer, the_federate);
}
@@ -454,4 +458,4 @@
}
} // namespace certi
-// $Id: ObjectSet.cc,v 3.18 2008/03/05 15:33:51 rousse Exp $
+// $Id: ObjectSet.cc,v 3.18.2.1 2008/03/18 15:55:56 erk Exp $
Index: libCERTI/NetworkMessage.cc
===================================================================
RCS file: /sources/certi/certi/libCERTI/NetworkMessage.cc,v
retrieving revision 3.28
retrieving revision 3.28.2.1
diff -u -b -r3.28 -r3.28.2.1
--- libCERTI/NetworkMessage.cc 15 Feb 2008 14:16:20 -0000 3.28
+++ libCERTI/NetworkMessage.cc 18 Mar 2008 15:55:56 -0000 3.28.2.1
@@ -16,7 +16,7 @@
// License along with this program ; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//
-// $Id: NetworkMessage.cc,v 3.28 2008/02/15 14:16:20 rousse Exp $
+// $Id: NetworkMessage.cc,v 3.28.2.1 2008/03/18 15:55:56 erk Exp $
// ----------------------------------------------------------------------------
@@ -32,39 +32,6 @@
namespace certi {
static PrettyDebug G("GENDOC",__FILE__);
-// ----------------------------------------------------------------------------
-void
-NetworkMessage::display(const char *s)
-{
- printf(" -- NETWORK MESSAGE - %s -", s);
- if ( type == CREATE_FEDERATION_EXECUTION )
- printf("CREATE_FEDERATION_EXECUTION : federationName %s : filename %s
:"
- " federateHandle %d : federationHandle
%d\n",federationName,FEDid,federate,federation);
- if ( type == DESTROY_FEDERATION_EXECUTION )
- printf("DESTROY_FEDERATION_EXECUTION : federationName %s : federate %d :
federationHandle %d\n",
-
((federationName==NULL)?"empty":federationName),federate,federation) ;
- else if (type == JOIN_FEDERATION_EXECUTION )
- printf("JOIN_FEDERATION_EXECUTION : federation %s : federate %s
\n",federationName,federateName);
- else if (type == FEDERATE_RESTORE_COMPLETE )
- printf("FEDERATE_RESTORE_COMPLETE : federationHandle %d :
federatehandle %d \n",federation,federate);
- else if (type == FEDERATE_SAVE_COMPLETE )
- printf("FEDERATE_SAVE_COMPLETE : federationHandle %d : federatehandle
%d \n",federation,federate);
- else if (type == GET_FED_FILE )
- printf("GET_FED_FILE : number %ld\n",number) ;
- else
- printf(" type = %d\n", type);
-
- printf(" number = %ld-%d", federate, number);
- printf(" date = %f ", date);
- if (exception == 0 )
- printf("NO_EXCEPTION ");
- else
- printf(" exception=%d: ",exception);
- printf(" ObjectHandle = %ld\n", objectClass);
- printf(" interactionClass= %ld\n", interactionClass);
- printf(" object = %ld\n", object);
- printf(" handleArraySize = %d\n", handleArraySize);
-}
// ----------------------------------------------------------------------------
NetworkMessage::NetworkMessage()
@@ -77,10 +44,10 @@
federation = 0 ;
federate = 0 ;
- federationName = NULL ;
+ federationName = std::string("") ;
federateName[0] = '\0' ;
label[0] = '\0' ;
- FEDid = NULL ;
+ FEDid = std::string("") ;
bestEffortPeer = -1 ;
bestEffortAddress = 0 ;
@@ -101,6 +68,9 @@
ValueArray[i].length = 0 ;
ValueArray[i].value[0] = '\0' ;
}
+}
+
+NetworkMessage::~NetworkMessage() {
}
@@ -286,40 +256,31 @@
// ----------------------------------------------------------------------------
void
-NetworkMessage::readLabel(MessageBody &body)
+NetworkMessage::readLabel()
{
- body.readString(label, MAX_USER_TAG_LENGTH);
+ label = msgBuf.read_string();
}
// ----------------------------------------------------------------------------
//! Read the tag contained into the message.
-void NetworkMessage::readTag(MessageBody &body)
+void NetworkMessage::readTag()
{
- body.readString(tag, MAX_USER_TAG_LENGTH);
+ tag = msgBuf.read_string();
}
// ----------------------------------------------------------------------------
//! Read the federation name.
void
-NetworkMessage::readFederationName(MessageBody &body)
+NetworkMessage::readFederationName()
{
- short federationNameSize ;
-
- federationNameSize = body.readShortInt() ;
- federationName = new char[federationNameSize+1] ;
- if ( federationNameSize == 0 )
- {
- federationName[0] = '\0' ;
- }
- else
- body.readString(federationName,federationNameSize);
+ federationName = msgBuf.read_string();
}
// ----------------------------------------------------------------------------
void
-NetworkMessage::readFederateName(MessageBody &body)
+NetworkMessage::readFederateName()
{
- body.readString(federateName, MAX_FEDERATE_NAME_LENGTH);
+ federateName = msgBuf.read_string();
}
// ----------------------------------------------------------------------------
@@ -329,40 +290,31 @@
NetworkMessage::setFEDid(const char *NewFEDid)
{
assert ( NewFEDid != NULL) ;
- FEDid = new char[strlen(NewFEDid)+1] ;
- strcpy(FEDid, NewFEDid);
+ FEDid = std::string(NewFEDid);
}
// ----------------------------------------------------------------------------
void
-NetworkMessage::readFEDid(MessageBody &body)
+NetworkMessage::readFEDid()
{
- short FEDidSize ;
- FEDidSize = body.readShortInt() ;
- FEDid = new char[FEDidSize+1] ;
- if ( FEDidSize == 0 )
- FEDid[0] = '\0' ;
- else
- body.readString(FEDid,FEDidSize);
+ FEDid = msgBuf.read_string();
}
// ---------------------------------------------------------------
void
-NetworkMessage::writeFEDid(MessageBody &body)
+NetworkMessage::writeFEDid()
{
- body.writeShortInt(strlen(FEDid));
- body.writeString(FEDid);
+ msgBuf.write_string(FEDid);
}
// ---------------------------------------------------------------
void
-NetworkMessage::writeFederationName(MessageBody &body)
+NetworkMessage::writeFederationName()
{
- assert(federationName != NULL) ;
- body.writeShortInt(strlen(federationName));
- body.writeString(federationName);
+ assert(federationName.length() > 0) ;
+ msgBuf.write_string(federationName);
}
} // namespace certi
-// $Id: NetworkMessage.cc,v 3.28 2008/02/15 14:16:20 rousse Exp $
+// $Id: NetworkMessage.cc,v 3.28.2.1 2008/03/18 15:55:56 erk Exp $
Index: libCERTI/Message_R.cc
===================================================================
RCS file: /sources/certi/certi/libCERTI/Message_R.cc,v
retrieving revision 3.17
retrieving revision 3.17.2.1
diff -u -b -r3.17 -r3.17.2.1
--- libCERTI/Message_R.cc 5 Mar 2008 15:33:50 -0000 3.17
+++ libCERTI/Message_R.cc 18 Mar 2008 15:55:56 -0000 3.17.2.1
@@ -17,7 +17,7 @@
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
// USA
//
-// $Id: Message_R.cc,v 3.17 2008/03/05 15:33:50 rousse Exp $
+// $Id: Message_R.cc,v 3.17.2.1 2008/03/18 15:55:56 erk Exp $
// ----------------------------------------------------------------------------
@@ -205,7 +205,7 @@
readTag(body);
handleArraySize = body.readShortInt();
readHandleArray(body);
- readRegions(body);
+ readRegions();
break ;
// Body contains objectClass,region,boolean,handleArraySize,
@@ -406,7 +406,7 @@
// Body contains region,extents
case DDM_MODIFY_REGION:
region = body.readLongInt();
- readExtents(body);
+ readExtents();
break ;
// Body contains region
@@ -756,4 +756,4 @@
} // namespace certi
-// $Id: Message_R.cc,v 3.17 2008/03/05 15:33:50 rousse Exp $
+// $Id: Message_R.cc,v 3.17.2.1 2008/03/18 15:55:56 erk Exp $
Index: libCERTI/NetworkMessage.hh
===================================================================
RCS file: /sources/certi/certi/libCERTI/NetworkMessage.hh,v
retrieving revision 3.30
retrieving revision 3.30.2.1
diff -u -b -r3.30 -r3.30.2.1
--- libCERTI/NetworkMessage.hh 5 Mar 2008 15:33:50 -0000 3.30
+++ libCERTI/NetworkMessage.hh 18 Mar 2008 15:55:56 -0000 3.30.2.1
@@ -17,7 +17,7 @@
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
// USA
//
-// $Id: NetworkMessage.hh,v 3.30 2008/03/05 15:33:50 rousse Exp $
+// $Id: NetworkMessage.hh,v 3.30.2.1 2008/03/18 15:55:56 erk Exp $
// ----------------------------------------------------------------------------
#ifndef CERTI_NETWORK_MESSAGE_HH
@@ -26,11 +26,11 @@
#include "fedtime.hh"
#include "Exception.hh"
#include "Socket.hh"
-#include "MessageBody.hh"
#include "RTIRegion.hh"
#include "BasicMessage.hh"
#include <vector>
+#include <string>
#ifdef FEDERATION_USES_MULTICAST
#define MC_PORT 60123
@@ -84,7 +84,7 @@
DDM_Struct ddm ;
};
- enum Type {
+ typedef enum Type {
NOT_USED = 0, // Not used.
CLOSE_CONNEXION,
MESSAGE_NULL,
@@ -168,9 +168,8 @@
DDM_UNSUBSCRIBE_INTERACTION,
PROVIDE_ATTRIBUTE_VALUE_UPDATE,
GET_FED_FILE,
-
LAST
- };
+ } Message_T;
struct HeaderStruct {
Type type ;
@@ -183,10 +182,11 @@
public :
NetworkMessage();
+ virtual ~NetworkMessage();
- // Display method
- void display(const char *);
- void trace(const char* context);
+ const NetworkMessage::Message_T getType() const {return type;};
+ virtual void serialize(){};
+ virtual void deserialize(){};
// Parameter and Attribute Management
// Remove the Parameter of rank 'Rank' in the ParamArray and its value in
@@ -234,18 +234,18 @@
void setBoolean(bool);
bool getBoolean() const { return boolean ; };
- Type type ;
+ Message_T type;
TypeException exception ;
- char exceptionReason[MAX_EXCEPTION_REASON_LENGTH + 1] ;
+ std::string exceptionReason;
UShort number ;
Handle federation ;
FederateHandle federate ;
- //char federationName[MAX_FEDERATION_NAME_LENGTH + 1] ;
- char *federationName ;
- char federateName[MAX_FEDERATE_NAME_LENGTH + 1] ;
- char *FEDid ;
+
+ std::string federationName ;
+ std::string federateName;
+ std::string FEDid ;
int bestEffortPeer ;
unsigned long bestEffortAddress ;
@@ -260,8 +260,8 @@
int numberOfRegulators ;
unsigned long multicastAddress ;
- char label[MAX_USER_TAG_LENGTH + 1] ;
- char tag[MAX_USER_TAG_LENGTH + 1] ;
+ std::string label;
+ std::string tag;
ObjectHandlecount idCount ;
ObjectHandle firstId ;
@@ -283,11 +283,15 @@
long nbExtents ;
long region ;
- void setLabel(const char *new_label) { strcpy(label, new_label); }
- void setTag(const char *new_tag) { strcpy(tag, new_tag); }
+ void setLabel(const char *new_label) { label = std::string(new_label); }
+ void setTag(const char *new_tag) { tag = std::string(new_tag); }
void setFEDid(const char *NewFEDid);
+protected:
+ std::string name;
private:
+
+
// Read a Message Body from a Socket. Should be called after ReadHeader.
void readBody(Socket *Socket);
@@ -307,25 +311,27 @@
bool writeHeader(Socket *Socket);
// -- Others Private Write Methods --
- void writeFEDid(MessageBody &body);
- void writeFederationName(MessageBody &body);
+ void writeFEDid();
+ void writeFederationName();
// -- Others Private Read Methods --
- void readLabel(MessageBody &);
- void readTag(MessageBody &);
- void readFederationName(MessageBody &);
- void readFederateName(MessageBody &);
- void readFEDid(MessageBody &body);
+ void readLabel();
+ void readTag();
+ void readFederationName();
+ void readFederateName();
+ void readFEDid();
- HeaderStruct Header ;
+ HeaderStruct Header;
// ValueArray is now a ValueLengthPair
ValueLengthPair ValueArray[MAX_ATTRIBUTES_PER_CLASS] ;
};
+// BUG: FIXME this is used by SocketMC and should
+// be thrown away as soon as possible.
#define TAILLE_MSG_RESEAU sizeof(NetworkMessage)
} // namespace certi
#endif // CERTI_NETWORK_MESSAGE_HH
-// $Id: NetworkMessage.hh,v 3.30 2008/03/05 15:33:50 rousse Exp $
+// $Id: NetworkMessage.hh,v 3.30.2.1 2008/03/18 15:55:56 erk Exp $
Index: libCERTI/BasicMessage.cc
===================================================================
RCS file: /sources/certi/certi/libCERTI/BasicMessage.cc,v
retrieving revision 3.9
retrieving revision 3.9.2.1
diff -u -b -r3.9 -r3.9.2.1
--- libCERTI/BasicMessage.cc 6 Jul 2007 09:25:17 -0000 3.9
+++ libCERTI/BasicMessage.cc 18 Mar 2008 15:55:56 -0000 3.9.2.1
@@ -19,7 +19,7 @@
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
// USA
//
-// $Id: BasicMessage.cc,v 3.9 2007/07/06 09:25:17 erk Exp $
+// $Id: BasicMessage.cc,v 3.9.2.1 2008/03/18 15:55:56 erk Exp $
// ----------------------------------------------------------------------------
@@ -28,30 +28,26 @@
#include <cassert>
-using std::vector ;
-using std::endl ;
+using std::vector;
+using std::endl;
-static pdCDebug D("MESSAGE", __FILE__);
+static pdCDebug D("MESSAGE",__FILE__ );
namespace certi {
// ----------------------------------------------------------------------------
/** Set extents
*/
-void
-BasicMessage::setExtents(const std::vector<Extent> &e)
-{
- extents = e ;
+void BasicMessage::setExtents(const std::vector<Extent> &e) {
+ extents = e;
assert(extents.size() == e.size());
}
// ----------------------------------------------------------------------------
/** Get extents
*/
-const vector<Extent> &
-BasicMessage::getExtents() const
-{
- return extents ;
+const vector<Extent> & BasicMessage::getExtents() const {
+ return extents;
}
// ----------------------------------------------------------------------------
@@ -59,23 +55,21 @@
extents. If not zero, number of dimensions. The list of extents. Extent
format: list of ranges. Range format: lower bound, upper bound.
*/
-void
-BasicMessage::writeExtents(MessageBody &body) const
-{
- D[pdDebug] << "Write " << extents.size() << " extent(s)" << endl ;
+void BasicMessage::writeExtents() {
+ D[pdDebug] << "Write " << extents.size() << " extent(s)" << endl;
- body.writeLongInt(extents.size());
+ msgBuf.write_int32(static_cast<int32_t>(extents.size()));
if (extents.size() > 0) {
int n = extents[0].size();
- body.writeLongInt(n);
- D[pdDebug] << "Extent with " << n << " range(s)" << endl ;
+ msgBuf.write_int32(static_cast<int32_t>(n));
+ D[pdDebug] << "Extent with " << n << " range(s)" << endl;
- for (unsigned int i = 0 ; i < extents.size(); ++i) {
- const Extent &e = extents[i] ;
+ for (unsigned int i = 0; i < extents.size(); ++i) {
+ const Extent &e = extents[i];
- for (int h = 1 ; h <= n ; ++h) {
- body.writeLongInt(e.getRangeLowerBound(h));
- body.writeLongInt(e.getRangeUpperBound(h));
+ for (int h = 1; h <= n; ++h) {
+
msgBuf.write_int32(static_cast<int32_t>(e.getRangeLowerBound(h)));
+
msgBuf.write_int32(static_cast<int32_t>(e.getRangeUpperBound(h)));
}
}
}
@@ -86,22 +80,26 @@
\param body Message body to look into
\sa BasicMessage::writeExtents, Extent
*/
-void
-BasicMessage::readExtents(const MessageBody &body)
-{
- long nb_extents = body.readLongInt();
- D[pdDebug] << "Read " << nb_extents << " extent(s)" << endl ;
+void BasicMessage::readExtents() {
+ int32_t nb_extents;
+ int32_t temp;
+ msgBuf.read_int32(&nb_extents);
+ D[pdDebug] << "Read " << nb_extents << " extent(s)" << endl;
extents.clear();
if (nb_extents > 0) {
extents.reserve(nb_extents);
- long nb_dimensions = body.readLongInt();
- D[pdDebug] << "Extent with " << nb_dimensions << " range(s)" << endl ;
- for (long i = 0 ; i < nb_extents ; ++i) {
+ int32_t nb_dimensions;
+ msgBuf.read_int32(&nb_dimensions);
+ D[pdDebug] << "Extent with " << nb_dimensions << " range(s)" <<
endl;
+ for (long i = 0; i < nb_extents; ++i) {
Extent e(nb_dimensions);
- for (long h = 1 ; h <= nb_dimensions ; ++h) {
- e.setRangeLowerBound(h, body.readLongInt());
- e.setRangeUpperBound(h, body.readLongInt());
+
+ for (long h = 1; h <= nb_dimensions; ++h) {
+ msgBuf.read_int32(&temp);
+ e.setRangeLowerBound(h, temp);
+ msgBuf.read_int32(&temp);
+ e.setRangeUpperBound(h, temp);
}
extents.push_back(e);
}
@@ -109,52 +107,45 @@
}
// ----------------------------------------------------------------------------
-void
-BasicMessage::writeRegions(MessageBody &body)
-{
- long n = regions.size();
- body.writeLongInt(n);
- for (int i = 0 ; i < n ; ++i) {
- body.writeLongInt(regions[i]);
+void BasicMessage::writeRegions() {
+ int32_t n = regions.size();
+ msgBuf.write_int32(n);
+ for (int i = 0; i < n; ++i) {
+ msgBuf.write_int32(regions[i]);
}
}
// ----------------------------------------------------------------------------
-void
-BasicMessage::readRegions(const MessageBody &body)
-{
- long n = body.readLongInt();
+void BasicMessage::readRegions() {
+ int32_t n;
+ int32_t temp;
+ msgBuf.read_int32(&n);
regions.clear();
regions.reserve(n);
for (int i = 0; i < n; ++i) {
- regions.push_back(body.readLongInt());
+ msgBuf.read_int32(&temp);
+ regions.push_back(temp);
}
}
// ----------------------------------------------------------------------------
-void
-BasicMessage::setRegions(const BaseRegion *reg[], int size)
-{
+void BasicMessage::setRegions(const BaseRegion *reg[], int size) {
regions.resize(size);
- for (int i = 0 ; i < size ; ++i) {
+ for (int i = 0; i < size; ++i) {
regions[i] = reg[i]->getHandle();
}
}
-void
-BasicMessage::setRegions(const std::vector<RegionHandle> &src)
-{
- regions = src ;
+void BasicMessage::setRegions(const std::vector<RegionHandle> &src) {
+ regions = src;
}
// ----------------------------------------------------------------------------
-const std::vector<RegionHandle> &
-BasicMessage::getRegions() const
-{
- return regions ;
+const std::vector<RegionHandle> & BasicMessage::getRegions() const {
+ return regions;
}
} // namespace certi
-// $Id: BasicMessage.cc,v 3.9 2007/07/06 09:25:17 erk Exp $
+// $Id: BasicMessage.cc,v 3.9.2.1 2008/03/18 15:55:56 erk Exp $
Index: libCERTI/CMakeLists.txt
===================================================================
RCS file: /sources/certi/certi/libCERTI/CMakeLists.txt,v
retrieving revision 1.11
retrieving revision 1.11.2.1
diff -u -b -r1.11 -r1.11.2.1
--- libCERTI/CMakeLists.txt 14 Feb 2008 15:29:58 -0000 1.11
+++ libCERTI/CMakeLists.txt 18 Mar 2008 15:55:56 -0000 1.11.2.1
@@ -73,6 +73,7 @@
MessageBuffer.cc MessageBuffer.hh
Message.cc Message_R.cc Message_W.cc Message.hh
NetworkMessage.cc NetworkMessage_RW.cc NetworkMessage.hh
+NM_Classes.hh NM_Classes.cc
Exception.cc Exception.hh
XmlParser.cc XmlParser.hh
PrettyDebug.cc PrettyDebEx.cc PrettyDebug.hh
Index: libCERTI/Interaction.cc
===================================================================
RCS file: /sources/certi/certi/libCERTI/Interaction.cc,v
retrieving revision 3.35
retrieving revision 3.35.2.1
diff -u -b -r3.35 -r3.35.2.1
--- libCERTI/Interaction.cc 11 Dec 2007 19:46:53 -0000 3.35
+++ libCERTI/Interaction.cc 18 Mar 2008 15:55:56 -0000 3.35.2.1
@@ -19,7 +19,7 @@
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
// USA
//
-// $Id: Interaction.cc,v 3.35 2007/12/11 19:46:53 erk Exp $
+// $Id: Interaction.cc,v 3.35.2.1 2008/03/18 15:55:56 erk Exp $
// ----------------------------------------------------------------------------
@@ -416,7 +416,7 @@
answer->setBoolean(true) ; // with time
answer->date = time ;
- strcpy(answer->label, the_tag);
+ answer->label = the_tag;
answer->handleArraySize = list_size ;
for (int i = 0 ; i < list_size ; i++) {
@@ -475,7 +475,7 @@
answer->interactionClass = handle ; // Interaction Class Handle
answer->setBoolean(false) ; // without time
- strcpy(answer->label, the_tag);
+ answer->label = the_tag;
answer->handleArraySize = list_size ;
for (int i = 0 ; i < list_size ; i++) {
@@ -553,4 +553,4 @@
} // namespace certi
-// $Id: Interaction.cc,v 3.35 2007/12/11 19:46:53 erk Exp $
+// $Id: Interaction.cc,v 3.35.2.1 2008/03/18 15:55:56 erk Exp $
Index: libCERTI/BasicMessage.hh
===================================================================
RCS file: /sources/certi/certi/libCERTI/BasicMessage.hh,v
retrieving revision 3.7
retrieving revision 3.7.2.1
diff -u -b -r3.7 -r3.7.2.1
--- libCERTI/BasicMessage.hh 22 Jun 2007 08:51:36 -0000 3.7
+++ libCERTI/BasicMessage.hh 18 Mar 2008 15:55:56 -0000 3.7.2.1
@@ -19,14 +19,14 @@
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
// USA
//
-// $Id: BasicMessage.hh,v 3.7 2007/06/22 08:51:36 erk Exp $
+// $Id: BasicMessage.hh,v 3.7.2.1 2008/03/18 15:55:56 erk Exp $
// ----------------------------------------------------------------------------
#ifndef LIBCERTI_BASIC_MESSAGE
#define LIBCERTI_BASIC_MESSAGE
#include "Extent.hh"
-#include "MessageBody.hh"
+#include "MessageBuffer.hh"
#include "BaseRegion.hh"
#include <vector>
@@ -48,21 +48,20 @@
void setRegions(const std::vector<RegionHandle> &);
const std::vector<RegionHandle> &getRegions() const ;
- virtual void trace(const char* context)=0;
-
protected:
- void readExtents(const MessageBody &);
- void writeExtents(MessageBody &) const ;
+ void readExtents();
+ void writeExtents() ;
- void readRegions(const MessageBody &body);
- void writeRegions(MessageBody &body);
+ void readRegions();
+ void writeRegions();
std::vector<Extent> extents ;
std::vector<RegionHandle> regions ;
+ MessageBuffer msgBuf;
};
} // namespace certi
#endif // LIBCERTI_BASIC_MESSAGE
-// $Id: BasicMessage.hh,v 3.7 2007/06/22 08:51:36 erk Exp $
+// $Id: BasicMessage.hh,v 3.7.2.1 2008/03/18 15:55:56 erk Exp $
Index: RTIA/OwnershipManagement.cc
===================================================================
RCS file: /sources/certi/certi/RTIA/OwnershipManagement.cc,v
retrieving revision 3.12
retrieving revision 3.12.2.1
diff -u -b -r3.12 -r3.12.2.1
--- RTIA/OwnershipManagement.cc 22 Feb 2008 11:34:31 -0000 3.12
+++ RTIA/OwnershipManagement.cc 18 Mar 2008 15:55:57 -0000 3.12.2.1
@@ -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: OwnershipManagement.cc,v 3.12 2008/02/22 11:34:31 siron Exp $
+// $Id: OwnershipManagement.cc,v 3.12.2.1 2008/03/18 15:55:57 erk Exp $
// ----------------------------------------------------------------------------
#include <config.h>
@@ -63,7 +63,7 @@
AttributeHandle theAttribute,
TypeException &e)
{
- NetworkMessage req, rep ;
+ NetworkMessage req ;
D.Out(pdDebug,
"IS_ATTRIBUTE_OWNED_BY_FEDERATE, attribute %u of object %u",
@@ -81,14 +81,14 @@
comm->sendMessage(&req);
// waitMessage is only used to verify transmission was OK.
- comm->waitMessage(&rep,
+ std::auto_ptr<NetworkMessage> rep(comm->waitMessage(
NetworkMessage::IS_ATTRIBUTE_OWNED_BY_FEDERATE,
- req.federate);
+ req.federate));
- e = rep.exception ;
+ e = rep->exception ;
if (e == e_NO_EXCEPTION)
- return(rep.label);
+ return(rep->label.c_str());
else
return("\0");
}
@@ -100,7 +100,7 @@
AttributeHandle theAttribute,
TypeException &e)
{
- NetworkMessage req, rep ;
+ NetworkMessage req;
D.Out(pdDebug,
"QUERY_ATTRIBUTE_OWNERSHIP, attribute %u from object %u",
@@ -118,9 +118,9 @@
comm->sendMessage(&req);
//AttendreMsg ne sert que pour verifier que la transmission a ete OK
- comm->waitMessage(&rep, NetworkMessage::QUERY_ATTRIBUTE_OWNERSHIP,
req.federate);
+ std::auto_ptr<NetworkMessage>
rep(comm->waitMessage(NetworkMessage::QUERY_ATTRIBUTE_OWNERSHIP, req.federate));
- e = rep.exception ;
+ e = rep->exception ;
}
// ----------------------------------------------------------------------------
@@ -134,7 +134,7 @@
TypeException &e)
{
- NetworkMessage req, rep ;
+ NetworkMessage req;
req.type = NetworkMessage::NEGOTIATED_ATTRIBUTE_OWNERSHIP_DIVESTITURE ;
req.federation = fm->_numero_federation ;
@@ -145,16 +145,16 @@
for (int i = 0 ; i < attribArraySize ; i++)
req.handleArray[i] = attribArray[i] ;
- strcpy(req.label, theTag);
+ req.label = theTag;
D.Out(pdDebug, "NEGOTIATED_DIVESTITURE Federate %u ", fm->federate);
comm->sendMessage(&req);
- comm->waitMessage(&rep,
NetworkMessage::NEGOTIATED_ATTRIBUTE_OWNERSHIP_DIVESTITURE,
- req.federate);
+ std::auto_ptr<NetworkMessage>
rep(comm->waitMessage(NetworkMessage::NEGOTIATED_ATTRIBUTE_OWNERSHIP_DIVESTITURE,
+ req.federate));
- e = rep.exception ;
+ e = rep->exception ;
}
// ----------------------------------------------------------------------------
@@ -166,7 +166,7 @@
UShort attribArraySize,
TypeException &e)
{
- NetworkMessage req, rep ;
+ NetworkMessage req;
req.type =
NetworkMessage::CANCEL_NEGOTIATED_ATTRIBUTE_OWNERSHIP_DIVESTITURE ;
req.federation = fm->_numero_federation ;
@@ -182,11 +182,11 @@
comm->sendMessage(&req);
- comm->waitMessage(&rep,
+ std::auto_ptr<NetworkMessage> rep(comm->waitMessage(
NetworkMessage::CANCEL_NEGOTIATED_ATTRIBUTE_OWNERSHIP_DIVESTITURE,
- req.federate);
+ req.federate));
- e = rep.exception ;
+ e = rep->exception ;
}
// ----------------------------------------------------------------------------
@@ -198,7 +198,7 @@
UShort attribArraySize,
TypeException &e)
{
- NetworkMessage req, rep ;
+ NetworkMessage req;
req.type = NetworkMessage::ATTRIBUTE_OWNERSHIP_ACQUISITION_IF_AVAILABLE ;
req.federation = fm->_numero_federation ;
@@ -213,10 +213,10 @@
comm->sendMessage(&req);
- comm->waitMessage(&rep,
NetworkMessage::ATTRIBUTE_OWNERSHIP_ACQUISITION_IF_AVAILABLE,
- req.federate);
+ std::auto_ptr<NetworkMessage>
rep(comm->waitMessage(NetworkMessage::ATTRIBUTE_OWNERSHIP_ACQUISITION_IF_AVAILABLE,
+ req.federate));
- e = rep.exception ;
+ e = rep->exception ;
}
// ----------------------------------------------------------------------------
@@ -228,7 +228,7 @@
UShort attribArraySize,
TypeException &e)
{
- NetworkMessage req, rep ;
+ NetworkMessage req;
req.type = NetworkMessage::UNCONDITIONAL_ATTRIBUTE_OWNERSHIP_DIVESTITURE ;
req.federation = fm->_numero_federation ;
@@ -244,10 +244,10 @@
comm->sendMessage(&req);
- comm->waitMessage(&rep,
NetworkMessage::UNCONDITIONAL_ATTRIBUTE_OWNERSHIP_DIVESTITURE,
- req.federate);
+ std::auto_ptr<NetworkMessage>
rep(comm->waitMessage(NetworkMessage::UNCONDITIONAL_ATTRIBUTE_OWNERSHIP_DIVESTITURE,
+ req.federate));
- e = rep.exception ;
+ e = rep->exception ;
}
// ----------------------------------------------------------------------------
@@ -260,7 +260,7 @@
const char *theTag,
TypeException &e)
{
- NetworkMessage req, rep ;
+ NetworkMessage req;
req.type = NetworkMessage::ATTRIBUTE_OWNERSHIP_ACQUISITION ;
req.federation = fm->_numero_federation ;
@@ -271,16 +271,16 @@
for (int i = 0 ; i < attribArraySize ; i++)
req.handleArray[i] = attribArray[i] ;
- strcpy(req.label, theTag);
+ req.label = theTag;
D.Out(pdDebug, "OWNERSHIP_ACQUISITION Federate %u ", fm->federate);
comm->sendMessage(&req);
- comm->waitMessage(&rep, NetworkMessage::ATTRIBUTE_OWNERSHIP_ACQUISITION,
- req.federate);
+ std::auto_ptr<NetworkMessage>
rep(comm->waitMessage(NetworkMessage::ATTRIBUTE_OWNERSHIP_ACQUISITION,
+ req.federate));
- e = rep.exception ;
+ e = rep->exception ;
}
// ----------------------------------------------------------------------------
@@ -292,7 +292,7 @@
UShort attribArraySize,
TypeException &e)
{
- NetworkMessage req, rep ;
+ NetworkMessage req;
req.type = NetworkMessage::ATTRIBUTE_OWNERSHIP_RELEASE_RESPONSE ;
req.federation = fm->_numero_federation ;
@@ -310,17 +310,17 @@
comm->sendMessage(&req);
- comm->waitMessage(&rep,
NetworkMessage::ATTRIBUTE_OWNERSHIP_RELEASE_RESPONSE,
- req.federate);
+ std::auto_ptr<NetworkMessage>
rep(comm->waitMessage(NetworkMessage::ATTRIBUTE_OWNERSHIP_RELEASE_RESPONSE,
+ req.federate));
- e = rep.exception ;
+ e = rep->exception ;
if (e == e_NO_EXCEPTION) {
AttributeHandleSet *AttributeSet ;
- AttributeSet =
RTI::AttributeHandleSetFactory::create(rep.handleArraySize);
+ AttributeSet =
RTI::AttributeHandleSetFactory::create(rep->handleArraySize);
- for (int i = 0 ; i < rep.handleArraySize ; i++) {
- AttributeSet->add(rep.handleArray[i]);
+ for (int i = 0 ; i < rep->handleArraySize ; i++) {
+ AttributeSet->add(rep->handleArray[i]);
}
return(AttributeSet);
@@ -338,7 +338,7 @@
UShort attribArraySize,
TypeException &e)
{
- NetworkMessage req, rep ;
+ NetworkMessage req;
req.type = NetworkMessage::CANCEL_ATTRIBUTE_OWNERSHIP_ACQUISITION ;
req.federation = fm->_numero_federation ;
@@ -353,10 +353,10 @@
comm->sendMessage(&req);
- comm->waitMessage(&rep,
NetworkMessage::CANCEL_ATTRIBUTE_OWNERSHIP_ACQUISITION,
- req.federate);
+ std::auto_ptr<NetworkMessage>
rep(comm->waitMessage(NetworkMessage::CANCEL_ATTRIBUTE_OWNERSHIP_ACQUISITION,
+ req.federate));
- e = rep.exception ;
+ e = rep->exception ;
}
// ----------------------------------------------------------------------------
@@ -512,4 +512,4 @@
}} // namespace certi/rtia
-// $Id: OwnershipManagement.cc,v 3.12 2008/02/22 11:34:31 siron Exp $
+// $Id: OwnershipManagement.cc,v 3.12.2.1 2008/03/18 15:55:57 erk Exp $
Index: RTIA/Communications.cc
===================================================================
RCS file: /sources/certi/certi/RTIA/Communications.cc,v
retrieving revision 3.22
retrieving revision 3.22.2.1
diff -u -b -r3.22 -r3.22.2.1
--- RTIA/Communications.cc 22 Feb 2008 11:34:30 -0000 3.22
+++ RTIA/Communications.cc 18 Mar 2008 15:55:57 -0000 3.22.2.1
@@ -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: Communications.cc,v 3.22 2008/02/22 11:34:30 siron Exp $
+// $Id: Communications.cc,v 3.22.2.1 2008/03/18 15:55:57 erk Exp $
// ----------------------------------------------------------------------------
#include <config.h>
@@ -54,48 +54,39 @@
static PrettyDebug G("GENDOC",__FILE__);
// ----------------------------------------------------------------------------
-/*! Wait a message coming from RTIG. Parameters are :
- 1- Returned message,
- 2- Message type expected,
- 3- Federate which sent the message, 0 if indifferent.
-*/
-void Communications::waitMessage(NetworkMessage *msg,
+
+NetworkMessage* Communications::waitMessage(
NetworkMessage::Type type_msg,
FederateHandle numeroFedere)
{
- NetworkMessage *tampon ;
-
- assert(type_msg > 0 && type_msg < 100);
+ assert(type_msg > 0 && type_msg < NetworkMessage::LAST);
+ NetworkMessage *msg = NULL;
D.Out(pdProtocol, "Waiting for Message of Type %d.", type_msg);
- // Does a new message has arrived ?
- if (searchMessage(type_msg, numeroFedere, msg))
- return ;
+ // Does a new message of the expected type has arrived ?
+ if (searchMessage(type_msg, numeroFedere, &msg))
+ return msg;
// Otherwise, wait for a message with same type than expected and with
// same federate number.
- tampon = new NetworkMessage ;
- tampon->read((SecureTCPSocket *)this);
+ msg = new NetworkMessage();
+ msg->read((SecureTCPSocket *)this);
D.Out(pdProtocol, "TCP Message of Type %d has arrived.", type_msg);
- while ((tampon->type != type_msg) ||
- ((numeroFedere != 0) && (tampon->federate != numeroFedere))) {
- waitingList.push_back(tampon);
- tampon = new NetworkMessage ;
- tampon->read((SecureTCPSocket *) this);
-
+ while ((msg->type != type_msg) ||
+ ((numeroFedere != 0) && (msg->federate != numeroFedere))) {
+ waitingList.push_back(msg);
+ msg = new NetworkMessage();
+ msg->read((SecureTCPSocket *) this);
D.Out(pdProtocol, "Message of Type %d has arrived.", type_msg);
}
- // BUG: Should use copy operator.
- memcpy((void *) msg, (void *) tampon, sizeof(NetworkMessage));
- delete tampon ;
-
assert(msg != NULL);
assert(msg->type == type_msg);
-}
+ return msg;
+} /* end of waitMessage */
// ----------------------------------------------------------------------------
//! Communications.
@@ -180,7 +171,7 @@
Returns the actual source in the 1st parameter (RTIG=>1 federate=>2)
*/
void
-Communications::readMessage(int &n, NetworkMessage *msg_reseau, Message *msg)
+Communications::readMessage(int &n, NetworkMessage **msg_reseau, Message **msg)
{
const int tcp_fd(SecureTCPSocket::returnSocket());
const int udp_fd(SocketUDP::returnSocket());
@@ -213,29 +204,29 @@
if (!waitingList.empty()) {
// One message is in waiting buffer.
- NetworkMessage *msg2 ;
- msg2 = waitingList.front();
+ *msg_reseau = waitingList.front();
waitingList.pop_front();
- memcpy(msg_reseau, msg2, TAILLE_MSG_RESEAU);
- delete msg2 ;
n = 1 ;
}
else if (SecureTCPSocket::isDataReady()) {
// Datas are in TCP waiting buffer.
// Read a message from RTIG TCP link.
- msg_reseau->read((SecureTCPSocket *) this);
+ *msg_reseau = new NetworkMessage();
+ (*msg_reseau)->read((SecureTCPSocket *) this);
n = 1 ;
}
else if (SocketUDP::isDataReady()) {
// Datas are in UDP waiting buffer.
// Read a message from RTIG UDP link.
- msg_reseau->read((SocketUDP *) this);
+ *msg_reseau = new NetworkMessage();
+ (*msg_reseau)->read((SocketUDP *) this);
n = 1 ;
}
else if (SocketUN::isDataReady()) {
// Datas are in UNIX waiting buffer.
// Read a message from federate UNIX link.
- msg->read((SocketUN *) this);
+ (*msg) = new Message();
+ (*msg)->read((SocketUN *) this);
n = 2 ;
}
else {
@@ -247,9 +238,12 @@
#else
if(errno == EINTR)
#endif
- throw NetworkSignal("");
- else
- throw NetworkError("");
+ {
+ throw NetworkSignal("EINTR on select");
+ }
+ else {
+ throw NetworkError("Unexpected errno on select");
+ }
}
// At least one message has been received, read this message.
@@ -260,25 +254,28 @@
if (_est_init_mc && FD_ISSET(_socket_mc, &fdset)) {
// Read a message coming from the multicast link.
- receiveMC(msg_reseau);
+ receiveMC(*msg_reseau);
n = 1 ;
}
#endif
if (FD_ISSET(SecureTCPSocket::returnSocket(), &fdset)) {
// Read a message coming from the TCP link with RTIG.
- msg_reseau->read((SecureTCPSocket *) this);
+ (*msg_reseau) = new NetworkMessage();
+ (*msg_reseau)->read((SecureTCPSocket *) this);
n = 1 ;
}
else if (FD_ISSET(SocketUDP::returnSocket(), &fdset)) {
// Read a message coming from the UDP link with RTIG.
- msg_reseau->read((SocketUDP *) this);
+ (*msg_reseau) = new NetworkMessage();
+ (*msg_reseau)->read((SocketUDP *) this);
n = 1 ;
}
else {
// Read a message coming from the federate.
assert(FD_ISSET(_socket_un, &fdset));
- receiveUN(msg);
+ (*msg) = new Message();
+ receiveUN(*msg);
n = 2 ;
}
}
@@ -293,7 +290,7 @@
bool
Communications::searchMessage(NetworkMessage::Type type_msg,
FederateHandle numeroFedere,
- NetworkMessage *msg)
+ NetworkMessage **msg)
{
list<NetworkMessage *>::iterator i ;
for (i = waitingList.begin(); i != waitingList.end(); i++) {
@@ -303,8 +300,7 @@
if ((*i)->type == type_msg) {
// if numeroFedere != 0, verify that federateNumbers are similar
if (((*i)->federate == numeroFedere) || (numeroFedere == 0)) {
- memcpy(msg, (*i), TAILLE_MSG_RESEAU);
- delete (*i);
+ *msg = *i;
waitingList.erase(i);
D.Out(pdProtocol,
"Message of Type %d was already here.",
@@ -339,4 +335,4 @@
}} // namespace certi/rtia
-// $Id: Communications.cc,v 3.22 2008/02/22 11:34:30 siron Exp $
+// $Id: Communications.cc,v 3.22.2.1 2008/03/18 15:55:57 erk Exp $
Index: RTIA/DeclarationManagement.cc
===================================================================
RCS file: /sources/certi/certi/RTIA/DeclarationManagement.cc,v
retrieving revision 3.17
retrieving revision 3.17.2.1
diff -u -b -r3.17 -r3.17.2.1
--- RTIA/DeclarationManagement.cc 21 Feb 2008 10:15:24 -0000 3.17
+++ RTIA/DeclarationManagement.cc 18 Mar 2008 15:55:57 -0000 3.17.2.1
@@ -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.17 2008/02/21 10:15:24 rousse Exp $
+// $Id: DeclarationManagement.cc,v 3.17.2.1 2008/03/18 15:55:57 erk Exp $
// ----------------------------------------------------------------------------
#include <config.h>
@@ -36,6 +36,8 @@
#include <stdlib.h>
#endif
+#include <memory>
+
namespace certi {
namespace rtia {
@@ -98,11 +100,10 @@
comm->sendMessage(&req);
// Reception
- NetworkMessage rep ;
- comm->waitMessage(&rep, NetworkMessage::PUBLISH_OBJECT_CLASS,
req.federate);
+ std::auto_ptr<NetworkMessage>
rep(comm->waitMessage(NetworkMessage::PUBLISH_OBJECT_CLASS, req.federate));
- e = rep.exception ;
-}
+ e = rep->exception ;
+} /* end of publishObjectClass */
// ----------------------------------------------------------------------------
// unpublishObjectClass
@@ -140,11 +141,10 @@
comm->sendMessage(&req);
// On attend une reponse
- NetworkMessage rep ;
- comm->waitMessage(&rep, NetworkMessage::UNPUBLISH_OBJECT_CLASS,
req.federate);
+ std::auto_ptr<NetworkMessage>
rep(comm->waitMessage(NetworkMessage::UNPUBLISH_OBJECT_CLASS, req.federate));
- e = rep.exception ;
-}
+ e = rep->exception ;
+} /* end of unpublishObjectClass */
// ----------------------------------------------------------------------------
// publishInteractionClass
@@ -155,8 +155,7 @@
{
e = e_NO_EXCEPTION ;
- // Partie Locale
-
+ // Local publish
try {
rootObject->Interactions->publish(fm->federate,
theInteractionHandle,
@@ -166,7 +165,7 @@
throw e ;
}
- // Partie RTIG
+ // RTIG (may be non-local) request
NetworkMessage req ;
req.type = NetworkMessage::PUBLISH_INTERACTION_CLASS ;
req.federation = fm->_numero_federation ;
@@ -174,12 +173,10 @@
req.interactionClass = theInteractionHandle ;
comm->sendMessage(&req);
+ std::auto_ptr<NetworkMessage>
rep(comm->waitMessage(NetworkMessage::PUBLISH_INTERACTION_CLASS, req.federate));
- NetworkMessage rep ;
- comm->waitMessage(&rep, NetworkMessage::PUBLISH_INTERACTION_CLASS,
req.federate);
-
- e = rep.exception ;
-}
+ e = rep->exception ;
+} /* end of publishInteractionClass */
// ----------------------------------------------------------------------------
// unpublishInteractionClass
@@ -202,7 +199,7 @@
}
// Partie RTIG
- NetworkMessage req ;
+ NetworkMessage req;
req.type = NetworkMessage::UNPUBLISH_INTERACTION_CLASS ;
req.interactionClass = theInteractionHandle ;
req.federation = fm->_numero_federation ;
@@ -210,11 +207,10 @@
comm->sendMessage(&req);
- NetworkMessage rep ;
- comm->waitMessage(&rep, NetworkMessage::UNPUBLISH_INTERACTION_CLASS,
req.federate);
+ std::auto_ptr<NetworkMessage>
rep(comm->waitMessage(NetworkMessage::UNPUBLISH_INTERACTION_CLASS,
req.federate));
- e = rep.exception ;
-}
+ e = rep->exception ;
+} /* end of unpublishInteractionClass */
// ----------------------------------------------------------------------------
// subscribeObjectClassAttribute
@@ -225,7 +221,7 @@
UShort attribArraySize,
TypeException &e)
{
- NetworkMessage req, rep ;
+ NetworkMessage req;
G.Out(pdGendoc,"enter
DeclarationManagement::subscribeObjectClassAttribute");
// Pas de partie locale pour les abonnements
@@ -246,14 +242,14 @@
comm->sendMessage(&req);
// Reception
- comm->waitMessage(&rep,
+ std::auto_ptr<NetworkMessage> rep(comm->waitMessage(
NetworkMessage::SUBSCRIBE_OBJECT_CLASS,
- req.federate);
+ req.federate));
G.Out(pdGendoc," =====> received S_O_C from
RTIG");
- e = rep.exception ;
+ e = rep->exception ;
G.Out(pdGendoc,"exit
DeclarationManagement::subscribeObjectClassAttribute");
-}
+} /* end of subscribeObjectClassAttribute */
// ----------------------------------------------------------------------------
// unsubscribeObjectClassAttribute
@@ -262,7 +258,7 @@
unsubscribeObjectClassAttribute(ObjectClassHandle theClassHandle,
TypeException &e)
{
- NetworkMessage req, rep ;
+ NetworkMessage req;
e = e_NO_EXCEPTION ;
@@ -276,12 +272,12 @@
comm->sendMessage(&req);
- comm->waitMessage(&rep,
+ std::auto_ptr<NetworkMessage> rep(comm->waitMessage(
NetworkMessage::UNSUBSCRIBE_OBJECT_CLASS,
- req.federate);
+ req.federate));
- e = rep.exception ;
-}
+ e = rep->exception ;
+} /* end of unsubscribeObjectClassAttribute */
// ----------------------------------------------------------------------------
// subscribeInteractionClass
@@ -290,7 +286,7 @@
subscribeInteractionClass(InteractionClassHandle theClassHandle,
TypeException &e)
{
- NetworkMessage req, rep ;
+ NetworkMessage req;
e = e_NO_EXCEPTION ;
@@ -315,11 +311,11 @@
comm->sendMessage(&req);
- comm->waitMessage(&rep, NetworkMessage::SUBSCRIBE_INTERACTION_CLASS,
- req.federate);
+ std::auto_ptr<NetworkMessage>
rep(comm->waitMessage(NetworkMessage::SUBSCRIBE_INTERACTION_CLASS,
+ req.federate));
- e = rep.exception ;
-}
+ e = rep->exception ;
+} /* end of subscribeInteractionClass */
// ----------------------------------------------------------------------------
// unsubscribeInteractionClass
@@ -328,7 +324,7 @@
unsubscribeInteractionClass(InteractionClassHandle theClassHandle,
TypeException &e)
{
- NetworkMessage req, rep ;
+ NetworkMessage req;
e = e_NO_EXCEPTION ;
@@ -353,12 +349,12 @@
comm->sendMessage(&req);
- comm->waitMessage(&rep,
+ std::auto_ptr<NetworkMessage> rep(comm->waitMessage(
NetworkMessage::UNSUBSCRIBE_INTERACTION_CLASS,
- req.federate);
+ req.federate));
- e = rep.exception ;
-}
+ e = rep->exception ;
+} /* end of unsubscribeInteractionClass */
// ----------------------------------------------------------------------------
// startRegistrationForObjectClass
@@ -463,4 +459,4 @@
}} // namespace certi/rtia
-// $Id: DeclarationManagement.cc,v 3.17 2008/02/21 10:15:24 rousse Exp $
+// $Id: DeclarationManagement.cc,v 3.17.2.1 2008/03/18 15:55:57 erk Exp $
Index: RTIA/TimeManagement.cc
===================================================================
RCS file: /sources/certi/certi/RTIA/TimeManagement.cc,v
retrieving revision 3.29
retrieving revision 3.29.2.1
diff -u -b -r3.29 -r3.29.2.1
--- RTIA/TimeManagement.cc 5 Mar 2008 15:33:50 -0000 3.29
+++ RTIA/TimeManagement.cc 18 Mar 2008 15:55:57 -0000 3.29.2.1
@@ -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.29 2008/03/05 15:33:50 rousse Exp $
+// $Id: TimeManagement.cc,v 3.29.2.1 2008/03/18 15:55:57 erk Exp $
// ----------------------------------------------------------------------------
#include <config.h>
@@ -119,11 +119,9 @@
bool
TimeManagement::executeFederateService(NetworkMessage &msg)
{
- G.Out(pdGendoc,"enter TimeManagement::executeFederateService for type
%d",msg.type);
+ G.Out(pdGendoc,"enter TimeManagement::executeFederateService");
D.Out(pdRequest, "Execute federate service: Type %d.", msg.type);
- msg.trace("TimeManagement::executeFederateService ");
-
_ongoing_tick = false ; // end of the blocking tick, a message is delivered
_tick_request_ack = false ; // the callback message serves as the ack
@@ -131,7 +129,7 @@
case NetworkMessage::FEDERATION_SYNCHRONIZED:
try {
- fm->federationSynchronized(msg.label);
+ fm->federationSynchronized(msg.label.c_str());
}
catch (RTIinternalError &e) {
cout << "RTIA:RTIinternalError in federationSynchronized." << endl
;
@@ -141,7 +139,7 @@
case NetworkMessage::SYNCHRONIZATION_POINT_REGISTRATION_SUCCEEDED:
try {
- fm->synchronizationPointRegistrationSucceeded(msg.label);
+ fm->synchronizationPointRegistrationSucceeded(msg.label.c_str());
}
catch (RTIinternalError &e) {
cout << "RTIA:RTIinternalError in synchronizationPointRegistration"
@@ -152,7 +150,7 @@
case NetworkMessage::ANNOUNCE_SYNCHRONIZATION_POINT:
try {
- fm->announceSynchronizationPoint(msg.label, msg.tag);
+ fm->announceSynchronizationPoint(msg.label.c_str(),
msg.tag.c_str());
}
catch (RTIinternalError &e) {
cout << "RTIA:RTIinternalError in announceSynchronizationPoint."
<< endl ;
@@ -164,7 +162,7 @@
try {
om->discoverObject(msg.object,
msg.objectClass,
- msg.label,
+ msg.label.c_str(),
msg.date,
msg.eventRetraction,
msg.exception);
@@ -186,7 +184,7 @@
ValueArray,
msg.handleArraySize,
msg.date,
- msg.label,
+ msg.label.c_str(),
msg.eventRetraction,
msg.exception);
else
@@ -194,7 +192,7 @@
msg.handleArray,
ValueArray,
msg.handleArraySize,
- msg.label,
+ msg.label.c_str(),
msg.exception);
free(ValueArray);
break ;
@@ -220,7 +218,7 @@
ValueArray,
msg.handleArraySize,
msg.date,
- msg.label,
+ msg.label.c_str(),
msg.eventRetraction,
msg.exception);
else
@@ -228,7 +226,7 @@
msg.handleArray,
ValueArray,
msg.handleArraySize,
- msg.label,
+ msg.label.c_str(),
msg.exception);
free(ValueArray);
@@ -240,14 +238,14 @@
om->removeObject(msg.object,
msg.federate,
msg.date,
- msg.label,
+ msg.label.c_str(),
msg.eventRetraction,
msg.exception);
}
else {
om->removeObject(msg.object,
msg.federate,
- msg.label,
+ msg.label.c_str(),
msg.exception);
}
break ;
@@ -274,7 +272,7 @@
msg.handleArray,
msg.handleArraySize,
msg.federate,
- msg.label,
+
const_cast<char*>(msg.label.c_str()),
msg.exception);
break ;
@@ -305,7 +303,7 @@
owm->requestAttributeOwnershipRelease(msg.object,
msg.handleArray,
msg.handleArraySize,
- msg.label,
+
const_cast<char*>(msg.label.c_str()),
msg.exception);
break ;
@@ -317,7 +315,7 @@
break ;
case NetworkMessage::INITIATE_FEDERATE_SAVE:
- fm->initiateFederateSave(msg.label);
+ fm->initiateFederateSave(msg.label.c_str());
break ;
case NetworkMessage::FEDERATION_SAVED:
@@ -331,7 +329,7 @@
case NetworkMessage::REQUEST_FEDERATION_RESTORE_FAILED: {
bool status = (msg.type ==
NetworkMessage::REQUEST_FEDERATION_RESTORE_SUCCEEDED)
? true : false ;
- fm->requestFederationRestoreStatus(status, msg.label, msg.tag);
+ fm->requestFederationRestoreStatus(status, msg.label.c_str(),
msg.tag.c_str());
}
break ;
@@ -340,7 +338,7 @@
break ;
case NetworkMessage::INITIATE_FEDERATE_RESTORE:
- fm->initiateFederateRestore(msg.label, msg.federate);
+ fm->initiateFederateRestore(msg.label.c_str(), msg.federate);
break ;
case NetworkMessage::FEDERATION_RESTORED:
@@ -352,7 +350,6 @@
default:
D.Out(pdExcept, "Unknown message type in executeFederateService.");
- msg.display("ERROR");
throw RTIinternalError("Unknown message in executeFederateService.");
}
G.Out(pdGendoc,"exit TimeManagement::executeFederateService");
@@ -801,4 +798,4 @@
}} // namespaces
-// $Id: TimeManagement.cc,v 3.29 2008/03/05 15:33:50 rousse Exp $
+// $Id: TimeManagement.cc,v 3.29.2.1 2008/03/18 15:55:57 erk Exp $
Index: RTIA/FederationManagement.cc
===================================================================
RCS file: /sources/certi/certi/RTIA/FederationManagement.cc,v
retrieving revision 3.50
retrieving revision 3.50.2.1
diff -u -b -r3.50 -r3.50.2.1
--- RTIA/FederationManagement.cc 12 Mar 2008 15:00:45 -0000 3.50
+++ RTIA/FederationManagement.cc 18 Mar 2008 15:55:57 -0000 3.50.2.1
@@ -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: FederationManagement.cc,v 3.50 2008/03/12 15:00:45 rousse Exp $
+// $Id: FederationManagement.cc,v 3.50.2.1 2008/03/18 15:55:57 erk Exp $
// ----------------------------------------------------------------------------
#include <config.h>
@@ -114,7 +114,7 @@
CouldNotOpenFED,ErrorReadingFED,
RTIinternalError)
{
- NetworkMessage requete, reponse ;
+ NetworkMessage requete;
G.Out(pdGendoc,"enter FederationManagement::createFederationExecution");
D.Out(pdInit, "Creating Federation %s.", theName);
@@ -137,58 +137,56 @@
if (e == e_NO_EXCEPTION)
{
requete.type = NetworkMessage::CREATE_FEDERATION_EXECUTION ;
- requete.federationName = new char[strlen(theName)+1] ;
- strcpy(requete.federationName, theName);
- requete.FEDid = new char[strlen(_FEDid)+1] ;
- strcpy(requete.FEDid, _FEDid) ;
+ requete.federationName = theName;
+ requete.FEDid = _FEDid;
G.Out(pdGendoc,"createFederationExecution====> send Message to
RTIG");
comm->sendMessage(&requete);
- comm->waitMessage(&reponse,
NetworkMessage::CREATE_FEDERATION_EXECUTION,
- federate);
+ std::auto_ptr<NetworkMessage>
reponse(comm->waitMessage(NetworkMessage::CREATE_FEDERATION_EXECUTION,
+ federate));
G.Out(pdGendoc,"createFederationExecution<== receive Message from
RTIG");
// We have to see if C_F_E is OK.
- if (reponse.exception == e_NO_EXCEPTION)
+ if (reponse->exception == e_NO_EXCEPTION)
{
_nom_federation = new char[strlen(theName)+1] ;
strcpy(_nom_federation, theName);
- _numero_federation = reponse.federation ;
+ _numero_federation = reponse->federation ;
//_est_createur_federation = true ;
D.Out(pdInit, "est createur");
}
- else if (reponse.exception == e_CouldNotOpenFED)
+ else if (reponse->exception == e_CouldNotOpenFED)
// RTIG encounters a problem creating federation execution
{
- e = reponse.exception;
+ e = reponse->exception;
G.Out(pdGendoc,"exit FederationManagement::"
"createFederationExecution on exception");
- throw CouldNotOpenFED (reponse.exceptionReason) ;
+ throw CouldNotOpenFED (reponse->exceptionReason.c_str()) ;
}
- else if (reponse.exception == e_FederationExecutionAlreadyExists)
+ else if (reponse->exception == e_FederationExecutionAlreadyExists)
{
- e = reponse.exception;
+ e = reponse->exception;
G.Out(pdGendoc,"exit FederationManagement::"
"createFederationExecution on exception");
- throw FederationExecutionAlreadyExists (reponse.exceptionReason) ;
+ throw FederationExecutionAlreadyExists
(reponse->exceptionReason.c_str()) ;
}
- else if (reponse.exception == e_ErrorReadingFED)
+ else if (reponse->exception == e_ErrorReadingFED)
{
- e = reponse.exception;
+ e = reponse->exception;
G.Out(pdGendoc,"exit FederationManagement::"
"createFederationExecution on exception
ErrorReadingFED");
- throw ErrorReadingFED (reponse.exceptionReason) ;
+ throw ErrorReadingFED (reponse->exceptionReason.c_str()) ;
}
else
{
- e = reponse.exception ;
+ e = reponse->exception ;
G.Out(pdGendoc,"exit FederationManagement::"
"createFederationExecution on exception
RTIinternalError");
- throw RTIinternalError (reponse.exceptionReason) ;
+ throw RTIinternalError (reponse->exceptionReason.c_str()) ;
D.Out(pdInit, "deja cree");
}
}
@@ -205,7 +203,7 @@
destroyFederationExecution(const char *theName,
TypeException &e)
{
- NetworkMessage requete, reponse ;
+ NetworkMessage requete;
D.Out(pdInit, "Destroy Federation %s.", theName);
G.Out(pdGendoc,"enter FederationManagement::destroyFederationExecution");
@@ -220,21 +218,19 @@
requete.type = NetworkMessage::DESTROY_FEDERATION_EXECUTION ;
requete.federation = _numero_federation ;
requete.federate = federate ;
- requete.federationName = new char[strlen(theName)+1] ;
- strcpy(requete.federationName, theName);
+ requete.federationName = theName;
G.Out(pdGendoc,"destroyFederationExecution====>send Message to RTIG");
-
comm->sendMessage(&requete);
- comm->waitMessage(&reponse,
+ std::auto_ptr<NetworkMessage> reponse(comm->waitMessage(
NetworkMessage::DESTROY_FEDERATION_EXECUTION,
- federate);
+ federate));
- if (reponse.exception == e_NO_EXCEPTION) {
+ if (reponse->exception == e_NO_EXCEPTION) {
_nom_federation = NULL ;
_numero_federation = 0 ;
- //_est_createur_federation = false ;
+ _est_createur_federation = false ;
_fin_execution = true ;
// Now, remove temporary file (if not yet done)
if ( _FEDid != NULL )
@@ -247,9 +243,8 @@
}
}
else
- e = reponse.exception ;
+ e = reponse->exception ;
}
-
G.Out(pdGendoc,"exit FederationManagement::destroyFederationExecution");
}
@@ -261,7 +256,7 @@
const char *Federation,
TypeException &e)
{
- NetworkMessage requete, reponse, requeteFED ;
+ NetworkMessage requete, requeteFED ;
int i, nb ;
char *filename ; // Needed for working file name
@@ -270,14 +265,16 @@
e = e_NO_EXCEPTION ;
+ if (_est_createur_federation && strcmp(Federation, _nom_federation))
+ e = e_RTIinternalError ;
+
if (_est_membre_federation)
e = e_FederateAlreadyExecutionMember ;
if (e == e_NO_EXCEPTION) {
requete.type = NetworkMessage::JOIN_FEDERATION_EXECUTION ;
- requete.federationName = new char[strlen(Federation)+1] ;
- strcpy(requete.federationName, Federation);
- strcpy(requete.federateName, Federate);
+ requete.federationName = Federation;
+ requete.federateName = Federate;
requete.bestEffortAddress = comm->getAddress();
requete.bestEffortPeer = comm->getPort();
@@ -287,12 +284,12 @@
comm->sendMessage(&requete);
// Waiting RTIG answer for FED file opened
- comm->waitMessage(&reponse, NetworkMessage::GET_FED_FILE, 0);
+ std::auto_ptr<NetworkMessage>
reponse(comm->waitMessage(NetworkMessage::GET_FED_FILE, 0));
- if ( reponse.exception != e_NO_EXCEPTION)
+ if ( reponse->exception != e_NO_EXCEPTION)
{
// Bad answer from RTIG
- e = reponse.exception ;
+ e = reponse->exception ;
}
else
{
@@ -311,7 +308,7 @@
strcat(filename,Federation);
// Last file type : fed or xml ?
- string filename_RTIG = reponse.FEDid ;
+ string filename_RTIG = reponse->FEDid ;
int nbcar_filename_RTIG=filename_RTIG.length();
string extension = filename_RTIG.substr(nbcar_filename_RTIG-3,3) ;
if ( !strcasecmp(extension.c_str(),"fed") )
@@ -334,9 +331,8 @@
// RTIA says RTIG OK for file transfer
requeteFED.type = NetworkMessage::GET_FED_FILE ;
- strcpy(requeteFED.federateName, Federate);
- requeteFED.FEDid = new char[strlen(filename)+1] ;
- strcpy(requeteFED.FEDid,filename) ;
+ requeteFED.federateName = Federate;
+ requeteFED.FEDid = filename;
if ( e == e_NO_EXCEPTION)
requeteFED.number = 0 ; // OK for open
else
@@ -352,8 +348,8 @@
int num_line = 0 ; // no line read
for (;;)
{
- comm->waitMessage(&reponse, NetworkMessage::GET_FED_FILE, 0);
- if ( reponse.exception != e_NO_EXCEPTION)
+ reponse.reset(comm->waitMessage(NetworkMessage::GET_FED_FILE,
0));
+ if ( reponse->exception != e_NO_EXCEPTION)
{
cout << "Bad answer from RTIG" << endl ;
e = e_RTIinternalError ;
@@ -363,19 +359,18 @@
// Line read
num_line++ ;
// Check for EOF
- if ( reponse.number == 0 )
+ if ( reponse->number == 0 )
break;
- assert ( num_line == reponse.number ) ;
- reponse.handleArraySize = 1 ;
- file_line = reponse.getValue(0,&length) ;
+ assert ( num_line == reponse->number ) ;
+ reponse->handleArraySize = 1 ;
+ file_line = reponse->getValue(0,&length) ;
int nbw = fputs(file_line,fdd);
file_line = NULL ;
// RTIA says OK to RTIG
requeteFED.type = NetworkMessage::GET_FED_FILE ;
- strcpy(requeteFED.federateName, Federate);
+ requeteFED.federateName =Federate;
requeteFED.number = num_line ;
- requeteFED.FEDid = new char[strlen(filename)+1] ;
- strcpy(requeteFED.FEDid,filename) ;
+ requeteFED.FEDid = filename;
comm->sendMessage(&requeteFED);
}
@@ -386,28 +381,28 @@
G.Out(pdGendoc,"joinFederationExecution====> end FED file get from
RTIG");
// Waiting RTIG answer (from any federate)
- comm->waitMessage(&reponse, NetworkMessage::JOIN_FEDERATION_EXECUTION,
0);
+
reponse.reset(comm->waitMessage(NetworkMessage::JOIN_FEDERATION_EXECUTION, 0));
// If OK, regulators number is inside the answer.
// Then we except a NULL message from each.
- if (reponse.exception == e_NO_EXCEPTION) {
+ if (reponse->exception == e_NO_EXCEPTION) {
_nom_federation = new char[strlen(Federation)+1] ;
strcpy(_nom_federation, Federation);
strcpy(_nom_federe, Federate);
- _numero_federation = reponse.federation ;
- federate = reponse.federate ;
- tm->setFederate(reponse.federate);
+ _numero_federation = reponse->federation ;
+ federate = reponse->federate ;
+ tm->setFederate(reponse->federate);
#ifdef FEDERATION_USES_MULTICAST
// creation du socket pour la communication best-effort
- comm->CreerSocketMC(reponse.AdresseMulticast, MC_PORT);
+ comm->CreerSocketMC(reponse->AdresseMulticast, MC_PORT);
#endif
- nb = reponse.numberOfRegulators ;
+ nb = reponse->numberOfRegulators ;
for (i=0 ; i<nb ; i++) {
- comm->waitMessage(&reponse, NetworkMessage::MESSAGE_NULL, 0);
+ reponse.reset(comm->waitMessage(NetworkMessage::MESSAGE_NULL,
0));
assert(tm != NULL);
- tm->insert(reponse.federate, reponse.date);
+ tm->insert(reponse->federate, reponse->date);
}
_est_membre_federation = true ;
@@ -415,7 +410,7 @@
return(federate);
}
else
- e = reponse.exception ;
+ e = reponse->exception ;
}
G.Out(pdGendoc,"exit(0) FederationManagement::joinFederationExecution");
return(0);
@@ -432,8 +427,6 @@
NetworkMessage msg ;
TypeException exception = e_NO_EXCEPTION ;
- G.Out(pdGendoc,"enter FederationManagement::resignFederationExecution");
-
e = e_NO_EXCEPTION ;
D.Out(pdInit, "Resign Federation.");
@@ -451,7 +444,6 @@
msg.federation = _numero_federation ;
msg.federate = federate ;
- G.Out(pdGendoc," resignFederationExecution ===> send NMessage RFE
to RTIG");
comm->sendMessage(&msg);
_est_membre_federation = false ;
@@ -468,10 +460,9 @@
}
// BUG: Voir DestroyFederation ou ~GF.
- // if (!_est_createur_federation)
- //_fin_execution = true ;
+ if (!_est_createur_federation)
+ _fin_execution = true ;
}
- G.Out(pdGendoc,"exit FederationManagement::resignFederationExecution");
}
// ----------------------------------------------------------------------------
@@ -1012,4 +1003,4 @@
}} // namespace certi/rtia
-// $Id: FederationManagement.cc,v 3.50 2008/03/12 15:00:45 rousse Exp $
+// $Id: FederationManagement.cc,v 3.50.2.1 2008/03/18 15:55:57 erk Exp $
Index: RTIA/RTIA.cc
===================================================================
RCS file: /sources/certi/certi/RTIA/RTIA.cc,v
retrieving revision 3.13
retrieving revision 3.13.2.1
diff -u -b -r3.13 -r3.13.2.1
--- RTIA/RTIA.cc 14 Jun 2007 13:00:20 -0000 3.13
+++ RTIA/RTIA.cc 18 Mar 2008 15:55:57 -0000 3.13.2.1
@@ -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.13 2007/06/14 13:00:20 siron Exp $
+// $Id: RTIA.cc,v 3.13.2.1 2008/03/18 15:55:57 erk Exp $
// ----------------------------------------------------------------------------
#include <config.h>
@@ -89,17 +89,20 @@
void
RTIA::execute()
{
- Message *msg_un ;
- NetworkMessage *msg_tcp_udp ;
+ Message *msg_un;
+ NetworkMessage *msg_tcp_udp;
int n ;
while (!fm->_fin_execution) {
- msg_tcp_udp = new NetworkMessage ;
- msg_un = new Message ;
-
+ /* Message will be allocated by the readMessage call */
+ msg_un = NULL;
+ msg_tcp_udp = NULL;
try {
- comm->readMessage(n, msg_tcp_udp, msg_un);
+ msg_un = NULL;
+ msg_tcp_udp = NULL;
+ comm->readMessage(n, &msg_tcp_udp, &msg_un);
+ assert((msg_un!=NULL) || (msg_tcp_udp!=NULL));
}
catch (NetworkSignal) {
fm->_fin_execution = true ;
@@ -128,11 +131,12 @@
// read a message from the rtig
// same code is reused, but only the case 1 should match
- msg_tcp_udp = new NetworkMessage ;
- msg_un = new Message ;
+ /* Message or NetworkMessage will be allocated by the
readMessage call */
+ msg_un = NULL;
+ msg_tcp_udp = NULL;
try {
- comm->readMessage(n, msg_tcp_udp, msg_un);
+ comm->readMessage(n, &msg_tcp_udp, &msg_un);
}
catch (NetworkSignal) {
fm->_fin_execution = true ;
@@ -160,4 +164,4 @@
}} // namespace certi/rtia
-// $Id: RTIA.cc,v 3.13 2007/06/14 13:00:20 siron Exp $
+// $Id: RTIA.cc,v 3.13.2.1 2008/03/18 15:55:57 erk Exp $
Index: RTIA/DataDistribution.cc
===================================================================
RCS file: /sources/certi/certi/RTIA/DataDistribution.cc,v
retrieving revision 3.23
retrieving revision 3.23.2.1
diff -u -b -r3.23 -r3.23.2.1
--- RTIA/DataDistribution.cc 29 Nov 2007 16:51:15 -0000 3.23
+++ RTIA/DataDistribution.cc 18 Mar 2008 15:55:57 -0000 3.23.2.1
@@ -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: DataDistribution.cc,v 3.23 2007/11/29 16:51:15 rousse Exp $
+// $Id: DataDistribution.cc,v 3.23.2.1 2008/03/18 15:55:57 erk Exp $
// ----------------------------------------------------------------------------
#include <config.h>
@@ -35,6 +35,7 @@
#include "FedRegion.hh"
#include <cassert>
+#include <memory>
using std::string ;
using std::endl ;
@@ -122,8 +123,7 @@
throw (SpaceNotDefined)
{
D[pdDebug] << "Start creating region in space " << space << "..." << endl ;
-
- NetworkMessage req, rep ;
+ NetworkMessage req;
req.type = NetworkMessage::DDM_CREATE_REGION ;
req.federation = fm->_numero_federation ;
@@ -132,23 +132,23 @@
req.nbExtents = nb_extents ;
comm->sendMessage(&req);
- comm->waitMessage(&rep, NetworkMessage::DDM_CREATE_REGION, req.federate);
- e = rep.exception ;
+ std::auto_ptr<NetworkMessage>
rep(comm->waitMessage(NetworkMessage::DDM_CREATE_REGION, req.federate));
+ e = rep->exception ;
if (e == e_NO_EXCEPTION) {
- D[pdDebug] << "Create region " << rep.region << endl ;
- RTIRegion *region = new RTIRegion(rep.region,
+ D[pdDebug] << "Create region " << rep->region << endl ;
+ RTIRegion *region = new RTIRegion(rep->region,
rootObject->getRoutingSpace(space),
nb_extents);
assert(region->getNumberOfExtents() == nb_extents);
rootObject->addRegion(region);
-
- return rep.region ;
+ return rep->region;
}
- else
+ else {
return 0 ;
-}
+ }
+} /* end of createRegion */
// ----------------------------------------------------------------------------
// modifyRegion
@@ -164,7 +164,8 @@
RTIRegion *region = rootObject->getRegion(handle);
// Request to RTIG
- NetworkMessage req, rep ;
+ NetworkMessage req;
+
req.type = NetworkMessage::DDM_MODIFY_REGION ;
req.federation = fm->_numero_federation ;
req.federate = fm->federate ;
@@ -172,14 +173,14 @@
req.setExtents(extents);
comm->sendMessage(&req);
- comm->waitMessage(&rep, NetworkMessage::DDM_MODIFY_REGION, req.federate);
- e = rep.exception ;
+ std::auto_ptr<NetworkMessage>
rep(comm->waitMessage(NetworkMessage::DDM_MODIFY_REGION, req.federate));
+ e = rep->exception ;
if (e == e_NO_EXCEPTION) {
region->replaceExtents(extents);
D[pdDebug] << "Modified region " << handle << endl ;
}
-}
+} /* end of modifyRegion */
// ----------------------------------------------------------------------------
// deleteRegion
@@ -194,7 +195,7 @@
rootObject->getRegion(handle);
// Request to RTIG
- NetworkMessage req, rep ;
+ NetworkMessage req;
req.type = NetworkMessage::DDM_DELETE_REGION ;
req.federation = fm->_numero_federation ;
@@ -202,14 +203,14 @@
req.region = handle ;
comm->sendMessage(&req);
- comm->waitMessage(&rep, NetworkMessage::DDM_DELETE_REGION, req.federate);
- e = rep.exception ;
+ std::auto_ptr<NetworkMessage>
rep(comm->waitMessage(NetworkMessage::DDM_DELETE_REGION, req.federate));
+ e = rep->exception ;
if (e == e_NO_EXCEPTION) {
rootObject->deleteRegion(handle);
D[pdDebug] << "Deleted region " << handle << endl ;
}
-}
+} /* end of deleteRegion */
// ----------------------------------------------------------------------------
void
@@ -231,7 +232,7 @@
rootObject->getObjectAttribute(object, attr[i])->associate(r);
}
- NetworkMessage req, rep ;
+ NetworkMessage req;
req.type = NetworkMessage::DDM_ASSOCIATE_REGION ;
req.federation = fm->_numero_federation ;
@@ -241,11 +242,11 @@
req.setAHS(attr, nb);
comm->sendMessage(&req);
- comm->waitMessage(&rep, NetworkMessage::DDM_ASSOCIATE_REGION,
- req.federate);
+ std::auto_ptr<NetworkMessage>
rep(comm->waitMessage(NetworkMessage::DDM_ASSOCIATE_REGION,req.federate));
- e = rep.exception ;
-}
+ e = rep->exception ;
+
+} /* end of associateRegion */
// ----------------------------------------------------------------------------
ObjectHandle
@@ -259,7 +260,7 @@
D[pdDebug] << "Register object of class " << class_handle << " with "
<< regions.size() << " region(s)." << std::endl ;
- NetworkMessage req, rep ;
+ NetworkMessage req;
req.type = NetworkMessage::DDM_REGISTER_OBJECT ;
req.federation = fm->_numero_federation ;
@@ -270,26 +271,25 @@
req.setRegions(regions);
comm->sendMessage(&req);
- comm->waitMessage(&rep, NetworkMessage::DDM_REGISTER_OBJECT,
- req.federate);
+ std::auto_ptr<NetworkMessage>
rep(comm->waitMessage(NetworkMessage::DDM_REGISTER_OBJECT,req.federate));
- e = rep.exception ;
+ e = rep->exception ;
if (e == e_NO_EXCEPTION) {
- rootObject->registerObjectInstance(fm->federate, class_handle,
rep.object,
- rep.label);
+ rootObject->registerObjectInstance(fm->federate, class_handle,
rep->object,
+ rep->label.c_str());
for (int i = 0 ; i < nb ; ++i) {
D[pdDebug] << "Register attribute [" << i << "] Attr: " << attrs[i]
<< " Region: " << regions[i] << std::endl ;
- ObjectAttribute *attribute =
rootObject->getObjectAttribute(rep.object, attrs[i]);
+ ObjectAttribute *attribute =
rootObject->getObjectAttribute(rep->object, attrs[i]);
RTIRegion *region = rootObject->getRegion(regions[i]);
attribute->associate(region);
}
- return rep.object ;
+ return rep->object;
}
else return 0 ;
-}
+} /* end of registerObject */
// ----------------------------------------------------------------------------
void
@@ -304,7 +304,7 @@
rootObject->getObject(object)->unassociate(r);
- NetworkMessage req, rep ;
+ NetworkMessage req;
req.type = NetworkMessage::DDM_UNASSOCIATE_REGION ;
req.federation = fm->_numero_federation ;
@@ -313,11 +313,11 @@
req.region = region ;
comm->sendMessage(&req);
- comm->waitMessage(&rep, NetworkMessage::DDM_UNASSOCIATE_REGION,
- req.federate);
+ std::auto_ptr<NetworkMessage>
rep(comm->waitMessage(NetworkMessage::DDM_UNASSOCIATE_REGION,
+ req.federate));
- e = rep.exception ;
-}
+ e = rep->exception ;
+} /* end of unassociateRegion */
// ----------------------------------------------------------------------------
void
@@ -331,7 +331,7 @@
D[pdDebug] << "Subscribe attributes with region " << region << endl ;
rootObject->getRegion(region);
- NetworkMessage req, rep ;
+ NetworkMessage req;
req.type = NetworkMessage::DDM_SUBSCRIBE_ATTRIBUTES ;
req.federation = fm->_numero_federation ;
@@ -341,11 +341,11 @@
req.setAHS(attr, nb);
comm->sendMessage(&req);
- comm->waitMessage(&rep, NetworkMessage::DDM_SUBSCRIBE_ATTRIBUTES,
- req.federate);
+ std::auto_ptr<NetworkMessage>
rep(comm->waitMessage(NetworkMessage::DDM_SUBSCRIBE_ATTRIBUTES,
+ req.federate));
- e = rep.exception ;
-}
+ e = rep->exception ;
+} /* end of subscribe */
// ----------------------------------------------------------------------------
void
@@ -358,7 +358,7 @@
<< " with region " << region << endl ;
rootObject->getRegion(region);
- NetworkMessage req, rep ;
+ NetworkMessage req;
req.type = NetworkMessage::DDM_UNSUBSCRIBE_ATTRIBUTES ;
req.federation = fm->_numero_federation ;
@@ -367,11 +367,11 @@
req.region = region ;
comm->sendMessage(&req);
- comm->waitMessage(&rep, NetworkMessage::DDM_UNSUBSCRIBE_ATTRIBUTES,
- req.federate);
+ std::auto_ptr<NetworkMessage>
rep(comm->waitMessage(NetworkMessage::DDM_UNSUBSCRIBE_ATTRIBUTES,
+ req.federate));
- e = rep.exception ;
-}
+ e = rep->exception ;
+} /* end of unsubscribeAttributes */
// ----------------------------------------------------------------------------
void
@@ -383,18 +383,18 @@
D[pdDebug] << "Subscribe interaction with region " << region << endl ;
rootObject->getRegion(region);
- NetworkMessage req, rep ;
+ NetworkMessage req;
req.type = NetworkMessage::DDM_SUBSCRIBE_INTERACTION ;
req.interactionClass = int_class ;
req.region = region ;
comm->sendMessage(&req);
- comm->waitMessage(&rep, NetworkMessage::DDM_SUBSCRIBE_INTERACTION,
- req.federate);
+ std::auto_ptr<NetworkMessage>
rep(comm->waitMessage(NetworkMessage::DDM_SUBSCRIBE_INTERACTION,
+ req.federate));
- e = rep.exception ;
-}
+ e = rep->exception ;
+} /* end of subscribeInteraction */
// ----------------------------------------------------------------------------
void
@@ -406,19 +406,19 @@
D[pdDebug] << "Unsubscribe interaction with region " << region << endl ;
rootObject->getRegion(region);
- NetworkMessage req, rep ;
+ NetworkMessage req;
req.type = NetworkMessage::DDM_UNSUBSCRIBE_INTERACTION ;
req.interactionClass = int_class ;
req.region = region ;
comm->sendMessage(&req);
- comm->waitMessage(&rep, NetworkMessage::DDM_UNSUBSCRIBE_INTERACTION,
- req.federate);
+ std::auto_ptr<NetworkMessage>
rep(comm->waitMessage(NetworkMessage::DDM_UNSUBSCRIBE_INTERACTION,
+ req.federate));
- e = rep.exception ;
-}
+ e = rep->exception ;
+} /* end of unsubscribeInteraction */
}} // namespace certi::rtia
-// $Id: DataDistribution.cc,v 3.23 2007/11/29 16:51:15 rousse Exp $
+// $Id: DataDistribution.cc,v 3.23.2.1 2008/03/18 15:55:57 erk Exp $
Index: RTIA/RTIA_federate.cc
===================================================================
RCS file: /sources/certi/certi/RTIA/RTIA_federate.cc,v
retrieving revision 3.67
retrieving revision 3.67.2.1
diff -u -b -r3.67 -r3.67.2.1
--- RTIA/RTIA_federate.cc 6 Mar 2008 16:33:09 -0000 3.67
+++ RTIA/RTIA_federate.cc 18 Mar 2008 15:55:57 -0000 3.67.2.1
@@ -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.67 2008/03/06 16:33:09 rousse Exp $
+// $Id: RTIA_federate.cc,v 3.67.2.1 2008/03/18 15:55:57 erk Exp $
// ----------------------------------------------------------------------------
#include <config.h>
@@ -1282,8 +1282,8 @@
rep.setException(e_RTIinternalError);
}
- delete req ;;
-
+ /* now we can delete the message which has been processed */
+ delete req;
if (rep.type == Message::TICK_REQUEST)
if ((!tm->_ongoing_tick) && tm->_tick_request_ack) {
@@ -1304,4 +1304,4 @@
}} // namespace certi/rtia
-// $Id: RTIA_federate.cc,v 3.67 2008/03/06 16:33:09 rousse Exp $
+// $Id: RTIA_federate.cc,v 3.67.2.1 2008/03/18 15:55:57 erk Exp $
Index: RTIA/Communications.hh
===================================================================
RCS file: /sources/certi/certi/RTIA/Communications.hh,v
retrieving revision 3.10
retrieving revision 3.10.2.1
diff -u -b -r3.10 -r3.10.2.1
--- RTIA/Communications.hh 22 Feb 2008 11:34:30 -0000 3.10
+++ RTIA/Communications.hh 18 Mar 2008 15:55:58 -0000 3.10.2.1
@@ -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: Communications.hh,v 3.10 2008/02/22 11:34:30 siron Exp $
+// $Id: Communications.hh,v 3.10.2.1 2008/03/18 15:55:58 erk Exp $
// ----------------------------------------------------------------------------
#ifndef _CERTI_COMMUNICATIONS_HH
@@ -54,24 +54,35 @@
void sendMessage(NetworkMessage *Msg);
void sendUN(Message *Msg);
void receiveUN(Message *Msg);
- void readMessage(int&, NetworkMessage *, Message *);
+ void readMessage(int&, NetworkMessage**, Message**);
void requestFederateService(Message *req);
unsigned long getAddress();
unsigned int getPort();
- void waitMessage(NetworkMessage *msg,
- NetworkMessage::Type type_msg,
+ /**
+ * Wait for a message coming from RTIG and return
+ * when received.
+ * @param[in] type_msg, expected message type,
+ * @param[in] numeroFedere, federate which sent the message, 0 if
indifferent.
+ * @return the pointer to new awaited message
+ */
+ NetworkMessage* waitMessage(NetworkMessage::Type type_msg,
FederateHandle numeroFedere);
private:
+ /**
+ * this is the wait list of message
+ * already received from RTIG
+ * but not dispatched message.
+ */
std::list<NetworkMessage *> waitingList ;
bool searchMessage(NetworkMessage::Type type_msg,
FederateHandle numeroFedere,
- NetworkMessage *msg);
+ NetworkMessage **msg);
};
}} // namespace certi/rtia
#endif // _CERTI_COMMUNICATIONS_HH
-// $Id: Communications.hh,v 3.10 2008/02/22 11:34:30 siron Exp $
+// $Id: Communications.hh,v 3.10.2.1 2008/03/18 15:55:58 erk Exp $
Index: RTIA/ObjectManagement.cc
===================================================================
RCS file: /sources/certi/certi/RTIA/ObjectManagement.cc,v
retrieving revision 3.35
retrieving revision 3.35.2.1
diff -u -b -r3.35 -r3.35.2.1
--- RTIA/ObjectManagement.cc 5 Mar 2008 15:33:50 -0000 3.35
+++ RTIA/ObjectManagement.cc 18 Mar 2008 15:55:58 -0000 3.35.2.1
@@ -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.35 2008/03/05 15:33:50 rousse Exp $
+// $Id: ObjectManagement.cc,v 3.35.2.1 2008/03/18 15:55:58 erk Exp $
// ----------------------------------------------------------------------------
#include <config.h>
@@ -67,24 +67,24 @@
FederationTime,
TypeException & e)
{
- NetworkMessage req, rep ;
+ NetworkMessage req;
req.type = NetworkMessage::REGISTER_OBJECT ;
req.federate = fm->federate ;
req.federation = fm->_numero_federation ;
req.objectClass = the_class ;
- strcpy(req.label, (char *) theObjectName);
+ req.label = theObjectName;
comm->sendMessage(&req);
- comm->waitMessage(&rep, NetworkMessage::REGISTER_OBJECT, req.federate);
+ std::auto_ptr<NetworkMessage>
rep(comm->waitMessage(NetworkMessage::REGISTER_OBJECT, req.federate));
- e = rep.exception ;
+ e = rep->exception ;
if (e == e_NO_EXCEPTION) {
- rootObject->registerObjectInstance(fm->federate, the_class, rep.object,
- rep.label);
- return rep.object ;
+ rootObject->registerObjectInstance(fm->federate, the_class,
rep->object,
+ rep->label.c_str());
+ return rep->object ;
}
else
return 0 ;
@@ -110,7 +110,7 @@
const char *theTag,
TypeException &e)
{
- NetworkMessage req, rep ;
+ NetworkMessage req;
int i ;
// Building request (req NetworkMessage)
@@ -129,14 +129,14 @@
req.setValue(i, valueArray[i].value, valueArray[i].length);
}
- strcpy(req.label, theTag);
+ req.label= theTag;
comm->sendMessage(&req);
- comm->waitMessage(&rep, NetworkMessage::UPDATE_ATTRIBUTE_VALUES,
req.federate);
+ std::auto_ptr<NetworkMessage>
rep(comm->waitMessage(NetworkMessage::UPDATE_ATTRIBUTE_VALUES, req.federate));
- e = rep.exception ;
+ e = rep->exception ;
- return rep.eventRetraction ;
+ return rep->eventRetraction ;
}
// ----------------------------------------------------------------------------
@@ -157,7 +157,7 @@
const char *theTag,
TypeException &e)
{
- NetworkMessage req, rep ;
+ NetworkMessage req;
int i ;
// Building request (req NetworkMessage)
@@ -175,12 +175,12 @@
req.setValue(i, valueArray[i].value, valueArray[i].length);
}
- strcpy(req.label, theTag);
+ req.label = theTag;
comm->sendMessage(&req);
- comm->waitMessage(&rep, NetworkMessage::UPDATE_ATTRIBUTE_VALUES,
req.federate);
+ std::auto_ptr<NetworkMessage>
rep(comm->waitMessage(NetworkMessage::UPDATE_ATTRIBUTE_VALUES, req.federate));
- e = rep.exception ;
+ e = rep->exception ;
}
// ----------------------------------------------------------------------------
@@ -273,7 +273,7 @@
RegionHandle region,
TypeException &e)
{
- NetworkMessage req, rep ;
+ NetworkMessage req;
G.Out(pdGendoc,"ObjectManagement::sendInteraction with time") ;
// Local test to know if interaction is correct.
rootObject->Interactions->isReady(fm->federate,
@@ -298,15 +298,15 @@
req.setValue(i, valueArray[i].value, valueArray[i].length);
}
- strcpy(req.label, theTag);
+ req.label = theTag;
// Send network message and then wait for answer.
comm->sendMessage(&req);
- comm->waitMessage(&rep, NetworkMessage::SEND_INTERACTION, req.federate);
+ std::auto_ptr<NetworkMessage>
rep(comm->waitMessage(NetworkMessage::SEND_INTERACTION, req.federate));
- e = rep.exception ;
+ e = rep->exception ;
- return rep.eventRetraction ;
+ return rep->eventRetraction ;
}
// ----------------------------------------------------------------------------
@@ -320,7 +320,7 @@
RegionHandle region,
TypeException &e)
{
- NetworkMessage req, rep ;
+ NetworkMessage req;
G.Out(pdGendoc,"ObjectManagement::sendInteraction without time");
// Local test to know if interaction is correct.
rootObject->Interactions->isReady(fm->federate,
@@ -344,15 +344,15 @@
req.setValue(i, valueArray[i].value, valueArray[i].length);
}
- strcpy(req.label, theTag);
+ req.label = theTag;
// Send network message and then wait for answer.
comm->sendMessage(&req);
- comm->waitMessage(&rep, NetworkMessage::SEND_INTERACTION, req.federate);
+ std::auto_ptr<NetworkMessage>
rep(comm->waitMessage(NetworkMessage::SEND_INTERACTION, req.federate));
- e = rep.exception ;
+ e = rep->exception ;
-}
+} /* end of sendInteraction */
// ----------------------------------------------------------------------------
//! receiveInteraction with time
@@ -406,7 +406,7 @@
const char *theTag,
TypeException &e)
{
- NetworkMessage req, rep ;
+ NetworkMessage req;
req.type = NetworkMessage::DELETE_OBJECT ;
req.object = theObjectHandle ;
@@ -415,18 +415,18 @@
req.federation = fm->_numero_federation ;
req.federate = fm->federate ;
- strcpy(req.label, theTag);
+ req.label = theTag;
comm->sendMessage(&req);
- comm->waitMessage(&rep, NetworkMessage::DELETE_OBJECT, req.federate);
+ std::auto_ptr<NetworkMessage>
rep(comm->waitMessage(NetworkMessage::DELETE_OBJECT, req.federate));
- e = rep.exception ;
+ e = rep->exception ;
if (e == e_NO_EXCEPTION) {
rootObject->deleteObjectInstance(fm->federate, theObjectHandle,
theTag);
}
- return rep.eventRetraction ;
-}
+ return rep->eventRetraction ;
+} /* end deleteObject */
// ----------------------------------------------------------------------------
//! deleteObject without time
@@ -435,7 +435,7 @@
const char *theTag,
TypeException &e)
{
- NetworkMessage req, rep ;
+ NetworkMessage req;
req.type = NetworkMessage::DELETE_OBJECT ;
req.object = theObjectHandle ;
@@ -443,16 +443,16 @@
req.federation = fm->_numero_federation ;
req.federate = fm->federate ;
- strcpy(req.label, theTag);
+ req.label =theTag;
comm->sendMessage(&req);
- comm->waitMessage(&rep, NetworkMessage::DELETE_OBJECT, req.federate);
+ std::auto_ptr<NetworkMessage>
rep(comm->waitMessage(NetworkMessage::DELETE_OBJECT, req.federate));
- e = rep.exception ;
+ e = rep->exception ;
if (e == e_NO_EXCEPTION) {
rootObject->deleteObjectInstance(fm->federate, theObjectHandle,
theTag);
}
-}
+} /* end of deleteObject */
// ----------------------------------------------------------------------------
//! removeObject with time
@@ -506,7 +506,7 @@
TransportType theType,
TypeException &e)
{
- NetworkMessage req, rep ;
+ NetworkMessage req;
int i ;
req.type = NetworkMessage::CHANGE_ATTRIBUTE_TRANSPORT_TYPE ;
@@ -520,13 +520,13 @@
comm->sendMessage(&req);
- comm->waitMessage(&rep,
+ std::auto_ptr<NetworkMessage> rep(comm->waitMessage(
NetworkMessage::CHANGE_ATTRIBUTE_TRANSPORT_TYPE,
- req.federate);
+ req.federate));
- e = rep.exception ;
+ e = rep->exception ;
- return rep.eventRetraction ;
+ return rep->eventRetraction ;
}
// ----------------------------------------------------------------------------
@@ -538,7 +538,7 @@
OrderType theType,
TypeException &e)
{
- NetworkMessage req, rep ;
+ NetworkMessage req ;
int i ;
req.type = NetworkMessage::CHANGE_ATTRIBUTE_ORDER_TYPE ;
@@ -553,11 +553,11 @@
comm->sendMessage(&req);
- comm->waitMessage(&rep, NetworkMessage::CHANGE_ATTRIBUTE_ORDER_TYPE,
req.federate);
+ std::auto_ptr<NetworkMessage>
rep(comm->waitMessage(NetworkMessage::CHANGE_ATTRIBUTE_ORDER_TYPE,
req.federate));
- e = rep.exception ;
+ e = rep->exception ;
- return rep.eventRetraction ;
+ return rep->eventRetraction ;
}
// ----------------------------------------------------------------------------
@@ -567,7 +567,7 @@
TransportType theType,
TypeException &e)
{
- NetworkMessage req, rep ;
+ NetworkMessage req;
req.type = NetworkMessage::CHANGE_INTERACTION_TRANSPORT_TYPE ;
req.interactionClass = id ;
@@ -576,10 +576,10 @@
req.transport = theType ;
comm->sendMessage(&req);
- comm->waitMessage(&rep, NetworkMessage::CHANGE_INTERACTION_TRANSPORT_TYPE,
req.federate);
- e = rep.exception ;
+ std::auto_ptr<NetworkMessage>
rep(comm->waitMessage(NetworkMessage::CHANGE_INTERACTION_TRANSPORT_TYPE,
req.federate));
+ e = rep->exception ;
- return rep.eventRetraction ;
+ return rep->eventRetraction ;
}
// ----------------------------------------------------------------------------
@@ -589,7 +589,7 @@
OrderType theType,
TypeException &e)
{
- NetworkMessage req, rep ;
+ NetworkMessage req;
req.type = NetworkMessage::CHANGE_INTERACTION_ORDER_TYPE ;
req.interactionClass = id ;
@@ -599,12 +599,12 @@
comm->sendMessage(&req);
- comm->waitMessage(&rep, NetworkMessage::CHANGE_INTERACTION_ORDER_TYPE,
req.federate);
+ std::auto_ptr<NetworkMessage>
rep(comm->waitMessage(NetworkMessage::CHANGE_INTERACTION_ORDER_TYPE,
req.federate));
- e = rep.exception ;
+ e = rep->exception ;
- return rep.eventRetraction ;
-}
+ return rep->eventRetraction ;
+} /* end of changeInteractionOrderType */
// ----------------------------------------------------------------------------
//! requestObjectAttributeValueUpdate
@@ -614,7 +614,7 @@
UShort attribArraySize,
TypeException &e)
{
- NetworkMessage req, rep ;
+ NetworkMessage req;
G.Out(pdGendoc,"enter
ObjectManagement::requestObjectAttributeValueUpdate");
@@ -629,12 +629,12 @@
req.handleArraySize = attribArraySize ;
comm->sendMessage(&req);
- comm->waitMessage(&rep,
NetworkMessage::REQUEST_OBJECT_ATTRIBUTE_VALUE_UPDATE,
- req.federate);
- e = rep.exception ;
+ std::auto_ptr<NetworkMessage>
rep(comm->waitMessage(NetworkMessage::REQUEST_OBJECT_ATTRIBUTE_VALUE_UPDATE,
+ req.federate));
+ e = rep->exception ;
G.Out(pdGendoc,"exit
ObjectManagement::requestObjectAttributeValueUpdate");
-}
+} /* end of requestObjectAttributeValueUpdate */
// --------------------------------------
@@ -785,4 +785,4 @@
}} // namespace certi/rtia
-// $Id: ObjectManagement.cc,v 3.35 2008/03/05 15:33:50 rousse Exp $
+// $Id: ObjectManagement.cc,v 3.35.2.1 2008/03/18 15:55:58 erk Exp $
Index: RTIA/RTIA_network.cc
===================================================================
RCS file: /sources/certi/certi/RTIA/RTIA_network.cc,v
retrieving revision 3.22
retrieving revision 3.22.2.1
diff -u -b -r3.22 -r3.22.2.1
--- RTIA/RTIA_network.cc 5 Mar 2008 15:33:50 -0000 3.22
+++ RTIA/RTIA_network.cc 18 Mar 2008 15:55:58 -0000 3.22.2.1
@@ -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.22 2008/03/05 15:33:50 rousse Exp $
+// $Id: RTIA_network.cc,v 3.22.2.1 2008/03/18 15:55:58 erk Exp $
// ----------------------------------------------------------------------------
#include <config.h>
@@ -45,9 +45,6 @@
G.Out(pdGendoc,"enter RTIA::processNetworkMessage");
-//D.Mes(pdMessage, 'N', msgType);
-msg->trace("RTIA::processNetworkMessage ");
-
switch(msgType) {
case NetworkMessage::MESSAGE_NULL:
@@ -339,9 +336,11 @@
}
stat.rtiService(msgType);
+ /* now we can delete the message which has been processed */
+ delete msg;
G.Out(pdGendoc,"exit RTIA::processNetworkMessage");
}
}} // namespace certi/rtia
-// $Id: RTIA_network.cc,v 3.22 2008/03/05 15:33:50 rousse Exp $
+// $Id: RTIA_network.cc,v 3.22.2.1 2008/03/18 15:55:58 erk Exp $
Index: RTIG/RTIG_processing.cc
===================================================================
RCS file: /sources/certi/certi/RTIG/RTIG_processing.cc,v
retrieving revision 3.56
retrieving revision 3.56.2.1
diff -u -b -r3.56 -r3.56.2.1
--- RTIG/RTIG_processing.cc 5 Mar 2008 15:33:50 -0000 3.56
+++ RTIG/RTIG_processing.cc 18 Mar 2008 15:55:58 -0000 3.56.2.1
@@ -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.56 2008/03/05 15:33:50 rousse Exp $
+// $Id: RTIG_processing.cc,v 3.56.2.1 2008/03/18 15:55:58 erk Exp $
// ----------------------------------------------------------------------------
#include <config.h>
@@ -40,20 +40,20 @@
void
RTIG::processCreateFederation(Socket *link, NetworkMessage *req)
{
- char *federation = req->federationName ;
- char *FEDid = req->FEDid ;
+ std::string federation = req->federationName;
+ std::string FEDid = req->FEDid;
NetworkMessage rep ; // rep for answer to RTIA
G.Out(pdGendoc,"enter RTIG::processCreateFederation");
G.Out(pdGendoc,"BEGIN ** CREATE FEDERATION SERVICE **");
- if (federation == NULL)
+ if (federation.length() == 0)
{
G.Out(pdGendoc,"exit RTIG::processCreateFederation on exception
RTIinternalError");
throw RTIinternalError("Invalid Federation Name.");
}
- auditServer << "Federation Name : " << federation ;
+ //auditServer << "Federation Name : " << federation ;
Handle h = federationHandles.provide();
#ifdef FEDERATION_USES_MULTICAST
@@ -82,22 +82,22 @@
// We catch createFederation because it is useful to send
// exception reason to RTIA
try {
- federations.createFederation(federation, h, FEDid);
+ federations.createFederation(federation.c_str(), h, FEDid.c_str());
}
catch (CouldNotOpenFED e)
{
rep.exception = e_CouldNotOpenFED ;
- strcpy(rep.exceptionReason,e._reason) ;
+ rep.exceptionReason=e._reason;
}
catch (ErrorReadingFED e)
{
rep.exception = e_ErrorReadingFED ;
- strcpy(rep.exceptionReason,e._reason) ;
+ rep.exceptionReason = e._reason ;
}
catch (FederationExecutionAlreadyExists e)
{
rep.exception = e_FederationExecutionAlreadyExists ;
- strcpy(rep.exceptionReason,e._reason) ;
+ rep.exceptionReason =e._reason ;
}
#endif
// Prepare answer for RTIA : store NetworkMessage rep
@@ -105,10 +105,8 @@
if ( rep.exception == e_NO_EXCEPTION )
{
rep.federation = h ;
- rep.FEDid = new char [strlen(FEDid)+1] ;
- strcpy(rep.FEDid,FEDid) ;
- rep.federationName = new char [strlen(federation)+1] ;
- strcpy(rep.federationName,federation);
+ rep.FEDid = FEDid;
+ rep.federationName = federation;
}
G.Out(pdGendoc,"processCreateFederation===>write answer to RTIA");
@@ -116,7 +114,7 @@
rep.write(link); // Send answer to RTIA
D.Out(pdInit, "Federation \"%s\" created with Handle %d.",
- federation, rep.federation);
+ federation.c_str(), rep.federation);
G.Out(pdGendoc,"END ** CREATE FEDERATION SERVICE **");
G.Out(pdGendoc,"exit RTIG::processCreateFederation");
@@ -127,9 +125,9 @@
void
RTIG::processJoinFederation(Socket *link, NetworkMessage *req)
{
- char *federation = req->federationName ;
- char *federate = req->federateName ;
- char *filename = NULL ;
+ std::string federation = req->federationName ;
+ std::string federate = req->federateName ;
+ std::string filename ;
unsigned int peer = req->bestEffortPeer ;
unsigned long address = req->bestEffortAddress ;
@@ -144,16 +142,16 @@
G.Out(pdGendoc,"BEGIN ** JOIN FEDERATION SERVICE **");
G.Out(pdGendoc,"enter RTIG::processJoinFederation");
- if ((federation == NULL) || (federate == NULL))
+ if ((federation.length()==0) || (federate.length() == 0))
throw RTIinternalError("Invalid Federation/Federate Name.");
- auditServer << "Federate \"" << federate << "\" joins Federation \""
- << federation << "\"" ;
+ auditServer << "Federate \"" << federate.c_str() << "\" joins Federation
\""
+ << federation.c_str() << "\"" ;
- federations.exists(federation, num_federation);
+ federations.exists(federation.c_str(), num_federation);
num_federe = federations.addFederate(num_federation,
- federate,
+ federate.c_str(),
(SecureTCPSocket *) link);
#ifdef FEDERATION_USES_MULTICAST
@@ -181,8 +179,7 @@
NetworkMessage rep ;
rep.type = NetworkMessage::JOIN_FEDERATION_EXECUTION ;
rep.exception = e_NO_EXCEPTION ;
- rep.federationName = new char[strlen(federation)+1];
- strcpy(rep.federationName,federation);
+ rep.federationName = federation;
rep.federate = num_federe ;
rep.federation = num_federation ;
rep.numberOfRegulators = nb_regulateurs ;
@@ -193,7 +190,7 @@
TypeException e = e_NO_EXCEPTION ;
// Open FED file and says to RTIA if success
FILE *fdd ;
- if ( (fdd=fopen(filename,"r")) == NULL )
+ if ( (fdd=fopen(filename.c_str(),"r")) == NULL )
{
// Problem : file has been opened during create federation and now we
can't
// May be file has been deleted
@@ -207,12 +204,11 @@
repFED.federate = num_federe ;
repFED.federation = num_federation ;
repFED.number = 0 ;
- repFED.FEDid = new char[strlen(filename)+1] ;
- strcpy(repFED.FEDid,filename) ;
+ repFED.FEDid = filename ;
repFED.exception = e ;
// Send answer
D.Out(pdTrace,"send NetworkMessage of Type %d after open \"%s\"",
- repFED.type,repFED.FEDid);
+ repFED.type,repFED.FEDid.c_str());
G.Out(pdGendoc,"processJoinFederation====>Begin FED file transfer");
repFED.write(link);
@@ -238,8 +234,7 @@
repFED.federate = num_federe ;
repFED.federation = num_federation ;
repFED.number = num_line ;
- repFED.FEDid = new char[strlen(filename)+1] ;
- strcpy(repFED.FEDid,filename) ;
+ repFED.FEDid = filename;
// line transfered
repFED.handleArraySize = 1 ;
assert ( strlen(file_line) <= MAX_BYTES_PER_VALUE );
@@ -260,8 +255,7 @@
repFED.federate = num_federe ;
repFED.federation = num_federation ;
repFED.number = 0 ;
- repFED.FEDid = new char[strlen(filename)+1] ;
- strcpy(repFED.FEDid,filename) ;
+ repFED.FEDid = filename;
// Send answer
@@ -278,7 +272,7 @@
#endif
D.Out(pdInit, "Federate \"%s\" has joined Federation %u under handle %u.",
- federate, num_federation, num_federe);
+ federate.c_str(), num_federation, num_federe);
// Send answer
@@ -314,25 +308,24 @@
RTIG::processDestroyFederation(Socket *link, NetworkMessage *req)
{
Handle num_federation ;
- char *federation = req->federationName ;
+ std::string federation = req->federationName ;
G.Out(pdGendoc,"enter RTIG::processDestroyFederation");
G.Out(pdGendoc,"BEGIN ** DESTROY FEDERATION SERVICE **");
- if (federation == NULL) throw RTIinternalError("Invalid Federation Name.");
+ if (federation.length() == 0) throw RTIinternalError("Invalid Federation
Name.");
- auditServer << "Name \"" << federation << "\"" ;
- federations.exists(federation, num_federation);
+ auditServer << "Name \"" << federation.c_str() << "\"" ;
+ federations.exists(federation.c_str(), num_federation);
federations.destroyFederation(num_federation);
federationHandles.free(num_federation);
- D.Out(pdInit, "Federation \"%s\" has been destroyed.", federation);
+ D.Out(pdInit, "Federation \"%s\" has been destroyed.", federation.c_str());
NetworkMessage rep ;
rep.type = NetworkMessage::DESTROY_FEDERATION_EXECUTION ;
rep.exception = e_NO_EXCEPTION ;
rep.federate = req->federate ;
- rep.federationName = new char[strlen(req->federationName)+1];
- strcpy(rep.federationName,req->federationName);
+ rep.federationName = req->federationName;
G.Out(pdGendoc,"processDestroyFederation===>write to RTIA");
@@ -413,24 +406,24 @@
G.Out(pdGendoc,"BEGIN ** REGISTER FEDERATION SYNCHRONIZATION POINT Service
**");
G.Out(pdGendoc,"enter RTIG::processRegisterSynchronization");
- auditServer << "Label \"" << req->label << "\" registered. Tag is \""
- << req->tag << "\"" ;
+ auditServer << "Label \"" << req->label.c_str() << "\" registered. Tag is
\""
+ << req->tag.c_str() << "\"" ;
// boolean true means a federates set exists
if ( req->boolean )
federations.manageSynchronization(req->federation,
req->federate,
true,
- req->label,
- req->tag,
+ req->label.c_str(),
+ req->tag.c_str(),
req->handleArraySize,
req->handleArray);
else
federations.manageSynchronization(req->federation,
req->federate,
true,
- req->label,
- req->tag);
+ req->label.c_str(),
+ req->tag.c_str());
D.Out(pdTerm, "Federation %u is now synchronizing.", req->federation);
// send synchronizationPointRegistrationSucceeded() to federate.
@@ -438,7 +431,7 @@
rep.type = NetworkMessage::SYNCHRONIZATION_POINT_REGISTRATION_SUCCEEDED ;
rep.federate = req->federate ;
rep.federation = req->federation ;
- rep.setLabel(req->label);
+ rep.setLabel(req->label.c_str());
G.Out(pdGendoc," processRegisterSynchronization====> write SPRS to
RTIA");
@@ -448,15 +441,15 @@
if ( req->boolean )
federations.broadcastSynchronization(req->federation,
req->federate,
- req->label,
- req->tag,
+ req->label.c_str(),
+ req->tag.c_str(),
req->handleArraySize,
req->handleArray);
else
federations.broadcastSynchronization(req->federation,
req->federate,
- req->label,
- req->tag);
+ req->label.c_str(),
+ req->tag.c_str());
G.Out(pdGendoc,"exit RTIG::processRegisterSynchronization");
G.Out(pdGendoc,"END ** REGISTER FEDERATION SYNCHRONIZATION POINT Service
**");
@@ -468,12 +461,12 @@
void
RTIG::processSynchronizationAchieved(Socket *, NetworkMessage *req)
{
- auditServer << "Label \"" << req->label << "\" ended." ;
+ auditServer << "Label \"" << req->label.c_str() << "\" ended." ;
federations.manageSynchronization(req->federation,
req->federate,
false,
- req->label,
+ req->label.c_str(),
"");
D.Out(pdTerm, "Federate %u has synchronized.", req->federate);
}
@@ -490,11 +483,11 @@
if ( req->boolean )
// With time
federations.requestFederationSave(req->federation, req->federate,
- req->label, req->date);
+ req->label.c_str(), req->date);
else
// Without time
federations.requestFederationSave(req->federation, req->federate,
- req->label);
+ req->label.c_str());
G.Out(pdGendoc,"exit RTIG::processRequestFederationSave");
G.Out(pdGendoc,"END ** REQUEST FEDERATION SAVE SERVICE **");
@@ -543,7 +536,7 @@
auditServer << "Federate " << req->federate << " request restore." ;
federations.requestFederationRestore(req->federation, req->federate,
- req->label);
+ req->label.c_str());
G.Out(pdGendoc,"exit RTIG::processRequestFederationRestore");
G.Out(pdGendoc,"END ** REQUEST FEDERATION RESTORE SERVICE **");
}
@@ -696,17 +689,17 @@
rep.object = federations.registerObject(req->federation,
req->federate,
req->objectClass,
- req->label);
+
const_cast<char*>(req->label.c_str()));
auditServer << ", Handle = " << rep.object ;
D.Out(pdRegister,
"Object \"%s\" of Federate %u has been registered under ID %u.",
- req->label, req->federate, rep.object);
+ req->label.c_str(), req->federate, rep.object);
rep.type = req->type ;
rep.exception = e_NO_EXCEPTION ;
rep.federate = req->federate ;
- rep.setLabel(req->label);
+ rep.setLabel(req->label.c_str());
// rep.object is set by the call of registerObject
rep.write(link); // Send answer to RTIA
@@ -736,7 +729,7 @@
ValueArray,
req->handleArraySize,
req->date,
- req->label);
+ req->label.c_str());
}
else
{
@@ -747,7 +740,7 @@
req->handleArray,
ValueArray,
req->handleArraySize,
- req->label);
+ req->label.c_str());
}
free(ValueArray);
@@ -760,8 +753,8 @@
rep.date = req->date ;
rep.handleArraySize = 0 ;
// Don't forget label and tag
- strcpy(rep.label,req->label) ;
- strcpy(rep.tag,req->tag) ;
+ rep.label=req->label ;
+ rep.tag=req->tag;
rep.write(link); // send answer to RTIA
}
@@ -791,7 +784,7 @@
req->handleArraySize,
req->date,
req->region,
- req->label);
+ req->label.c_str());
}
else
{
@@ -802,7 +795,7 @@
values,
req->handleArraySize,
req->region,
- req->label);
+ req->label.c_str());
}
free(values);
@@ -816,8 +809,8 @@
rep.interactionClass = req->interactionClass ;
rep.handleArraySize = 0 ;
// Don't forget label and tag
- strcpy(rep.label,req->label) ;
- strcpy(rep.tag,req->tag) ;
+ rep.label=req->label;
+ rep.tag=req->tag;
G.Out(pdGendoc,"processSendInteraction===>write");
rep.write(link); // send answer to RTIA
@@ -840,13 +833,13 @@
req->federate,
req->object,
req->date,
- req->label);
+ const_cast<char*>(req->label.c_str()));
}
else {
federations.destroyObject(req->federation,
req->federate,
req->object,
- req->label);
+ const_cast<char*>(req->label.c_str()));
}
D.Out(pdRegister, "Object # %u of Federation %u has been deleted.",
@@ -907,9 +900,9 @@
req->federate,
req->object,
req->handleArray[0]))
- strcpy(rep.label, "RTI_TRUE");
+ rep.label = "RTI_TRUE";
else
- strcpy(rep.label, "RTI_FALSE");
+ rep.label = "RTI_FALSE";
D.Out(pdDebug, "Owner of Attribute %u of Object %u .",
req->handleArray[0], req->object);
@@ -934,7 +927,7 @@
req->object,
req->handleArray,
req->handleArraySize,
- req->label);
+ req->label.c_str());
D.Out(pdDebug, "Federate %u of Federation %u negotiate "
"divestiture of object %u.",
@@ -1021,7 +1014,7 @@
req->object,
req->handleArray,
req->handleArraySize,
- req->label);
+ req->label.c_str());
D.Out(pdDebug,
"Federate %u of Federation %u ownership acquisition of object %u.",
@@ -1337,14 +1330,14 @@
rep.object = federations.registerObjectWithRegion(req->federation,
req->federate,
req->objectClass,
- req->label,
+
const_cast<char*>(req->label.c_str()),
req->region,
req->handleArraySize,
req->handleArray);
D.Out(pdRegister,
"Object \"%s\" of Federate %u has been registered under ID %u.",
- req->label, req->federate, rep.object);
+ req->label.c_str(), req->federate, rep.object);
rep.type = NetworkMessage::DDM_REGISTER_OBJECT ;
rep.type = req->type ;
@@ -1379,17 +1372,17 @@
catch (ObjectNotKnown e)
{
answer.exception = e_ObjectNotKnown ;
- strcpy(answer.exceptionReason,e._reason) ;
+ answer.exceptionReason = e._reason ;
}
catch (FederationExecutionDoesNotExist e)
{
answer.exception = e_FederationExecutionDoesNotExist ;
- strcpy(answer.exceptionReason,e._reason) ;
+ answer.exceptionReason = e._reason ;
}
catch (RTIinternalError e)
{
answer.exception = e_RTIinternalError ;
- strcpy(answer.exceptionReason,e._reason) ;
+ answer.exceptionReason = e._reason ;
}
answer.type = NetworkMessage::REQUEST_OBJECT_ATTRIBUTE_VALUE_UPDATE;
@@ -1404,4 +1397,4 @@
}} // namespace certi/rtig
-// $Id: RTIG_processing.cc,v 3.56 2008/03/05 15:33:50 rousse Exp $
+// $Id: RTIG_processing.cc,v 3.56.2.1 2008/03/18 15:55:58 erk Exp $
Index: RTIG/RTIG.cc
===================================================================
RCS file: /sources/certi/certi/RTIG/RTIG.cc,v
retrieving revision 3.36
retrieving revision 3.36.2.1
diff -u -b -r3.36 -r3.36.2.1
--- RTIG/RTIG.cc 7 Mar 2008 16:10:06 -0000 3.36
+++ RTIG/RTIG.cc 18 Mar 2008 15:55:58 -0000 3.36.2.1
@@ -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.cc,v 3.36 2008/03/07 16:10:06 rousse Exp $
+// $Id: RTIG.cc,v 3.36.2.1 2008/03/18 15:55:58 erk Exp $
// ----------------------------------------------------------------------------
#include <config.h>
@@ -89,9 +89,6 @@
if ( msg->type != NetworkMessage::DESTROY_FEDERATION_EXECUTION)
socketServer.checkMessage(link->returnSocket(), msg);
- //D.Mes(pdMessage, 'N', msg->type);
- msg->trace("RTIG::chooseProcessingMethod ");
-
switch(msg->type) {
case NetworkMessage::MESSAGE_NULL:
D.Out(pdDebug, "Message Null.");
@@ -120,20 +117,20 @@
break ;
case NetworkMessage::CREATE_FEDERATION_EXECUTION:
- D.Out(pdTrace, "Create federation \"%s\".", msg->federationName);
+ D.Out(pdTrace, "Create federation \"%s\".",
msg->federationName.c_str());
auditServer.setLevel(9);
processCreateFederation(link, msg);
break ;
case NetworkMessage::DESTROY_FEDERATION_EXECUTION:
- D.Out(pdTrace, "Destroy federation \"%s\".", msg->federationName);
+ D.Out(pdTrace, "Destroy federation \"%s\".",
msg->federationName.c_str());
auditServer.setLevel(9);
processDestroyFederation(link, msg);
break ;
case NetworkMessage::JOIN_FEDERATION_EXECUTION:
D.Out(pdTrace, "federate \"%s\" joins federation \"%s\".",
- msg->federateName, msg->federationName);
+ msg->federateName.c_str(), msg->federationName.c_str());
auditServer.setLevel(9);
processJoinFederation(link, msg);
break ;
@@ -987,4 +984,4 @@
}} // namespace certi/rtig
-// $Id: RTIG.cc,v 3.36 2008/03/07 16:10:06 rousse Exp $
+// $Id: RTIG.cc,v 3.36.2.1 2008/03/18 15:55:58 erk Exp $
Index: RTIG/Federation.cc
===================================================================
RCS file: /sources/certi/certi/RTIG/Federation.cc,v
retrieving revision 3.80
retrieving revision 3.80.2.1
diff -u -b -r3.80 -r3.80.2.1
--- RTIG/Federation.cc 5 Mar 2008 15:33:50 -0000 3.80
+++ RTIG/Federation.cc 18 Mar 2008 15:55:58 -0000 3.80.2.1
@@ -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.80 2008/03/05 15:33:50 rousse Exp $
+// $Id: Federation.cc,v 3.80.2.1 2008/03/18 15:55:58 erk Exp $
// ----------------------------------------------------------------------------
#include <config.h>
@@ -41,6 +41,7 @@
#include "ObjectClassAttribute.hh"
#include "PrettyDebug.hh"
#include "LBTS.hh"
+#include "NM_Classes.hh"
#ifdef _WIN32
#include <windows.h>
@@ -1108,11 +1109,8 @@
throw RestoreInProgress("Already in restoring state.");
Socket * socket ;
+ NetworkMessage *msg;
- NetworkMessage * msg = new NetworkMessage ;
- msg->federate = the_federate ;
- msg->federation = handle ;
- msg->setLabel(the_label);
// Informs sending federate of success/failure in restoring.
// At this point, only verify that file is present.
@@ -1137,9 +1135,15 @@
// JYR Note : forcing success to true to skip xmlParseFile (not compliant ?)
success = true ;
- msg->type = success ?
- NetworkMessage::REQUEST_FEDERATION_RESTORE_SUCCEEDED
- : NetworkMessage::REQUEST_FEDERATION_RESTORE_FAILED ;
+ if (success) {
+ msg =
NM_Factory::create(NetworkMessage::REQUEST_FEDERATION_RESTORE_SUCCEEDED);
+ } else {
+ msg =
NM_Factory::create(NetworkMessage::REQUEST_FEDERATION_RESTORE_FAILED);
+ }
+
+ msg->federate = the_federate ;
+ msg->federation = handle ;
+ msg->setLabel(the_label);
socket = server->getSocketLink(msg->federate);
@@ -1166,10 +1170,9 @@
restoreInProgress = true ;
// Informs federates a new restore is being done.
- msg = new NetworkMessage ;
+ msg = NM_Factory::create(NetworkMessage::FEDERATION_RESTORE_BEGUN);
msg->federate = the_federate ;
msg->federation = handle ;
- msg->type = NetworkMessage::FEDERATION_RESTORE_BEGUN ;
G.Out(pdGendoc," =====> broadcast message F_R_B");
@@ -1177,10 +1180,9 @@
delete msg ;
// For each federate, send an initiateFederateRestore with correct handle.
- msg = new NetworkMessage ;
+ msg = NM_Factory::create(NetworkMessage::INITIATE_FEDERATE_RESTORE);
msg->federation = handle ;
msg->setLabel(the_label);
- msg->type = NetworkMessage::INITIATE_FEDERATE_RESTORE ;
for (FederateList::iterator i = federates.begin(); i != federates.end();
++i) {
msg->federate = i->getHandle();
@@ -2302,5 +2304,5 @@
}} // namespace certi/rtig
-// $Id: Federation.cc,v 3.80 2008/03/05 15:33:50 rousse Exp $
+// $Id: Federation.cc,v 3.80.2.1 2008/03/18 15:55:58 erk Exp $
Index: doc/certi_doxygen.cnf.in
===================================================================
RCS file: /sources/certi/certi/doc/certi_doxygen.cnf.in,v
retrieving revision 1.1
retrieving revision 1.1.2.1
diff -u -b -r1.1 -r1.1.2.1
--- doc/certi_doxygen.cnf.in 10 Aug 2007 14:45:48 -0000 1.1
+++ doc/certi_doxygen.cnf.in 18 Mar 2008 15:55:58 -0000 1.1.2.1
@@ -720,7 +720,7 @@
# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
# generate Latex output.
-GENERATE_LATEX = NO
+GENERATE_LATEX = YES
# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
# If a relative path is entered the value of OUTPUT_DIRECTORY will be
@@ -743,7 +743,7 @@
# LaTeX documents. This may be useful for small projects and may help to
# save some trees in general.
-COMPACT_LATEX = NO
+COMPACT_LATEX = YES
# The PAPER_TYPE tag can be used to set the paper type that is used
# by the printer. Possible values are: a4, a4wide, letter, legal and
@@ -768,13 +768,13 @@
# contain links (just like the HTML output) instead of page references
# This makes the output suitable for online browsing using a pdf viewer.
-PDF_HYPERLINKS = NO
+PDF_HYPERLINKS = YES
# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of
# plain latex in the generated Makefile. Set this option to YES to get a
# higher quality PDF documentation.
-USE_PDFLATEX = NO
+USE_PDFLATEX = YES
# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.
# command to the generated LaTeX files. This will instruct LaTeX to keep
Index: libCERTI/NM_Classes.hh
===================================================================
RCS file: libCERTI/NM_Classes.hh
diff -N libCERTI/NM_Classes.hh
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ libCERTI/NM_Classes.hh 18 Mar 2008 15:55:55 -0000 1.1.2.1
@@ -0,0 +1,1131 @@
+// ----------------------------------------------------------------------------
+// CERTI - HLA RunTime Infrastructure
+// Copyright (C) 2002-2008 ONERA
+//
+// This program 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 of
+// the License, or (at your option) Any later version.
+//
+// This program 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 program ; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+// USA
+//
+// ----------------------------------------------------------------------------
+
+#ifndef CERTI_NM_CLASSES_HH
+#define CERTI_NM_CLASSES_HH
+#include "NetworkMessage.hh"
+
+namespace certi {
+/**
+ * Network Message factory
+ */
+class NM_Factory {
+public:
+ static NetworkMessage* create(NetworkMessage::Message_T type);
+};
+
+/*<BEGIN>---------- Not_Used ------------<BEGIN>*/
+class CERTI_EXPORT NM_Not_Used : public NetworkMessage {
+ public:
+ NM_Not_Used();
+ virtual ~NM_Not_Used();
+ virtual void serialize();
+ virtual void deserialize();
+ protected:
+ private:
+};
+
+/*<END>---------- Not_Used ------------<END>*/
+
+/*<BEGIN>---------- Close_Connexion ------------<BEGIN>*/
+class CERTI_EXPORT NM_Close_Connexion : public NetworkMessage {
+ public:
+ NM_Close_Connexion();
+ virtual ~NM_Close_Connexion();
+ virtual void serialize();
+ virtual void deserialize();
+ protected:
+ private:
+};
+
+/*<END>---------- Close_Connexion ------------<END>*/
+
+/*<BEGIN>---------- Message_Null ------------<BEGIN>*/
+class CERTI_EXPORT NM_Message_Null : public NetworkMessage {
+ public:
+ NM_Message_Null();
+ virtual ~NM_Message_Null();
+ virtual void serialize();
+ virtual void deserialize();
+ protected:
+ private:
+};
+
+/*<END>---------- Message_Null ------------<END>*/
+
+/*<BEGIN>---------- Create_Federation_Execution ------------<BEGIN>*/
+class CERTI_EXPORT NM_Create_Federation_Execution : public NetworkMessage {
+ public:
+ NM_Create_Federation_Execution();
+ virtual ~NM_Create_Federation_Execution();
+ virtual void serialize();
+ virtual void deserialize();
+ protected:
+ private:
+};
+
+/*<END>---------- Create_Federation_Execution ------------<END>*/
+
+/*<BEGIN>---------- Destroy_Federation_Execution ------------<BEGIN>*/
+class CERTI_EXPORT NM_Destroy_Federation_Execution : public NetworkMessage {
+ public:
+ NM_Destroy_Federation_Execution();
+ virtual ~NM_Destroy_Federation_Execution();
+ virtual void serialize();
+ virtual void deserialize();
+ protected:
+ private:
+};
+
+/*<END>---------- Destroy_Federation_Execution ------------<END>*/
+
+/*<BEGIN>---------- Join_Federation_Execution ------------<BEGIN>*/
+class CERTI_EXPORT NM_Join_Federation_Execution : public NetworkMessage {
+ public:
+ NM_Join_Federation_Execution();
+ virtual ~NM_Join_Federation_Execution();
+ virtual void serialize();
+ virtual void deserialize();
+ protected:
+ private:
+};
+
+/*<END>---------- Join_Federation_Execution ------------<END>*/
+
+/*<BEGIN>---------- Resign_Federation_Execution ------------<BEGIN>*/
+class CERTI_EXPORT NM_Resign_Federation_Execution : public NetworkMessage {
+ public:
+ NM_Resign_Federation_Execution();
+ virtual ~NM_Resign_Federation_Execution();
+ virtual void serialize();
+ virtual void deserialize();
+ protected:
+ private:
+};
+
+/*<END>---------- Resign_Federation_Execution ------------<END>*/
+
+/*<BEGIN>---------- Set_Time_Regulating ------------<BEGIN>*/
+class CERTI_EXPORT NM_Set_Time_Regulating : public NetworkMessage {
+ public:
+ NM_Set_Time_Regulating();
+ virtual ~NM_Set_Time_Regulating();
+ virtual void serialize();
+ virtual void deserialize();
+ protected:
+ private:
+};
+
+/*<END>---------- Set_Time_Regulating ------------<END>*/
+
+/*<BEGIN>---------- Set_Time_Constrained ------------<BEGIN>*/
+class CERTI_EXPORT NM_Set_Time_Constrained : public NetworkMessage {
+ public:
+ NM_Set_Time_Constrained();
+ virtual ~NM_Set_Time_Constrained();
+ virtual void serialize();
+ virtual void deserialize();
+ protected:
+ private:
+};
+
+/*<END>---------- Set_Time_Constrained ------------<END>*/
+
+/*<BEGIN>---------- Register_Federation_Synchronization_Point
------------<BEGIN>*/
+class CERTI_EXPORT NM_Register_Federation_Synchronization_Point : public
NetworkMessage {
+ public:
+ NM_Register_Federation_Synchronization_Point();
+ virtual ~NM_Register_Federation_Synchronization_Point();
+ virtual void serialize();
+ virtual void deserialize();
+ protected:
+ private:
+};
+
+/*<END>---------- Register_Federation_Synchronization_Point ------------<END>*/
+
+/*<BEGIN>---------- Synchronization_Point_Registration_Succeeded
------------<BEGIN>*/
+class CERTI_EXPORT NM_Synchronization_Point_Registration_Succeeded : public
NetworkMessage {
+ public:
+ NM_Synchronization_Point_Registration_Succeeded();
+ virtual ~NM_Synchronization_Point_Registration_Succeeded();
+ virtual void serialize();
+ virtual void deserialize();
+ protected:
+ private:
+};
+
+/*<END>---------- Synchronization_Point_Registration_Succeeded
------------<END>*/
+
+/*<BEGIN>---------- Announce_Synchronization_Point ------------<BEGIN>*/
+class CERTI_EXPORT NM_Announce_Synchronization_Point : public NetworkMessage {
+ public:
+ NM_Announce_Synchronization_Point();
+ virtual ~NM_Announce_Synchronization_Point();
+ virtual void serialize();
+ virtual void deserialize();
+ protected:
+ private:
+};
+
+/*<END>---------- Announce_Synchronization_Point ------------<END>*/
+
+/*<BEGIN>---------- Synchronization_Point_Achieved ------------<BEGIN>*/
+class CERTI_EXPORT NM_Synchronization_Point_Achieved : public NetworkMessage {
+ public:
+ NM_Synchronization_Point_Achieved();
+ virtual ~NM_Synchronization_Point_Achieved();
+ virtual void serialize();
+ virtual void deserialize();
+ protected:
+ private:
+};
+
+/*<END>---------- Synchronization_Point_Achieved ------------<END>*/
+
+/*<BEGIN>---------- Federation_Synchronized ------------<BEGIN>*/
+class CERTI_EXPORT NM_Federation_Synchronized : public NetworkMessage {
+ public:
+ NM_Federation_Synchronized();
+ virtual ~NM_Federation_Synchronized();
+ virtual void serialize();
+ virtual void deserialize();
+ protected:
+ private:
+};
+
+/*<END>---------- Federation_Synchronized ------------<END>*/
+
+/*<BEGIN>---------- Request_Federation_Save ------------<BEGIN>*/
+class CERTI_EXPORT NM_Request_Federation_Save : public NetworkMessage {
+ public:
+ NM_Request_Federation_Save();
+ virtual ~NM_Request_Federation_Save();
+ virtual void serialize();
+ virtual void deserialize();
+ protected:
+ private:
+};
+
+/*<END>---------- Request_Federation_Save ------------<END>*/
+
+/*<BEGIN>---------- Federate_Save_Begun ------------<BEGIN>*/
+class CERTI_EXPORT NM_Federate_Save_Begun : public NetworkMessage {
+ public:
+ NM_Federate_Save_Begun();
+ virtual ~NM_Federate_Save_Begun();
+ virtual void serialize();
+ virtual void deserialize();
+ protected:
+ private:
+};
+
+/*<END>---------- Federate_Save_Begun ------------<END>*/
+
+/*<BEGIN>---------- Federate_Save_Complete ------------<BEGIN>*/
+class CERTI_EXPORT NM_Federate_Save_Complete : public NetworkMessage {
+ public:
+ NM_Federate_Save_Complete();
+ virtual ~NM_Federate_Save_Complete();
+ virtual void serialize();
+ virtual void deserialize();
+ protected:
+ private:
+};
+
+/*<END>---------- Federate_Save_Complete ------------<END>*/
+
+/*<BEGIN>---------- Federate_Save_Not_Complete ------------<BEGIN>*/
+class CERTI_EXPORT NM_Federate_Save_Not_Complete : public NetworkMessage {
+ public:
+ NM_Federate_Save_Not_Complete();
+ virtual ~NM_Federate_Save_Not_Complete();
+ virtual void serialize();
+ virtual void deserialize();
+ protected:
+ private:
+};
+
+/*<END>---------- Federate_Save_Not_Complete ------------<END>*/
+
+/*<BEGIN>---------- Initiate_Federate_Save ------------<BEGIN>*/
+class CERTI_EXPORT NM_Initiate_Federate_Save : public NetworkMessage {
+ public:
+ NM_Initiate_Federate_Save();
+ virtual ~NM_Initiate_Federate_Save();
+ virtual void serialize();
+ virtual void deserialize();
+ protected:
+ private:
+};
+
+/*<END>---------- Initiate_Federate_Save ------------<END>*/
+
+/*<BEGIN>---------- Federation_Saved ------------<BEGIN>*/
+class CERTI_EXPORT NM_Federation_Saved : public NetworkMessage {
+ public:
+ NM_Federation_Saved();
+ virtual ~NM_Federation_Saved();
+ virtual void serialize();
+ virtual void deserialize();
+ protected:
+ private:
+};
+
+/*<END>---------- Federation_Saved ------------<END>*/
+
+/*<BEGIN>---------- Federation_Not_Saved ------------<BEGIN>*/
+class CERTI_EXPORT NM_Federation_Not_Saved : public NetworkMessage {
+ public:
+ NM_Federation_Not_Saved();
+ virtual ~NM_Federation_Not_Saved();
+ virtual void serialize();
+ virtual void deserialize();
+ protected:
+ private:
+};
+
+/*<END>---------- Federation_Not_Saved ------------<END>*/
+
+/*<BEGIN>---------- Request_Federation_Restore ------------<BEGIN>*/
+class CERTI_EXPORT NM_Request_Federation_Restore : public NetworkMessage {
+ public:
+ NM_Request_Federation_Restore();
+ virtual ~NM_Request_Federation_Restore();
+ virtual void serialize();
+ virtual void deserialize();
+ protected:
+ private:
+};
+
+/*<END>---------- Request_Federation_Restore ------------<END>*/
+
+/*<BEGIN>---------- Federate_Restore_Complete ------------<BEGIN>*/
+class CERTI_EXPORT NM_Federate_Restore_Complete : public NetworkMessage {
+ public:
+ NM_Federate_Restore_Complete();
+ virtual ~NM_Federate_Restore_Complete();
+ virtual void serialize();
+ virtual void deserialize();
+ protected:
+ private:
+};
+
+/*<END>---------- Federate_Restore_Complete ------------<END>*/
+
+/*<BEGIN>---------- Federate_Restore_Not_Complete ------------<BEGIN>*/
+class CERTI_EXPORT NM_Federate_Restore_Not_Complete : public NetworkMessage {
+ public:
+ NM_Federate_Restore_Not_Complete();
+ virtual ~NM_Federate_Restore_Not_Complete();
+ virtual void serialize();
+ virtual void deserialize();
+ protected:
+ private:
+};
+
+/*<END>---------- Federate_Restore_Not_Complete ------------<END>*/
+
+/*<BEGIN>---------- Request_Federation_Restore_Succeeded ------------<BEGIN>*/
+class CERTI_EXPORT NM_Request_Federation_Restore_Succeeded : public
NetworkMessage {
+ public:
+ NM_Request_Federation_Restore_Succeeded();
+ virtual ~NM_Request_Federation_Restore_Succeeded();
+ virtual void serialize();
+ virtual void deserialize();
+ protected:
+ private:
+};
+
+/*<END>---------- Request_Federation_Restore_Succeeded ------------<END>*/
+
+/*<BEGIN>---------- Request_Federation_Restore_Failed ------------<BEGIN>*/
+class CERTI_EXPORT NM_Request_Federation_Restore_Failed : public
NetworkMessage {
+ public:
+ NM_Request_Federation_Restore_Failed();
+ virtual ~NM_Request_Federation_Restore_Failed();
+ virtual void serialize();
+ virtual void deserialize();
+ protected:
+ private:
+};
+
+/*<END>---------- Request_Federation_Restore_Failed ------------<END>*/
+
+/*<BEGIN>---------- Federation_Restore_Begun ------------<BEGIN>*/
+class CERTI_EXPORT NM_Federation_Restore_Begun : public NetworkMessage {
+ public:
+ NM_Federation_Restore_Begun();
+ virtual ~NM_Federation_Restore_Begun();
+ virtual void serialize();
+ virtual void deserialize();
+ protected:
+ private:
+};
+
+/*<END>---------- Federation_Restore_Begun ------------<END>*/
+
+/*<BEGIN>---------- Initiate_Federate_Restore ------------<BEGIN>*/
+class CERTI_EXPORT NM_Initiate_Federate_Restore : public NetworkMessage {
+ public:
+ NM_Initiate_Federate_Restore();
+ virtual ~NM_Initiate_Federate_Restore();
+ virtual void serialize();
+ virtual void deserialize();
+ protected:
+ private:
+};
+
+/*<END>---------- Initiate_Federate_Restore ------------<END>*/
+
+/*<BEGIN>---------- Federation_Restored ------------<BEGIN>*/
+class CERTI_EXPORT NM_Federation_Restored : public NetworkMessage {
+ public:
+ NM_Federation_Restored();
+ virtual ~NM_Federation_Restored();
+ virtual void serialize();
+ virtual void deserialize();
+ protected:
+ private:
+};
+
+/*<END>---------- Federation_Restored ------------<END>*/
+
+/*<BEGIN>---------- Federation_Not_Restored ------------<BEGIN>*/
+class CERTI_EXPORT NM_Federation_Not_Restored : public NetworkMessage {
+ public:
+ NM_Federation_Not_Restored();
+ virtual ~NM_Federation_Not_Restored();
+ virtual void serialize();
+ virtual void deserialize();
+ protected:
+ private:
+};
+
+/*<END>---------- Federation_Not_Restored ------------<END>*/
+
+/*<BEGIN>---------- Publish_Object_Class ------------<BEGIN>*/
+class CERTI_EXPORT NM_Publish_Object_Class : public NetworkMessage {
+ public:
+ NM_Publish_Object_Class();
+ virtual ~NM_Publish_Object_Class();
+ virtual void serialize();
+ virtual void deserialize();
+ protected:
+ private:
+};
+
+/*<END>---------- Publish_Object_Class ------------<END>*/
+
+/*<BEGIN>---------- Unpublish_Object_Class ------------<BEGIN>*/
+class CERTI_EXPORT NM_Unpublish_Object_Class : public NetworkMessage {
+ public:
+ NM_Unpublish_Object_Class();
+ virtual ~NM_Unpublish_Object_Class();
+ virtual void serialize();
+ virtual void deserialize();
+ protected:
+ private:
+};
+
+/*<END>---------- Unpublish_Object_Class ------------<END>*/
+
+/*<BEGIN>---------- Publish_Interaction_Class ------------<BEGIN>*/
+class CERTI_EXPORT NM_Publish_Interaction_Class : public NetworkMessage {
+ public:
+ NM_Publish_Interaction_Class();
+ virtual ~NM_Publish_Interaction_Class();
+ virtual void serialize();
+ virtual void deserialize();
+ protected:
+ private:
+};
+
+/*<END>---------- Publish_Interaction_Class ------------<END>*/
+
+/*<BEGIN>---------- Unpublish_Interaction_Class ------------<BEGIN>*/
+class CERTI_EXPORT NM_Unpublish_Interaction_Class : public NetworkMessage {
+ public:
+ NM_Unpublish_Interaction_Class();
+ virtual ~NM_Unpublish_Interaction_Class();
+ virtual void serialize();
+ virtual void deserialize();
+ protected:
+ private:
+};
+
+/*<END>---------- Unpublish_Interaction_Class ------------<END>*/
+
+/*<BEGIN>---------- Subscribe_Object_Class ------------<BEGIN>*/
+class CERTI_EXPORT NM_Subscribe_Object_Class : public NetworkMessage {
+ public:
+ NM_Subscribe_Object_Class();
+ virtual ~NM_Subscribe_Object_Class();
+ virtual void serialize();
+ virtual void deserialize();
+ protected:
+ private:
+};
+
+/*<END>---------- Subscribe_Object_Class ------------<END>*/
+
+/*<BEGIN>---------- Unsubscribe_Object_Class ------------<BEGIN>*/
+class CERTI_EXPORT NM_Unsubscribe_Object_Class : public NetworkMessage {
+ public:
+ NM_Unsubscribe_Object_Class();
+ virtual ~NM_Unsubscribe_Object_Class();
+ virtual void serialize();
+ virtual void deserialize();
+ protected:
+ private:
+};
+
+/*<END>---------- Unsubscribe_Object_Class ------------<END>*/
+
+/*<BEGIN>---------- Subscribe_Interaction_Class ------------<BEGIN>*/
+class CERTI_EXPORT NM_Subscribe_Interaction_Class : public NetworkMessage {
+ public:
+ NM_Subscribe_Interaction_Class();
+ virtual ~NM_Subscribe_Interaction_Class();
+ virtual void serialize();
+ virtual void deserialize();
+ protected:
+ private:
+};
+
+/*<END>---------- Subscribe_Interaction_Class ------------<END>*/
+
+/*<BEGIN>---------- Unsubscribe_Interaction_Class ------------<BEGIN>*/
+class CERTI_EXPORT NM_Unsubscribe_Interaction_Class : public NetworkMessage {
+ public:
+ NM_Unsubscribe_Interaction_Class();
+ virtual ~NM_Unsubscribe_Interaction_Class();
+ virtual void serialize();
+ virtual void deserialize();
+ protected:
+ private:
+};
+
+/*<END>---------- Unsubscribe_Interaction_Class ------------<END>*/
+
+/*<BEGIN>---------- Turn_Interactions_On ------------<BEGIN>*/
+class CERTI_EXPORT NM_Turn_Interactions_On : public NetworkMessage {
+ public:
+ NM_Turn_Interactions_On();
+ virtual ~NM_Turn_Interactions_On();
+ virtual void serialize();
+ virtual void deserialize();
+ protected:
+ private:
+};
+
+/*<END>---------- Turn_Interactions_On ------------<END>*/
+
+/*<BEGIN>---------- Turn_Interactions_Off ------------<BEGIN>*/
+class CERTI_EXPORT NM_Turn_Interactions_Off : public NetworkMessage {
+ public:
+ NM_Turn_Interactions_Off();
+ virtual ~NM_Turn_Interactions_Off();
+ virtual void serialize();
+ virtual void deserialize();
+ protected:
+ private:
+};
+
+/*<END>---------- Turn_Interactions_Off ------------<END>*/
+
+/*<BEGIN>---------- Register_Object ------------<BEGIN>*/
+class CERTI_EXPORT NM_Register_Object : public NetworkMessage {
+ public:
+ NM_Register_Object();
+ virtual ~NM_Register_Object();
+ virtual void serialize();
+ virtual void deserialize();
+ protected:
+ private:
+};
+
+/*<END>---------- Register_Object ------------<END>*/
+
+/*<BEGIN>---------- Discover_Object ------------<BEGIN>*/
+class CERTI_EXPORT NM_Discover_Object : public NetworkMessage {
+ public:
+ NM_Discover_Object();
+ virtual ~NM_Discover_Object();
+ virtual void serialize();
+ virtual void deserialize();
+ protected:
+ private:
+};
+
+/*<END>---------- Discover_Object ------------<END>*/
+
+/*<BEGIN>---------- Update_Attribute_Values ------------<BEGIN>*/
+class CERTI_EXPORT NM_Update_Attribute_Values : public NetworkMessage {
+ public:
+ NM_Update_Attribute_Values();
+ virtual ~NM_Update_Attribute_Values();
+ virtual void serialize();
+ virtual void deserialize();
+ protected:
+ private:
+};
+
+/*<END>---------- Update_Attribute_Values ------------<END>*/
+
+/*<BEGIN>---------- Reflect_Attribute_Values ------------<BEGIN>*/
+class CERTI_EXPORT NM_Reflect_Attribute_Values : public NetworkMessage {
+ public:
+ NM_Reflect_Attribute_Values();
+ virtual ~NM_Reflect_Attribute_Values();
+ virtual void serialize();
+ virtual void deserialize();
+ protected:
+ private:
+};
+
+/*<END>---------- Reflect_Attribute_Values ------------<END>*/
+
+/*<BEGIN>---------- Send_Interaction ------------<BEGIN>*/
+class CERTI_EXPORT NM_Send_Interaction : public NetworkMessage {
+ public:
+ NM_Send_Interaction();
+ virtual ~NM_Send_Interaction();
+ virtual void serialize();
+ virtual void deserialize();
+ protected:
+ private:
+};
+
+/*<END>---------- Send_Interaction ------------<END>*/
+
+/*<BEGIN>---------- Receive_Interaction ------------<BEGIN>*/
+class CERTI_EXPORT NM_Receive_Interaction : public NetworkMessage {
+ public:
+ NM_Receive_Interaction();
+ virtual ~NM_Receive_Interaction();
+ virtual void serialize();
+ virtual void deserialize();
+ protected:
+ private:
+};
+
+/*<END>---------- Receive_Interaction ------------<END>*/
+
+/*<BEGIN>---------- Delete_Object ------------<BEGIN>*/
+class CERTI_EXPORT NM_Delete_Object : public NetworkMessage {
+ public:
+ NM_Delete_Object();
+ virtual ~NM_Delete_Object();
+ virtual void serialize();
+ virtual void deserialize();
+ protected:
+ private:
+};
+
+/*<END>---------- Delete_Object ------------<END>*/
+
+/*<BEGIN>---------- Remove_Object ------------<BEGIN>*/
+class CERTI_EXPORT NM_Remove_Object : public NetworkMessage {
+ public:
+ NM_Remove_Object();
+ virtual ~NM_Remove_Object();
+ virtual void serialize();
+ virtual void deserialize();
+ protected:
+ private:
+};
+
+/*<END>---------- Remove_Object ------------<END>*/
+
+/*<BEGIN>---------- Change_Attribute_Transport_Type ------------<BEGIN>*/
+class CERTI_EXPORT NM_Change_Attribute_Transport_Type : public NetworkMessage {
+ public:
+ NM_Change_Attribute_Transport_Type();
+ virtual ~NM_Change_Attribute_Transport_Type();
+ virtual void serialize();
+ virtual void deserialize();
+ protected:
+ private:
+};
+
+/*<END>---------- Change_Attribute_Transport_Type ------------<END>*/
+
+/*<BEGIN>---------- Change_Attribute_Order_Type ------------<BEGIN>*/
+class CERTI_EXPORT NM_Change_Attribute_Order_Type : public NetworkMessage {
+ public:
+ NM_Change_Attribute_Order_Type();
+ virtual ~NM_Change_Attribute_Order_Type();
+ virtual void serialize();
+ virtual void deserialize();
+ protected:
+ private:
+};
+
+/*<END>---------- Change_Attribute_Order_Type ------------<END>*/
+
+/*<BEGIN>---------- Change_Interaction_Transport_Type ------------<BEGIN>*/
+class CERTI_EXPORT NM_Change_Interaction_Transport_Type : public
NetworkMessage {
+ public:
+ NM_Change_Interaction_Transport_Type();
+ virtual ~NM_Change_Interaction_Transport_Type();
+ virtual void serialize();
+ virtual void deserialize();
+ protected:
+ private:
+};
+
+/*<END>---------- Change_Interaction_Transport_Type ------------<END>*/
+
+/*<BEGIN>---------- Change_Interaction_Order_Type ------------<BEGIN>*/
+class CERTI_EXPORT NM_Change_Interaction_Order_Type : public NetworkMessage {
+ public:
+ NM_Change_Interaction_Order_Type();
+ virtual ~NM_Change_Interaction_Order_Type();
+ virtual void serialize();
+ virtual void deserialize();
+ protected:
+ private:
+};
+
+/*<END>---------- Change_Interaction_Order_Type ------------<END>*/
+
+/*<BEGIN>---------- Request_Class_Attribute_Value_Update ------------<BEGIN>*/
+class CERTI_EXPORT NM_Request_Class_Attribute_Value_Update : public
NetworkMessage {
+ public:
+ NM_Request_Class_Attribute_Value_Update();
+ virtual ~NM_Request_Class_Attribute_Value_Update();
+ virtual void serialize();
+ virtual void deserialize();
+ protected:
+ private:
+};
+
+/*<END>---------- Request_Class_Attribute_Value_Update ------------<END>*/
+
+/*<BEGIN>---------- Request_Object_Attribute_Value_Update ------------<BEGIN>*/
+class CERTI_EXPORT NM_Request_Object_Attribute_Value_Update : public
NetworkMessage {
+ public:
+ NM_Request_Object_Attribute_Value_Update();
+ virtual ~NM_Request_Object_Attribute_Value_Update();
+ virtual void serialize();
+ virtual void deserialize();
+ protected:
+ private:
+};
+
+/*<END>---------- Request_Object_Attribute_Value_Update ------------<END>*/
+
+/*<BEGIN>---------- Is_Attribute_Owned_By_Federate ------------<BEGIN>*/
+class CERTI_EXPORT NM_Is_Attribute_Owned_By_Federate : public NetworkMessage {
+ public:
+ NM_Is_Attribute_Owned_By_Federate();
+ virtual ~NM_Is_Attribute_Owned_By_Federate();
+ virtual void serialize();
+ virtual void deserialize();
+ protected:
+ private:
+};
+
+/*<END>---------- Is_Attribute_Owned_By_Federate ------------<END>*/
+
+/*<BEGIN>---------- Query_Attribute_Ownership ------------<BEGIN>*/
+class CERTI_EXPORT NM_Query_Attribute_Ownership : public NetworkMessage {
+ public:
+ NM_Query_Attribute_Ownership();
+ virtual ~NM_Query_Attribute_Ownership();
+ virtual void serialize();
+ virtual void deserialize();
+ protected:
+ private:
+};
+
+/*<END>---------- Query_Attribute_Ownership ------------<END>*/
+
+/*<BEGIN>---------- Attribute_Is_Not_Owned ------------<BEGIN>*/
+class CERTI_EXPORT NM_Attribute_Is_Not_Owned : public NetworkMessage {
+ public:
+ NM_Attribute_Is_Not_Owned();
+ virtual ~NM_Attribute_Is_Not_Owned();
+ virtual void serialize();
+ virtual void deserialize();
+ protected:
+ private:
+};
+
+/*<END>---------- Attribute_Is_Not_Owned ------------<END>*/
+
+/*<BEGIN>---------- Inform_Attribute_Ownership ------------<BEGIN>*/
+class CERTI_EXPORT NM_Inform_Attribute_Ownership : public NetworkMessage {
+ public:
+ NM_Inform_Attribute_Ownership();
+ virtual ~NM_Inform_Attribute_Ownership();
+ virtual void serialize();
+ virtual void deserialize();
+ protected:
+ private:
+};
+
+/*<END>---------- Inform_Attribute_Ownership ------------<END>*/
+
+/*<BEGIN>---------- Negotiated_Attribute_Ownership_Divestiture
------------<BEGIN>*/
+class CERTI_EXPORT NM_Negotiated_Attribute_Ownership_Divestiture : public
NetworkMessage {
+ public:
+ NM_Negotiated_Attribute_Ownership_Divestiture();
+ virtual ~NM_Negotiated_Attribute_Ownership_Divestiture();
+ virtual void serialize();
+ virtual void deserialize();
+ protected:
+ private:
+};
+
+/*<END>---------- Negotiated_Attribute_Ownership_Divestiture
------------<END>*/
+
+/*<BEGIN>---------- Attribute_Ownership_Acquisition_Notification
------------<BEGIN>*/
+class CERTI_EXPORT NM_Attribute_Ownership_Acquisition_Notification : public
NetworkMessage {
+ public:
+ NM_Attribute_Ownership_Acquisition_Notification();
+ virtual ~NM_Attribute_Ownership_Acquisition_Notification();
+ virtual void serialize();
+ virtual void deserialize();
+ protected:
+ private:
+};
+
+/*<END>---------- Attribute_Ownership_Acquisition_Notification
------------<END>*/
+
+/*<BEGIN>---------- Attribute_Ownership_Divestiture_Notification
------------<BEGIN>*/
+class CERTI_EXPORT NM_Attribute_Ownership_Divestiture_Notification : public
NetworkMessage {
+ public:
+ NM_Attribute_Ownership_Divestiture_Notification();
+ virtual ~NM_Attribute_Ownership_Divestiture_Notification();
+ virtual void serialize();
+ virtual void deserialize();
+ protected:
+ private:
+};
+
+/*<END>---------- Attribute_Ownership_Divestiture_Notification
------------<END>*/
+
+/*<BEGIN>---------- Request_Attribute_Ownership_Assumption
------------<BEGIN>*/
+class CERTI_EXPORT NM_Request_Attribute_Ownership_Assumption : public
NetworkMessage {
+ public:
+ NM_Request_Attribute_Ownership_Assumption();
+ virtual ~NM_Request_Attribute_Ownership_Assumption();
+ virtual void serialize();
+ virtual void deserialize();
+ protected:
+ private:
+};
+
+/*<END>---------- Request_Attribute_Ownership_Assumption ------------<END>*/
+
+/*<BEGIN>---------- Attribute_Ownership_Unavailable ------------<BEGIN>*/
+class CERTI_EXPORT NM_Attribute_Ownership_Unavailable : public NetworkMessage {
+ public:
+ NM_Attribute_Ownership_Unavailable();
+ virtual ~NM_Attribute_Ownership_Unavailable();
+ virtual void serialize();
+ virtual void deserialize();
+ protected:
+ private:
+};
+
+/*<END>---------- Attribute_Ownership_Unavailable ------------<END>*/
+
+/*<BEGIN>---------- Attribute_Ownership_Acquisition_If_Available
------------<BEGIN>*/
+class CERTI_EXPORT NM_Attribute_Ownership_Acquisition_If_Available : public
NetworkMessage {
+ public:
+ NM_Attribute_Ownership_Acquisition_If_Available();
+ virtual ~NM_Attribute_Ownership_Acquisition_If_Available();
+ virtual void serialize();
+ virtual void deserialize();
+ protected:
+ private:
+};
+
+/*<END>---------- Attribute_Ownership_Acquisition_If_Available
------------<END>*/
+
+/*<BEGIN>---------- Unconditional_Attribute_Ownership_Divestiture
------------<BEGIN>*/
+class CERTI_EXPORT NM_Unconditional_Attribute_Ownership_Divestiture : public
NetworkMessage {
+ public:
+ NM_Unconditional_Attribute_Ownership_Divestiture();
+ virtual ~NM_Unconditional_Attribute_Ownership_Divestiture();
+ virtual void serialize();
+ virtual void deserialize();
+ protected:
+ private:
+};
+
+/*<END>---------- Unconditional_Attribute_Ownership_Divestiture
------------<END>*/
+
+/*<BEGIN>---------- Attribute_Ownership_Acquisition ------------<BEGIN>*/
+class CERTI_EXPORT NM_Attribute_Ownership_Acquisition : public NetworkMessage {
+ public:
+ NM_Attribute_Ownership_Acquisition();
+ virtual ~NM_Attribute_Ownership_Acquisition();
+ virtual void serialize();
+ virtual void deserialize();
+ protected:
+ private:
+};
+
+/*<END>---------- Attribute_Ownership_Acquisition ------------<END>*/
+
+/*<BEGIN>---------- Request_Attribute_Ownership_Release ------------<BEGIN>*/
+class CERTI_EXPORT NM_Request_Attribute_Ownership_Release : public
NetworkMessage {
+ public:
+ NM_Request_Attribute_Ownership_Release();
+ virtual ~NM_Request_Attribute_Ownership_Release();
+ virtual void serialize();
+ virtual void deserialize();
+ protected:
+ private:
+};
+
+/*<END>---------- Request_Attribute_Ownership_Release ------------<END>*/
+
+/*<BEGIN>---------- Cancel_Negotiated_Attribute_Ownership_Divestiture
------------<BEGIN>*/
+class CERTI_EXPORT NM_Cancel_Negotiated_Attribute_Ownership_Divestiture :
public NetworkMessage {
+ public:
+ NM_Cancel_Negotiated_Attribute_Ownership_Divestiture();
+ virtual ~NM_Cancel_Negotiated_Attribute_Ownership_Divestiture();
+ virtual void serialize();
+ virtual void deserialize();
+ protected:
+ private:
+};
+
+/*<END>---------- Cancel_Negotiated_Attribute_Ownership_Divestiture
------------<END>*/
+
+/*<BEGIN>---------- Attribute_Ownership_Release_Response ------------<BEGIN>*/
+class CERTI_EXPORT NM_Attribute_Ownership_Release_Response : public
NetworkMessage {
+ public:
+ NM_Attribute_Ownership_Release_Response();
+ virtual ~NM_Attribute_Ownership_Release_Response();
+ virtual void serialize();
+ virtual void deserialize();
+ protected:
+ private:
+};
+
+/*<END>---------- Attribute_Ownership_Release_Response ------------<END>*/
+
+/*<BEGIN>---------- Cancel_Attribute_Ownership_Acquisition
------------<BEGIN>*/
+class CERTI_EXPORT NM_Cancel_Attribute_Ownership_Acquisition : public
NetworkMessage {
+ public:
+ NM_Cancel_Attribute_Ownership_Acquisition();
+ virtual ~NM_Cancel_Attribute_Ownership_Acquisition();
+ virtual void serialize();
+ virtual void deserialize();
+ protected:
+ private:
+};
+
+/*<END>---------- Cancel_Attribute_Ownership_Acquisition ------------<END>*/
+
+/*<BEGIN>---------- Confirm_Attribute_Ownership_Acquisition_Cancellation
------------<BEGIN>*/
+class CERTI_EXPORT NM_Confirm_Attribute_Ownership_Acquisition_Cancellation :
public NetworkMessage {
+ public:
+ NM_Confirm_Attribute_Ownership_Acquisition_Cancellation();
+ virtual ~NM_Confirm_Attribute_Ownership_Acquisition_Cancellation();
+ virtual void serialize();
+ virtual void deserialize();
+ protected:
+ private:
+};
+
+/*<END>---------- Confirm_Attribute_Ownership_Acquisition_Cancellation
------------<END>*/
+
+/*<BEGIN>---------- Ddm_Create_Region ------------<BEGIN>*/
+class CERTI_EXPORT NM_Ddm_Create_Region : public NetworkMessage {
+ public:
+ NM_Ddm_Create_Region();
+ virtual ~NM_Ddm_Create_Region();
+ virtual void serialize();
+ virtual void deserialize();
+ protected:
+ private:
+};
+
+/*<END>---------- Ddm_Create_Region ------------<END>*/
+
+/*<BEGIN>---------- Ddm_Modify_Region ------------<BEGIN>*/
+class CERTI_EXPORT NM_Ddm_Modify_Region : public NetworkMessage {
+ public:
+ NM_Ddm_Modify_Region();
+ virtual ~NM_Ddm_Modify_Region();
+ virtual void serialize();
+ virtual void deserialize();
+ protected:
+ private:
+};
+
+/*<END>---------- Ddm_Modify_Region ------------<END>*/
+
+/*<BEGIN>---------- Ddm_Delete_Region ------------<BEGIN>*/
+class CERTI_EXPORT NM_Ddm_Delete_Region : public NetworkMessage {
+ public:
+ NM_Ddm_Delete_Region();
+ virtual ~NM_Ddm_Delete_Region();
+ virtual void serialize();
+ virtual void deserialize();
+ protected:
+ private:
+};
+
+/*<END>---------- Ddm_Delete_Region ------------<END>*/
+
+/*<BEGIN>---------- Ddm_Associate_Region ------------<BEGIN>*/
+class CERTI_EXPORT NM_Ddm_Associate_Region : public NetworkMessage {
+ public:
+ NM_Ddm_Associate_Region();
+ virtual ~NM_Ddm_Associate_Region();
+ virtual void serialize();
+ virtual void deserialize();
+ protected:
+ private:
+};
+
+/*<END>---------- Ddm_Associate_Region ------------<END>*/
+
+/*<BEGIN>---------- Ddm_Register_Object ------------<BEGIN>*/
+class CERTI_EXPORT NM_Ddm_Register_Object : public NetworkMessage {
+ public:
+ NM_Ddm_Register_Object();
+ virtual ~NM_Ddm_Register_Object();
+ virtual void serialize();
+ virtual void deserialize();
+ protected:
+ private:
+};
+
+/*<END>---------- Ddm_Register_Object ------------<END>*/
+
+/*<BEGIN>---------- Ddm_Unassociate_Region ------------<BEGIN>*/
+class CERTI_EXPORT NM_Ddm_Unassociate_Region : public NetworkMessage {
+ public:
+ NM_Ddm_Unassociate_Region();
+ virtual ~NM_Ddm_Unassociate_Region();
+ virtual void serialize();
+ virtual void deserialize();
+ protected:
+ private:
+};
+
+/*<END>---------- Ddm_Unassociate_Region ------------<END>*/
+
+/*<BEGIN>---------- Ddm_Subscribe_Attributes ------------<BEGIN>*/
+class CERTI_EXPORT NM_Ddm_Subscribe_Attributes : public NetworkMessage {
+ public:
+ NM_Ddm_Subscribe_Attributes();
+ virtual ~NM_Ddm_Subscribe_Attributes();
+ virtual void serialize();
+ virtual void deserialize();
+ protected:
+ private:
+};
+
+/*<END>---------- Ddm_Subscribe_Attributes ------------<END>*/
+
+/*<BEGIN>---------- Ddm_Unsubscribe_Attributes ------------<BEGIN>*/
+class CERTI_EXPORT NM_Ddm_Unsubscribe_Attributes : public NetworkMessage {
+ public:
+ NM_Ddm_Unsubscribe_Attributes();
+ virtual ~NM_Ddm_Unsubscribe_Attributes();
+ virtual void serialize();
+ virtual void deserialize();
+ protected:
+ private:
+};
+
+/*<END>---------- Ddm_Unsubscribe_Attributes ------------<END>*/
+
+/*<BEGIN>---------- Ddm_Subscribe_Interaction ------------<BEGIN>*/
+class CERTI_EXPORT NM_Ddm_Subscribe_Interaction : public NetworkMessage {
+ public:
+ NM_Ddm_Subscribe_Interaction();
+ virtual ~NM_Ddm_Subscribe_Interaction();
+ virtual void serialize();
+ virtual void deserialize();
+ protected:
+ private:
+};
+
+/*<END>---------- Ddm_Subscribe_Interaction ------------<END>*/
+
+/*<BEGIN>---------- Ddm_Unsubscribe_Interaction ------------<BEGIN>*/
+class CERTI_EXPORT NM_Ddm_Unsubscribe_Interaction : public NetworkMessage {
+ public:
+ NM_Ddm_Unsubscribe_Interaction();
+ virtual ~NM_Ddm_Unsubscribe_Interaction();
+ virtual void serialize();
+ virtual void deserialize();
+ protected:
+ private:
+};
+
+/*<END>---------- Ddm_Unsubscribe_Interaction ------------<END>*/
+
+/*<BEGIN>---------- Provide_Attribute_Value_Update ------------<BEGIN>*/
+class CERTI_EXPORT NM_Provide_Attribute_Value_Update : public NetworkMessage {
+ public:
+ NM_Provide_Attribute_Value_Update();
+ virtual ~NM_Provide_Attribute_Value_Update();
+ virtual void serialize();
+ virtual void deserialize();
+ protected:
+ private:
+};
+
+/*<END>---------- Provide_Attribute_Value_Update ------------<END>*/
+
+/*<BEGIN>---------- Get_Fed_File ------------<BEGIN>*/
+class CERTI_EXPORT NM_Get_Fed_File : public NetworkMessage {
+ public:
+ NM_Get_Fed_File();
+ virtual ~NM_Get_Fed_File();
+ virtual void serialize();
+ virtual void deserialize();
+ protected:
+ private:
+};
+
+/*<END>---------- Get_Fed_File ------------<END>*/
+
+/*<BEGIN>---------- Last ------------<BEGIN>*/
+class CERTI_EXPORT NM_Last : public NetworkMessage {
+ public:
+ NM_Last();
+ virtual ~NM_Last();
+ virtual void serialize();
+ virtual void deserialize();
+ protected:
+ private:
+};
+
+/*<END>---------- Last ------------<END>*/
+
+
+
+}
+
+#endif
Index: libCERTI/NM_Classes.cc
===================================================================
RCS file: libCERTI/NM_Classes.cc
diff -N libCERTI/NM_Classes.cc
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ libCERTI/NM_Classes.cc 18 Mar 2008 15:55:56 -0000 1.1.2.1
@@ -0,0 +1,1384 @@
+// ----------------------------------------------------------------------------
+// CERTI - HLA RunTime Infrastructure
+// Copyright (C) 2002-2005 ONERA
+//
+// This program 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 of
+// the License, or (at your option) any later version.
+//
+// This program 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 program ; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// ----------------------------------------------------------------------------
+
+#include "NM_Classes.hh"
+
+namespace certi {
+
+NetworkMessage* NM_Factory::create(NetworkMessage::Message_T type) {
+ NetworkMessage* msg;
+
+ switch (type) {
+ case NetworkMessage::NOT_USED:
+ msg = new NM_Not_Used();
+ break;
+ case NetworkMessage::CLOSE_CONNEXION:
+ msg = new NM_Close_Connexion();
+ break;
+ case NetworkMessage::MESSAGE_NULL:
+ msg = new NM_Message_Null();
+ break;
+ case NetworkMessage::CREATE_FEDERATION_EXECUTION:
+ msg = new NM_Create_Federation_Execution();
+ break;
+ case NetworkMessage::DESTROY_FEDERATION_EXECUTION:
+ msg = new NM_Destroy_Federation_Execution();
+ break;
+ case NetworkMessage::JOIN_FEDERATION_EXECUTION:
+ msg = new NM_Join_Federation_Execution();
+ break;
+ case NetworkMessage::RESIGN_FEDERATION_EXECUTION:
+ msg = new NM_Resign_Federation_Execution();
+ break;
+ case NetworkMessage::SET_TIME_REGULATING:
+ msg = new NM_Set_Time_Regulating();
+ break;
+ case NetworkMessage::SET_TIME_CONSTRAINED:
+ msg = new NM_Set_Time_Constrained();
+ break;
+ case NetworkMessage::REGISTER_FEDERATION_SYNCHRONIZATION_POINT:
+ msg = new NM_Register_Federation_Synchronization_Point();
+ break;
+ case NetworkMessage::SYNCHRONIZATION_POINT_REGISTRATION_SUCCEEDED:
+ msg = new NM_Synchronization_Point_Registration_Succeeded();
+ break;
+ case NetworkMessage::ANNOUNCE_SYNCHRONIZATION_POINT:
+ msg = new NM_Announce_Synchronization_Point();
+ break;
+ case NetworkMessage::SYNCHRONIZATION_POINT_ACHIEVED:
+ msg = new NM_Synchronization_Point_Achieved();
+ break;
+ case NetworkMessage::FEDERATION_SYNCHRONIZED:
+ msg = new NM_Federation_Synchronized();
+ break;
+ case NetworkMessage::REQUEST_FEDERATION_SAVE:
+ msg = new NM_Request_Federation_Save();
+ break;
+ case NetworkMessage::FEDERATE_SAVE_BEGUN:
+ msg = new NM_Federate_Save_Begun();
+ break;
+ case NetworkMessage::FEDERATE_SAVE_COMPLETE:
+ msg = new NM_Federate_Save_Complete();
+ break;
+ case NetworkMessage::FEDERATE_SAVE_NOT_COMPLETE:
+ msg = new NM_Federate_Save_Not_Complete();
+ break;
+ case NetworkMessage::INITIATE_FEDERATE_SAVE:
+ msg = new NM_Initiate_Federate_Save();
+ break;
+ case NetworkMessage::FEDERATION_SAVED:
+ msg = new NM_Federation_Saved();
+ break;
+ case NetworkMessage::FEDERATION_NOT_SAVED:
+ msg = new NM_Federation_Not_Saved();
+ break;
+ case NetworkMessage::REQUEST_FEDERATION_RESTORE:
+ msg = new NM_Request_Federation_Restore();
+ break;
+ case NetworkMessage::FEDERATE_RESTORE_COMPLETE:
+ msg = new NM_Federate_Restore_Complete();
+ break;
+ case NetworkMessage::FEDERATE_RESTORE_NOT_COMPLETE:
+ msg = new NM_Federate_Restore_Not_Complete();
+ break;
+ case NetworkMessage::REQUEST_FEDERATION_RESTORE_SUCCEEDED:
+ msg = new NM_Request_Federation_Restore_Succeeded();
+ break;
+ case NetworkMessage::REQUEST_FEDERATION_RESTORE_FAILED:
+ msg = new NM_Request_Federation_Restore_Failed();
+ break;
+ case NetworkMessage::FEDERATION_RESTORE_BEGUN:
+ msg = new NM_Federation_Restore_Begun();
+ break;
+ case NetworkMessage::INITIATE_FEDERATE_RESTORE:
+ msg = new NM_Initiate_Federate_Restore();
+ break;
+ case NetworkMessage::FEDERATION_RESTORED:
+ msg = new NM_Federation_Restored();
+ break;
+ case NetworkMessage::FEDERATION_NOT_RESTORED:
+ msg = new NM_Federation_Not_Restored();
+ break;
+ case NetworkMessage::PUBLISH_OBJECT_CLASS:
+ msg = new NM_Publish_Object_Class();
+ break;
+ case NetworkMessage::UNPUBLISH_OBJECT_CLASS:
+ msg = new NM_Unpublish_Object_Class();
+ break;
+ case NetworkMessage::PUBLISH_INTERACTION_CLASS:
+ msg = new NM_Publish_Interaction_Class();
+ break;
+ case NetworkMessage::UNPUBLISH_INTERACTION_CLASS:
+ msg = new NM_Unpublish_Interaction_Class();
+ break;
+ case NetworkMessage::SUBSCRIBE_OBJECT_CLASS:
+ msg = new NM_Subscribe_Object_Class();
+ break;
+ case NetworkMessage::UNSUBSCRIBE_OBJECT_CLASS:
+ msg = new NM_Unsubscribe_Object_Class();
+ break;
+ case NetworkMessage::SUBSCRIBE_INTERACTION_CLASS:
+ msg = new NM_Subscribe_Interaction_Class();
+ break;
+ case NetworkMessage::UNSUBSCRIBE_INTERACTION_CLASS:
+ msg = new NM_Unsubscribe_Interaction_Class();
+ break;
+ case NetworkMessage::TURN_INTERACTIONS_ON:
+ msg = new NM_Turn_Interactions_On();
+ break;
+ case NetworkMessage::TURN_INTERACTIONS_OFF:
+ msg = new NM_Turn_Interactions_Off();
+ break;
+ case NetworkMessage::REGISTER_OBJECT:
+ msg = new NM_Register_Object();
+ break;
+ case NetworkMessage::DISCOVER_OBJECT:
+ msg = new NM_Discover_Object();
+ break;
+ case NetworkMessage::UPDATE_ATTRIBUTE_VALUES:
+ msg = new NM_Update_Attribute_Values();
+ break;
+ case NetworkMessage::REFLECT_ATTRIBUTE_VALUES:
+ msg = new NM_Reflect_Attribute_Values();
+ break;
+ case NetworkMessage::SEND_INTERACTION:
+ msg = new NM_Send_Interaction();
+ break;
+ case NetworkMessage::RECEIVE_INTERACTION:
+ msg = new NM_Receive_Interaction();
+ break;
+ case NetworkMessage::DELETE_OBJECT:
+ msg = new NM_Delete_Object();
+ break;
+ case NetworkMessage::REMOVE_OBJECT:
+ msg = new NM_Remove_Object();
+ break;
+ case NetworkMessage::CHANGE_ATTRIBUTE_TRANSPORT_TYPE:
+ msg = new NM_Change_Attribute_Transport_Type();
+ break;
+ case NetworkMessage::CHANGE_ATTRIBUTE_ORDER_TYPE:
+ msg = new NM_Change_Attribute_Order_Type();
+ break;
+ case NetworkMessage::CHANGE_INTERACTION_TRANSPORT_TYPE:
+ msg = new NM_Change_Interaction_Transport_Type();
+ break;
+ case NetworkMessage::CHANGE_INTERACTION_ORDER_TYPE:
+ msg = new NM_Change_Interaction_Order_Type();
+ break;
+ case NetworkMessage::REQUEST_CLASS_ATTRIBUTE_VALUE_UPDATE:
+ msg = new NM_Request_Class_Attribute_Value_Update();
+ break;
+ case NetworkMessage::REQUEST_OBJECT_ATTRIBUTE_VALUE_UPDATE:
+ msg = new NM_Request_Object_Attribute_Value_Update();
+ break;
+ case NetworkMessage::IS_ATTRIBUTE_OWNED_BY_FEDERATE:
+ msg = new NM_Is_Attribute_Owned_By_Federate();
+ break;
+ case NetworkMessage::QUERY_ATTRIBUTE_OWNERSHIP:
+ msg = new NM_Query_Attribute_Ownership();
+ break;
+ case NetworkMessage::ATTRIBUTE_IS_NOT_OWNED:
+ msg = new NM_Attribute_Is_Not_Owned();
+ break;
+ case NetworkMessage::INFORM_ATTRIBUTE_OWNERSHIP:
+ msg = new NM_Inform_Attribute_Ownership();
+ break;
+ case NetworkMessage::NEGOTIATED_ATTRIBUTE_OWNERSHIP_DIVESTITURE:
+ msg = new NM_Negotiated_Attribute_Ownership_Divestiture();
+ break;
+ case NetworkMessage::ATTRIBUTE_OWNERSHIP_ACQUISITION_NOTIFICATION:
+ msg = new NM_Attribute_Ownership_Acquisition_Notification();
+ break;
+ case NetworkMessage::ATTRIBUTE_OWNERSHIP_DIVESTITURE_NOTIFICATION:
+ msg = new NM_Attribute_Ownership_Divestiture_Notification();
+ break;
+ case NetworkMessage::REQUEST_ATTRIBUTE_OWNERSHIP_ASSUMPTION:
+ msg = new NM_Request_Attribute_Ownership_Assumption();
+ break;
+ case NetworkMessage::ATTRIBUTE_OWNERSHIP_UNAVAILABLE:
+ msg = new NM_Attribute_Ownership_Unavailable();
+ break;
+ case NetworkMessage::ATTRIBUTE_OWNERSHIP_ACQUISITION_IF_AVAILABLE:
+ msg = new NM_Attribute_Ownership_Acquisition_If_Available();
+ break;
+ case NetworkMessage::UNCONDITIONAL_ATTRIBUTE_OWNERSHIP_DIVESTITURE:
+ msg = new NM_Unconditional_Attribute_Ownership_Divestiture();
+ break;
+ case NetworkMessage::ATTRIBUTE_OWNERSHIP_ACQUISITION:
+ msg = new NM_Attribute_Ownership_Acquisition();
+ break;
+ case NetworkMessage::REQUEST_ATTRIBUTE_OWNERSHIP_RELEASE:
+ msg = new NM_Request_Attribute_Ownership_Release();
+ break;
+ case NetworkMessage::CANCEL_NEGOTIATED_ATTRIBUTE_OWNERSHIP_DIVESTITURE:
+ msg = new NM_Cancel_Negotiated_Attribute_Ownership_Divestiture();
+ break;
+ case NetworkMessage::ATTRIBUTE_OWNERSHIP_RELEASE_RESPONSE:
+ msg = new NM_Attribute_Ownership_Release_Response();
+ break;
+ case NetworkMessage::CANCEL_ATTRIBUTE_OWNERSHIP_ACQUISITION:
+ msg = new NM_Cancel_Attribute_Ownership_Acquisition();
+ break;
+ case
NetworkMessage::CONFIRM_ATTRIBUTE_OWNERSHIP_ACQUISITION_CANCELLATION:
+ msg = new NM_Confirm_Attribute_Ownership_Acquisition_Cancellation();
+ break;
+ case NetworkMessage::DDM_CREATE_REGION:
+ msg = new NM_Ddm_Create_Region();
+ break;
+ case NetworkMessage::DDM_MODIFY_REGION:
+ msg = new NM_Ddm_Modify_Region();
+ break;
+ case NetworkMessage::DDM_DELETE_REGION:
+ msg = new NM_Ddm_Delete_Region();
+ break;
+ case NetworkMessage::DDM_ASSOCIATE_REGION:
+ msg = new NM_Ddm_Associate_Region();
+ break;
+ case NetworkMessage::DDM_REGISTER_OBJECT:
+ msg = new NM_Ddm_Register_Object();
+ break;
+ case NetworkMessage::DDM_UNASSOCIATE_REGION:
+ msg = new NM_Ddm_Unassociate_Region();
+ break;
+ case NetworkMessage::DDM_SUBSCRIBE_ATTRIBUTES:
+ msg = new NM_Ddm_Subscribe_Attributes();
+ break;
+ case NetworkMessage::DDM_UNSUBSCRIBE_ATTRIBUTES:
+ msg = new NM_Ddm_Unsubscribe_Attributes();
+ break;
+ case NetworkMessage::DDM_SUBSCRIBE_INTERACTION:
+ msg = new NM_Ddm_Subscribe_Interaction();
+ break;
+ case NetworkMessage::DDM_UNSUBSCRIBE_INTERACTION:
+ msg = new NM_Ddm_Unsubscribe_Interaction();
+ break;
+ case NetworkMessage::PROVIDE_ATTRIBUTE_VALUE_UPDATE:
+ msg = new NM_Provide_Attribute_Value_Update();
+ break;
+ case NetworkMessage::GET_FED_FILE:
+ msg = new NM_Get_Fed_File();
+ break;
+ case NetworkMessage::LAST:
+ msg = new NM_Last();
+ break;
+
+ default:
+ throw RTIinternalError("Unknown/Unimplemented message Type");
+ }
+} /* end of NM_Factory::create */
+
+/*<BEGIN>---------- Not_Used ------------<BEGIN>*/
+NM_Not_Used::NM_Not_Used() {
+ this->type = NetworkMessage::NOT_USED;
+ this->name = "NOT_USED";
+}
+NM_Not_Used::~NM_Not_Used() {
+}
+void NM_Not_Used::serialize() {
+}
+void NM_Not_Used::deserialize() {
+}
+/*<END>---------- Not_Used ------------<END>*/
+
+/*<BEGIN>---------- Close_Connexion ------------<BEGIN>*/
+NM_Close_Connexion::NM_Close_Connexion() {
+ this->type = NetworkMessage::CLOSE_CONNEXION;
+ this->name = "CLOSE_CONNEXION";
+}
+NM_Close_Connexion::~NM_Close_Connexion() {
+}
+void NM_Close_Connexion::serialize() {
+}
+void NM_Close_Connexion::deserialize() {
+}
+/*<END>---------- Close_Connexion ------------<END>*/
+
+/*<BEGIN>---------- Message_Null ------------<BEGIN>*/
+NM_Message_Null::NM_Message_Null() {
+ this->type = NetworkMessage::MESSAGE_NULL;
+ this->name = "MESSAGE_NULL";
+}
+NM_Message_Null::~NM_Message_Null() {
+}
+void NM_Message_Null::serialize() {
+}
+void NM_Message_Null::deserialize() {
+}
+/*<END>---------- Message_Null ------------<END>*/
+
+/*<BEGIN>---------- Create_Federation_Execution ------------<BEGIN>*/
+NM_Create_Federation_Execution::NM_Create_Federation_Execution() {
+ this->type = NetworkMessage::CREATE_FEDERATION_EXECUTION;
+ this->name = "CREATE_FEDERATION_EXECUTION";
+}
+NM_Create_Federation_Execution::~NM_Create_Federation_Execution() {
+}
+void NM_Create_Federation_Execution::serialize() {
+}
+void NM_Create_Federation_Execution::deserialize() {
+}
+/*<END>---------- Create_Federation_Execution ------------<END>*/
+
+/*<BEGIN>---------- Destroy_Federation_Execution ------------<BEGIN>*/
+NM_Destroy_Federation_Execution::NM_Destroy_Federation_Execution() {
+ this->type = NetworkMessage::DESTROY_FEDERATION_EXECUTION;
+ this->name = "DESTROY_FEDERATION_EXECUTION";
+}
+NM_Destroy_Federation_Execution::~NM_Destroy_Federation_Execution() {
+}
+void NM_Destroy_Federation_Execution::serialize() {
+}
+void NM_Destroy_Federation_Execution::deserialize() {
+}
+/*<END>---------- Destroy_Federation_Execution ------------<END>*/
+
+/*<BEGIN>---------- Join_Federation_Execution ------------<BEGIN>*/
+NM_Join_Federation_Execution::NM_Join_Federation_Execution() {
+ this->type = NetworkMessage::JOIN_FEDERATION_EXECUTION;
+ this->name = "JOIN_FEDERATION_EXECUTION";
+}
+NM_Join_Federation_Execution::~NM_Join_Federation_Execution() {
+}
+void NM_Join_Federation_Execution::serialize() {
+}
+void NM_Join_Federation_Execution::deserialize() {
+}
+/*<END>---------- Join_Federation_Execution ------------<END>*/
+
+/*<BEGIN>---------- Resign_Federation_Execution ------------<BEGIN>*/
+NM_Resign_Federation_Execution::NM_Resign_Federation_Execution() {
+ this->type = NetworkMessage::RESIGN_FEDERATION_EXECUTION;
+ this->name = "RESIGN_FEDERATION_EXECUTION";
+}
+NM_Resign_Federation_Execution::~NM_Resign_Federation_Execution() {
+}
+void NM_Resign_Federation_Execution::serialize() {
+}
+void NM_Resign_Federation_Execution::deserialize() {
+}
+/*<END>---------- Resign_Federation_Execution ------------<END>*/
+
+/*<BEGIN>---------- Set_Time_Regulating ------------<BEGIN>*/
+NM_Set_Time_Regulating::NM_Set_Time_Regulating() {
+ this->type = NetworkMessage::SET_TIME_REGULATING;
+ this->name = "SET_TIME_REGULATING";
+}
+NM_Set_Time_Regulating::~NM_Set_Time_Regulating() {
+}
+void NM_Set_Time_Regulating::serialize() {
+}
+void NM_Set_Time_Regulating::deserialize() {
+}
+/*<END>---------- Set_Time_Regulating ------------<END>*/
+
+/*<BEGIN>---------- Set_Time_Constrained ------------<BEGIN>*/
+NM_Set_Time_Constrained::NM_Set_Time_Constrained() {
+ this->type = NetworkMessage::SET_TIME_CONSTRAINED;
+ this->name = "SET_TIME_CONSTRAINED";
+}
+NM_Set_Time_Constrained::~NM_Set_Time_Constrained() {
+}
+void NM_Set_Time_Constrained::serialize() {
+}
+void NM_Set_Time_Constrained::deserialize() {
+}
+/*<END>---------- Set_Time_Constrained ------------<END>*/
+
+/*<BEGIN>---------- Register_Federation_Synchronization_Point
------------<BEGIN>*/
+NM_Register_Federation_Synchronization_Point::NM_Register_Federation_Synchronization_Point()
{
+ this->type = NetworkMessage::REGISTER_FEDERATION_SYNCHRONIZATION_POINT;
+ this->name = "REGISTER_FEDERATION_SYNCHRONIZATION_POINT";
+}
+NM_Register_Federation_Synchronization_Point::~NM_Register_Federation_Synchronization_Point()
{
+}
+void NM_Register_Federation_Synchronization_Point::serialize() {
+}
+void NM_Register_Federation_Synchronization_Point::deserialize() {
+}
+/*<END>---------- Register_Federation_Synchronization_Point ------------<END>*/
+
+/*<BEGIN>---------- Synchronization_Point_Registration_Succeeded
------------<BEGIN>*/
+NM_Synchronization_Point_Registration_Succeeded::NM_Synchronization_Point_Registration_Succeeded()
{
+ this->type = NetworkMessage::SYNCHRONIZATION_POINT_REGISTRATION_SUCCEEDED;
+ this->name = "SYNCHRONIZATION_POINT_REGISTRATION_SUCCEEDED";
+}
+NM_Synchronization_Point_Registration_Succeeded::~NM_Synchronization_Point_Registration_Succeeded()
{
+}
+void NM_Synchronization_Point_Registration_Succeeded::serialize() {
+}
+void NM_Synchronization_Point_Registration_Succeeded::deserialize() {
+}
+/*<END>---------- Synchronization_Point_Registration_Succeeded
------------<END>*/
+
+/*<BEGIN>---------- Announce_Synchronization_Point ------------<BEGIN>*/
+NM_Announce_Synchronization_Point::NM_Announce_Synchronization_Point() {
+ this->type = NetworkMessage::ANNOUNCE_SYNCHRONIZATION_POINT;
+ this->name = "ANNOUNCE_SYNCHRONIZATION_POINT";
+}
+NM_Announce_Synchronization_Point::~NM_Announce_Synchronization_Point() {
+}
+void NM_Announce_Synchronization_Point::serialize() {
+}
+void NM_Announce_Synchronization_Point::deserialize() {
+}
+/*<END>---------- Announce_Synchronization_Point ------------<END>*/
+
+/*<BEGIN>---------- Synchronization_Point_Achieved ------------<BEGIN>*/
+NM_Synchronization_Point_Achieved::NM_Synchronization_Point_Achieved() {
+ this->type = NetworkMessage::SYNCHRONIZATION_POINT_ACHIEVED;
+ this->name = "SYNCHRONIZATION_POINT_ACHIEVED";
+}
+NM_Synchronization_Point_Achieved::~NM_Synchronization_Point_Achieved() {
+}
+void NM_Synchronization_Point_Achieved::serialize() {
+}
+void NM_Synchronization_Point_Achieved::deserialize() {
+}
+/*<END>---------- Synchronization_Point_Achieved ------------<END>*/
+
+/*<BEGIN>---------- Federation_Synchronized ------------<BEGIN>*/
+NM_Federation_Synchronized::NM_Federation_Synchronized() {
+ this->type = NetworkMessage::FEDERATION_SYNCHRONIZED;
+ this->name = "FEDERATION_SYNCHRONIZED";
+}
+NM_Federation_Synchronized::~NM_Federation_Synchronized() {
+}
+void NM_Federation_Synchronized::serialize() {
+}
+void NM_Federation_Synchronized::deserialize() {
+}
+/*<END>---------- Federation_Synchronized ------------<END>*/
+
+/*<BEGIN>---------- Request_Federation_Save ------------<BEGIN>*/
+NM_Request_Federation_Save::NM_Request_Federation_Save() {
+ this->type = NetworkMessage::REQUEST_FEDERATION_SAVE;
+ this->name = "REQUEST_FEDERATION_SAVE";
+}
+NM_Request_Federation_Save::~NM_Request_Federation_Save() {
+}
+void NM_Request_Federation_Save::serialize() {
+}
+void NM_Request_Federation_Save::deserialize() {
+}
+/*<END>---------- Request_Federation_Save ------------<END>*/
+
+/*<BEGIN>---------- Federate_Save_Begun ------------<BEGIN>*/
+NM_Federate_Save_Begun::NM_Federate_Save_Begun() {
+ this->type = NetworkMessage::FEDERATE_SAVE_BEGUN;
+ this->name = "FEDERATE_SAVE_BEGUN";
+}
+NM_Federate_Save_Begun::~NM_Federate_Save_Begun() {
+}
+void NM_Federate_Save_Begun::serialize() {
+}
+void NM_Federate_Save_Begun::deserialize() {
+}
+/*<END>---------- Federate_Save_Begun ------------<END>*/
+
+/*<BEGIN>---------- Federate_Save_Complete ------------<BEGIN>*/
+NM_Federate_Save_Complete::NM_Federate_Save_Complete() {
+ this->type = NetworkMessage::FEDERATE_SAVE_COMPLETE;
+ this->name = "FEDERATE_SAVE_COMPLETE";
+}
+NM_Federate_Save_Complete::~NM_Federate_Save_Complete() {
+}
+void NM_Federate_Save_Complete::serialize() {
+}
+void NM_Federate_Save_Complete::deserialize() {
+}
+/*<END>---------- Federate_Save_Complete ------------<END>*/
+
+/*<BEGIN>---------- Federate_Save_Not_Complete ------------<BEGIN>*/
+NM_Federate_Save_Not_Complete::NM_Federate_Save_Not_Complete() {
+ this->type = NetworkMessage::FEDERATE_SAVE_NOT_COMPLETE;
+ this->name = "FEDERATE_SAVE_NOT_COMPLETE";
+}
+NM_Federate_Save_Not_Complete::~NM_Federate_Save_Not_Complete() {
+}
+void NM_Federate_Save_Not_Complete::serialize() {
+}
+void NM_Federate_Save_Not_Complete::deserialize() {
+}
+/*<END>---------- Federate_Save_Not_Complete ------------<END>*/
+
+/*<BEGIN>---------- Initiate_Federate_Save ------------<BEGIN>*/
+NM_Initiate_Federate_Save::NM_Initiate_Federate_Save() {
+ this->type = NetworkMessage::INITIATE_FEDERATE_SAVE;
+ this->name = "INITIATE_FEDERATE_SAVE";
+}
+NM_Initiate_Federate_Save::~NM_Initiate_Federate_Save() {
+}
+void NM_Initiate_Federate_Save::serialize() {
+}
+void NM_Initiate_Federate_Save::deserialize() {
+}
+/*<END>---------- Initiate_Federate_Save ------------<END>*/
+
+/*<BEGIN>---------- Federation_Saved ------------<BEGIN>*/
+NM_Federation_Saved::NM_Federation_Saved() {
+ this->type = NetworkMessage::FEDERATION_SAVED;
+ this->name = "FEDERATION_SAVED";
+}
+NM_Federation_Saved::~NM_Federation_Saved() {
+}
+void NM_Federation_Saved::serialize() {
+}
+void NM_Federation_Saved::deserialize() {
+}
+/*<END>---------- Federation_Saved ------------<END>*/
+
+/*<BEGIN>---------- Federation_Not_Saved ------------<BEGIN>*/
+NM_Federation_Not_Saved::NM_Federation_Not_Saved() {
+ this->type = NetworkMessage::FEDERATION_NOT_SAVED;
+ this->name = "FEDERATION_NOT_SAVED";
+}
+NM_Federation_Not_Saved::~NM_Federation_Not_Saved() {
+}
+void NM_Federation_Not_Saved::serialize() {
+}
+void NM_Federation_Not_Saved::deserialize() {
+}
+/*<END>---------- Federation_Not_Saved ------------<END>*/
+
+/*<BEGIN>---------- Request_Federation_Restore ------------<BEGIN>*/
+NM_Request_Federation_Restore::NM_Request_Federation_Restore() {
+ this->type = NetworkMessage::REQUEST_FEDERATION_RESTORE;
+ this->name = "REQUEST_FEDERATION_RESTORE";
+}
+NM_Request_Federation_Restore::~NM_Request_Federation_Restore() {
+}
+void NM_Request_Federation_Restore::serialize() {
+}
+void NM_Request_Federation_Restore::deserialize() {
+}
+/*<END>---------- Request_Federation_Restore ------------<END>*/
+
+/*<BEGIN>---------- Federate_Restore_Complete ------------<BEGIN>*/
+NM_Federate_Restore_Complete::NM_Federate_Restore_Complete() {
+ this->type = NetworkMessage::FEDERATE_RESTORE_COMPLETE;
+ this->name = "FEDERATE_RESTORE_COMPLETE";
+}
+NM_Federate_Restore_Complete::~NM_Federate_Restore_Complete() {
+}
+void NM_Federate_Restore_Complete::serialize() {
+}
+void NM_Federate_Restore_Complete::deserialize() {
+}
+/*<END>---------- Federate_Restore_Complete ------------<END>*/
+
+/*<BEGIN>---------- Federate_Restore_Not_Complete ------------<BEGIN>*/
+NM_Federate_Restore_Not_Complete::NM_Federate_Restore_Not_Complete() {
+ this->type = NetworkMessage::FEDERATE_RESTORE_NOT_COMPLETE;
+ this->name = "FEDERATE_RESTORE_NOT_COMPLETE";
+}
+NM_Federate_Restore_Not_Complete::~NM_Federate_Restore_Not_Complete() {
+}
+void NM_Federate_Restore_Not_Complete::serialize() {
+}
+void NM_Federate_Restore_Not_Complete::deserialize() {
+}
+/*<END>---------- Federate_Restore_Not_Complete ------------<END>*/
+
+/*<BEGIN>---------- Request_Federation_Restore_Succeeded ------------<BEGIN>*/
+NM_Request_Federation_Restore_Succeeded::NM_Request_Federation_Restore_Succeeded()
{
+ this->type = NetworkMessage::REQUEST_FEDERATION_RESTORE_SUCCEEDED;
+ this->name = "REQUEST_FEDERATION_RESTORE_SUCCEEDED";
+}
+NM_Request_Federation_Restore_Succeeded::~NM_Request_Federation_Restore_Succeeded()
{
+}
+void NM_Request_Federation_Restore_Succeeded::serialize() {
+}
+void NM_Request_Federation_Restore_Succeeded::deserialize() {
+}
+/*<END>---------- Request_Federation_Restore_Succeeded ------------<END>*/
+
+/*<BEGIN>---------- Request_Federation_Restore_Failed ------------<BEGIN>*/
+NM_Request_Federation_Restore_Failed::NM_Request_Federation_Restore_Failed() {
+ this->type = NetworkMessage::REQUEST_FEDERATION_RESTORE_FAILED;
+ this->name = "REQUEST_FEDERATION_RESTORE_FAILED";
+}
+NM_Request_Federation_Restore_Failed::~NM_Request_Federation_Restore_Failed() {
+}
+void NM_Request_Federation_Restore_Failed::serialize() {
+}
+void NM_Request_Federation_Restore_Failed::deserialize() {
+}
+/*<END>---------- Request_Federation_Restore_Failed ------------<END>*/
+
+/*<BEGIN>---------- Federation_Restore_Begun ------------<BEGIN>*/
+NM_Federation_Restore_Begun::NM_Federation_Restore_Begun() {
+ this->type = NetworkMessage::FEDERATION_RESTORE_BEGUN;
+ this->name = "FEDERATION_RESTORE_BEGUN";
+}
+NM_Federation_Restore_Begun::~NM_Federation_Restore_Begun() {
+}
+void NM_Federation_Restore_Begun::serialize() {
+}
+void NM_Federation_Restore_Begun::deserialize() {
+}
+/*<END>---------- Federation_Restore_Begun ------------<END>*/
+
+/*<BEGIN>---------- Initiate_Federate_Restore ------------<BEGIN>*/
+NM_Initiate_Federate_Restore::NM_Initiate_Federate_Restore() {
+ this->type = NetworkMessage::INITIATE_FEDERATE_RESTORE;
+ this->name = "INITIATE_FEDERATE_RESTORE";
+}
+NM_Initiate_Federate_Restore::~NM_Initiate_Federate_Restore() {
+}
+void NM_Initiate_Federate_Restore::serialize() {
+}
+void NM_Initiate_Federate_Restore::deserialize() {
+}
+/*<END>---------- Initiate_Federate_Restore ------------<END>*/
+
+/*<BEGIN>---------- Federation_Restored ------------<BEGIN>*/
+NM_Federation_Restored::NM_Federation_Restored() {
+ this->type = NetworkMessage::FEDERATION_RESTORED;
+ this->name = "FEDERATION_RESTORED";
+}
+NM_Federation_Restored::~NM_Federation_Restored() {
+}
+void NM_Federation_Restored::serialize() {
+}
+void NM_Federation_Restored::deserialize() {
+}
+/*<END>---------- Federation_Restored ------------<END>*/
+
+/*<BEGIN>---------- Federation_Not_Restored ------------<BEGIN>*/
+NM_Federation_Not_Restored::NM_Federation_Not_Restored() {
+ this->type = NetworkMessage::FEDERATION_NOT_RESTORED;
+ this->name = "FEDERATION_NOT_RESTORED";
+}
+NM_Federation_Not_Restored::~NM_Federation_Not_Restored() {
+}
+void NM_Federation_Not_Restored::serialize() {
+}
+void NM_Federation_Not_Restored::deserialize() {
+}
+/*<END>---------- Federation_Not_Restored ------------<END>*/
+
+/*<BEGIN>---------- Publish_Object_Class ------------<BEGIN>*/
+NM_Publish_Object_Class::NM_Publish_Object_Class() {
+ this->type = NetworkMessage::PUBLISH_OBJECT_CLASS;
+ this->name = "PUBLISH_OBJECT_CLASS";
+}
+NM_Publish_Object_Class::~NM_Publish_Object_Class() {
+}
+void NM_Publish_Object_Class::serialize() {
+}
+void NM_Publish_Object_Class::deserialize() {
+}
+/*<END>---------- Publish_Object_Class ------------<END>*/
+
+/*<BEGIN>---------- Unpublish_Object_Class ------------<BEGIN>*/
+NM_Unpublish_Object_Class::NM_Unpublish_Object_Class() {
+ this->type = NetworkMessage::UNPUBLISH_OBJECT_CLASS;
+ this->name = "UNPUBLISH_OBJECT_CLASS";
+}
+NM_Unpublish_Object_Class::~NM_Unpublish_Object_Class() {
+}
+void NM_Unpublish_Object_Class::serialize() {
+}
+void NM_Unpublish_Object_Class::deserialize() {
+}
+/*<END>---------- Unpublish_Object_Class ------------<END>*/
+
+/*<BEGIN>---------- Publish_Interaction_Class ------------<BEGIN>*/
+NM_Publish_Interaction_Class::NM_Publish_Interaction_Class() {
+ this->type = NetworkMessage::PUBLISH_INTERACTION_CLASS;
+ this->name = "PUBLISH_INTERACTION_CLASS";
+}
+NM_Publish_Interaction_Class::~NM_Publish_Interaction_Class() {
+}
+void NM_Publish_Interaction_Class::serialize() {
+}
+void NM_Publish_Interaction_Class::deserialize() {
+}
+/*<END>---------- Publish_Interaction_Class ------------<END>*/
+
+/*<BEGIN>---------- Unpublish_Interaction_Class ------------<BEGIN>*/
+NM_Unpublish_Interaction_Class::NM_Unpublish_Interaction_Class() {
+ this->type = NetworkMessage::UNPUBLISH_INTERACTION_CLASS;
+ this->name = "UNPUBLISH_INTERACTION_CLASS";
+}
+NM_Unpublish_Interaction_Class::~NM_Unpublish_Interaction_Class() {
+}
+void NM_Unpublish_Interaction_Class::serialize() {
+}
+void NM_Unpublish_Interaction_Class::deserialize() {
+}
+/*<END>---------- Unpublish_Interaction_Class ------------<END>*/
+
+/*<BEGIN>---------- Subscribe_Object_Class ------------<BEGIN>*/
+NM_Subscribe_Object_Class::NM_Subscribe_Object_Class() {
+ this->type = NetworkMessage::SUBSCRIBE_OBJECT_CLASS;
+ this->name = "SUBSCRIBE_OBJECT_CLASS";
+}
+NM_Subscribe_Object_Class::~NM_Subscribe_Object_Class() {
+}
+void NM_Subscribe_Object_Class::serialize() {
+}
+void NM_Subscribe_Object_Class::deserialize() {
+}
+/*<END>---------- Subscribe_Object_Class ------------<END>*/
+
+/*<BEGIN>---------- Unsubscribe_Object_Class ------------<BEGIN>*/
+NM_Unsubscribe_Object_Class::NM_Unsubscribe_Object_Class() {
+ this->type = NetworkMessage::UNSUBSCRIBE_OBJECT_CLASS;
+ this->name = "UNSUBSCRIBE_OBJECT_CLASS";
+}
+NM_Unsubscribe_Object_Class::~NM_Unsubscribe_Object_Class() {
+}
+void NM_Unsubscribe_Object_Class::serialize() {
+}
+void NM_Unsubscribe_Object_Class::deserialize() {
+}
+/*<END>---------- Unsubscribe_Object_Class ------------<END>*/
+
+/*<BEGIN>---------- Subscribe_Interaction_Class ------------<BEGIN>*/
+NM_Subscribe_Interaction_Class::NM_Subscribe_Interaction_Class() {
+ this->type = NetworkMessage::SUBSCRIBE_INTERACTION_CLASS;
+ this->name = "SUBSCRIBE_INTERACTION_CLASS";
+}
+NM_Subscribe_Interaction_Class::~NM_Subscribe_Interaction_Class() {
+}
+void NM_Subscribe_Interaction_Class::serialize() {
+}
+void NM_Subscribe_Interaction_Class::deserialize() {
+}
+/*<END>---------- Subscribe_Interaction_Class ------------<END>*/
+
+/*<BEGIN>---------- Unsubscribe_Interaction_Class ------------<BEGIN>*/
+NM_Unsubscribe_Interaction_Class::NM_Unsubscribe_Interaction_Class() {
+ this->type = NetworkMessage::UNSUBSCRIBE_INTERACTION_CLASS;
+ this->name = "UNSUBSCRIBE_INTERACTION_CLASS";
+}
+NM_Unsubscribe_Interaction_Class::~NM_Unsubscribe_Interaction_Class() {
+}
+void NM_Unsubscribe_Interaction_Class::serialize() {
+}
+void NM_Unsubscribe_Interaction_Class::deserialize() {
+}
+/*<END>---------- Unsubscribe_Interaction_Class ------------<END>*/
+
+/*<BEGIN>---------- Turn_Interactions_On ------------<BEGIN>*/
+NM_Turn_Interactions_On::NM_Turn_Interactions_On() {
+ this->type = NetworkMessage::TURN_INTERACTIONS_ON;
+ this->name = "TURN_INTERACTIONS_ON";
+}
+NM_Turn_Interactions_On::~NM_Turn_Interactions_On() {
+}
+void NM_Turn_Interactions_On::serialize() {
+}
+void NM_Turn_Interactions_On::deserialize() {
+}
+/*<END>---------- Turn_Interactions_On ------------<END>*/
+
+/*<BEGIN>---------- Turn_Interactions_Off ------------<BEGIN>*/
+NM_Turn_Interactions_Off::NM_Turn_Interactions_Off() {
+ this->type = NetworkMessage::TURN_INTERACTIONS_OFF;
+ this->name = "TURN_INTERACTIONS_OFF";
+}
+NM_Turn_Interactions_Off::~NM_Turn_Interactions_Off() {
+}
+void NM_Turn_Interactions_Off::serialize() {
+}
+void NM_Turn_Interactions_Off::deserialize() {
+}
+/*<END>---------- Turn_Interactions_Off ------------<END>*/
+
+/*<BEGIN>---------- Register_Object ------------<BEGIN>*/
+NM_Register_Object::NM_Register_Object() {
+ this->type = NetworkMessage::REGISTER_OBJECT;
+ this->name = "REGISTER_OBJECT";
+}
+NM_Register_Object::~NM_Register_Object() {
+}
+void NM_Register_Object::serialize() {
+}
+void NM_Register_Object::deserialize() {
+}
+/*<END>---------- Register_Object ------------<END>*/
+
+/*<BEGIN>---------- Discover_Object ------------<BEGIN>*/
+NM_Discover_Object::NM_Discover_Object() {
+ this->type = NetworkMessage::DISCOVER_OBJECT;
+ this->name = "DISCOVER_OBJECT";
+}
+NM_Discover_Object::~NM_Discover_Object() {
+}
+void NM_Discover_Object::serialize() {
+}
+void NM_Discover_Object::deserialize() {
+}
+/*<END>---------- Discover_Object ------------<END>*/
+
+/*<BEGIN>---------- Update_Attribute_Values ------------<BEGIN>*/
+NM_Update_Attribute_Values::NM_Update_Attribute_Values() {
+ this->type = NetworkMessage::UPDATE_ATTRIBUTE_VALUES;
+ this->name = "UPDATE_ATTRIBUTE_VALUES";
+}
+NM_Update_Attribute_Values::~NM_Update_Attribute_Values() {
+}
+void NM_Update_Attribute_Values::serialize() {
+}
+void NM_Update_Attribute_Values::deserialize() {
+}
+/*<END>---------- Update_Attribute_Values ------------<END>*/
+
+/*<BEGIN>---------- Reflect_Attribute_Values ------------<BEGIN>*/
+NM_Reflect_Attribute_Values::NM_Reflect_Attribute_Values() {
+ this->type = NetworkMessage::REFLECT_ATTRIBUTE_VALUES;
+ this->name = "REFLECT_ATTRIBUTE_VALUES";
+}
+NM_Reflect_Attribute_Values::~NM_Reflect_Attribute_Values() {
+}
+void NM_Reflect_Attribute_Values::serialize() {
+}
+void NM_Reflect_Attribute_Values::deserialize() {
+}
+/*<END>---------- Reflect_Attribute_Values ------------<END>*/
+
+/*<BEGIN>---------- Send_Interaction ------------<BEGIN>*/
+NM_Send_Interaction::NM_Send_Interaction() {
+ this->type = NetworkMessage::SEND_INTERACTION;
+ this->name = "SEND_INTERACTION";
+}
+NM_Send_Interaction::~NM_Send_Interaction() {
+}
+void NM_Send_Interaction::serialize() {
+}
+void NM_Send_Interaction::deserialize() {
+}
+/*<END>---------- Send_Interaction ------------<END>*/
+
+/*<BEGIN>---------- Receive_Interaction ------------<BEGIN>*/
+NM_Receive_Interaction::NM_Receive_Interaction() {
+ this->type = NetworkMessage::RECEIVE_INTERACTION;
+ this->name = "RECEIVE_INTERACTION";
+}
+NM_Receive_Interaction::~NM_Receive_Interaction() {
+}
+void NM_Receive_Interaction::serialize() {
+}
+void NM_Receive_Interaction::deserialize() {
+}
+/*<END>---------- Receive_Interaction ------------<END>*/
+
+/*<BEGIN>---------- Delete_Object ------------<BEGIN>*/
+NM_Delete_Object::NM_Delete_Object() {
+ this->type = NetworkMessage::DELETE_OBJECT;
+ this->name = "DELETE_OBJECT";
+}
+NM_Delete_Object::~NM_Delete_Object() {
+}
+void NM_Delete_Object::serialize() {
+}
+void NM_Delete_Object::deserialize() {
+}
+/*<END>---------- Delete_Object ------------<END>*/
+
+/*<BEGIN>---------- Remove_Object ------------<BEGIN>*/
+NM_Remove_Object::NM_Remove_Object() {
+ this->type = NetworkMessage::REMOVE_OBJECT;
+ this->name = "REMOVE_OBJECT";
+}
+NM_Remove_Object::~NM_Remove_Object() {
+}
+void NM_Remove_Object::serialize() {
+}
+void NM_Remove_Object::deserialize() {
+}
+/*<END>---------- Remove_Object ------------<END>*/
+
+/*<BEGIN>---------- Change_Attribute_Transport_Type ------------<BEGIN>*/
+NM_Change_Attribute_Transport_Type::NM_Change_Attribute_Transport_Type() {
+ this->type = NetworkMessage::CHANGE_ATTRIBUTE_TRANSPORT_TYPE;
+ this->name = "CHANGE_ATTRIBUTE_TRANSPORT_TYPE";
+}
+NM_Change_Attribute_Transport_Type::~NM_Change_Attribute_Transport_Type() {
+}
+void NM_Change_Attribute_Transport_Type::serialize() {
+}
+void NM_Change_Attribute_Transport_Type::deserialize() {
+}
+/*<END>---------- Change_Attribute_Transport_Type ------------<END>*/
+
+/*<BEGIN>---------- Change_Attribute_Order_Type ------------<BEGIN>*/
+NM_Change_Attribute_Order_Type::NM_Change_Attribute_Order_Type() {
+ this->type = NetworkMessage::CHANGE_ATTRIBUTE_ORDER_TYPE;
+ this->name = "CHANGE_ATTRIBUTE_ORDER_TYPE";
+}
+NM_Change_Attribute_Order_Type::~NM_Change_Attribute_Order_Type() {
+}
+void NM_Change_Attribute_Order_Type::serialize() {
+}
+void NM_Change_Attribute_Order_Type::deserialize() {
+}
+/*<END>---------- Change_Attribute_Order_Type ------------<END>*/
+
+/*<BEGIN>---------- Change_Interaction_Transport_Type ------------<BEGIN>*/
+NM_Change_Interaction_Transport_Type::NM_Change_Interaction_Transport_Type() {
+ this->type = NetworkMessage::CHANGE_INTERACTION_TRANSPORT_TYPE;
+ this->name = "CHANGE_INTERACTION_TRANSPORT_TYPE";
+}
+NM_Change_Interaction_Transport_Type::~NM_Change_Interaction_Transport_Type() {
+}
+void NM_Change_Interaction_Transport_Type::serialize() {
+}
+void NM_Change_Interaction_Transport_Type::deserialize() {
+}
+/*<END>---------- Change_Interaction_Transport_Type ------------<END>*/
+
+/*<BEGIN>---------- Change_Interaction_Order_Type ------------<BEGIN>*/
+NM_Change_Interaction_Order_Type::NM_Change_Interaction_Order_Type() {
+ this->type = NetworkMessage::CHANGE_INTERACTION_ORDER_TYPE;
+ this->name = "CHANGE_INTERACTION_ORDER_TYPE";
+}
+NM_Change_Interaction_Order_Type::~NM_Change_Interaction_Order_Type() {
+}
+void NM_Change_Interaction_Order_Type::serialize() {
+}
+void NM_Change_Interaction_Order_Type::deserialize() {
+}
+/*<END>---------- Change_Interaction_Order_Type ------------<END>*/
+
+/*<BEGIN>---------- Request_Class_Attribute_Value_Update ------------<BEGIN>*/
+NM_Request_Class_Attribute_Value_Update::NM_Request_Class_Attribute_Value_Update()
{
+ this->type = NetworkMessage::REQUEST_CLASS_ATTRIBUTE_VALUE_UPDATE;
+ this->name = "REQUEST_CLASS_ATTRIBUTE_VALUE_UPDATE";
+}
+NM_Request_Class_Attribute_Value_Update::~NM_Request_Class_Attribute_Value_Update()
{
+}
+void NM_Request_Class_Attribute_Value_Update::serialize() {
+}
+void NM_Request_Class_Attribute_Value_Update::deserialize() {
+}
+/*<END>---------- Request_Class_Attribute_Value_Update ------------<END>*/
+
+/*<BEGIN>---------- Request_Object_Attribute_Value_Update ------------<BEGIN>*/
+NM_Request_Object_Attribute_Value_Update::NM_Request_Object_Attribute_Value_Update()
{
+ this->type = NetworkMessage::REQUEST_OBJECT_ATTRIBUTE_VALUE_UPDATE;
+ this->name = "REQUEST_OBJECT_ATTRIBUTE_VALUE_UPDATE";
+}
+NM_Request_Object_Attribute_Value_Update::~NM_Request_Object_Attribute_Value_Update()
{
+}
+void NM_Request_Object_Attribute_Value_Update::serialize() {
+}
+void NM_Request_Object_Attribute_Value_Update::deserialize() {
+}
+/*<END>---------- Request_Object_Attribute_Value_Update ------------<END>*/
+
+/*<BEGIN>---------- Is_Attribute_Owned_By_Federate ------------<BEGIN>*/
+NM_Is_Attribute_Owned_By_Federate::NM_Is_Attribute_Owned_By_Federate() {
+ this->type = NetworkMessage::IS_ATTRIBUTE_OWNED_BY_FEDERATE;
+ this->name = "IS_ATTRIBUTE_OWNED_BY_FEDERATE";
+}
+NM_Is_Attribute_Owned_By_Federate::~NM_Is_Attribute_Owned_By_Federate() {
+}
+void NM_Is_Attribute_Owned_By_Federate::serialize() {
+}
+void NM_Is_Attribute_Owned_By_Federate::deserialize() {
+}
+/*<END>---------- Is_Attribute_Owned_By_Federate ------------<END>*/
+
+/*<BEGIN>---------- Query_Attribute_Ownership ------------<BEGIN>*/
+NM_Query_Attribute_Ownership::NM_Query_Attribute_Ownership() {
+ this->type = NetworkMessage::QUERY_ATTRIBUTE_OWNERSHIP;
+ this->name = "QUERY_ATTRIBUTE_OWNERSHIP";
+}
+NM_Query_Attribute_Ownership::~NM_Query_Attribute_Ownership() {
+}
+void NM_Query_Attribute_Ownership::serialize() {
+}
+void NM_Query_Attribute_Ownership::deserialize() {
+}
+/*<END>---------- Query_Attribute_Ownership ------------<END>*/
+
+/*<BEGIN>---------- Attribute_Is_Not_Owned ------------<BEGIN>*/
+NM_Attribute_Is_Not_Owned::NM_Attribute_Is_Not_Owned() {
+ this->type = NetworkMessage::ATTRIBUTE_IS_NOT_OWNED;
+ this->name = "ATTRIBUTE_IS_NOT_OWNED";
+}
+NM_Attribute_Is_Not_Owned::~NM_Attribute_Is_Not_Owned() {
+}
+void NM_Attribute_Is_Not_Owned::serialize() {
+}
+void NM_Attribute_Is_Not_Owned::deserialize() {
+}
+/*<END>---------- Attribute_Is_Not_Owned ------------<END>*/
+
+/*<BEGIN>---------- Inform_Attribute_Ownership ------------<BEGIN>*/
+NM_Inform_Attribute_Ownership::NM_Inform_Attribute_Ownership() {
+ this->type = NetworkMessage::INFORM_ATTRIBUTE_OWNERSHIP;
+ this->name = "INFORM_ATTRIBUTE_OWNERSHIP";
+}
+NM_Inform_Attribute_Ownership::~NM_Inform_Attribute_Ownership() {
+}
+void NM_Inform_Attribute_Ownership::serialize() {
+}
+void NM_Inform_Attribute_Ownership::deserialize() {
+}
+/*<END>---------- Inform_Attribute_Ownership ------------<END>*/
+
+/*<BEGIN>---------- Negotiated_Attribute_Ownership_Divestiture
------------<BEGIN>*/
+NM_Negotiated_Attribute_Ownership_Divestiture::NM_Negotiated_Attribute_Ownership_Divestiture()
{
+ this->type = NetworkMessage::NEGOTIATED_ATTRIBUTE_OWNERSHIP_DIVESTITURE;
+ this->name = "NEGOTIATED_ATTRIBUTE_OWNERSHIP_DIVESTITURE";
+}
+NM_Negotiated_Attribute_Ownership_Divestiture::~NM_Negotiated_Attribute_Ownership_Divestiture()
{
+}
+void NM_Negotiated_Attribute_Ownership_Divestiture::serialize() {
+}
+void NM_Negotiated_Attribute_Ownership_Divestiture::deserialize() {
+}
+/*<END>---------- Negotiated_Attribute_Ownership_Divestiture
------------<END>*/
+
+/*<BEGIN>---------- Attribute_Ownership_Acquisition_Notification
------------<BEGIN>*/
+NM_Attribute_Ownership_Acquisition_Notification::NM_Attribute_Ownership_Acquisition_Notification()
{
+ this->type = NetworkMessage::ATTRIBUTE_OWNERSHIP_ACQUISITION_NOTIFICATION;
+ this->name = "ATTRIBUTE_OWNERSHIP_ACQUISITION_NOTIFICATION";
+}
+NM_Attribute_Ownership_Acquisition_Notification::~NM_Attribute_Ownership_Acquisition_Notification()
{
+}
+void NM_Attribute_Ownership_Acquisition_Notification::serialize() {
+}
+void NM_Attribute_Ownership_Acquisition_Notification::deserialize() {
+}
+/*<END>---------- Attribute_Ownership_Acquisition_Notification
------------<END>*/
+
+/*<BEGIN>---------- Attribute_Ownership_Divestiture_Notification
------------<BEGIN>*/
+NM_Attribute_Ownership_Divestiture_Notification::NM_Attribute_Ownership_Divestiture_Notification()
{
+ this->type = NetworkMessage::ATTRIBUTE_OWNERSHIP_DIVESTITURE_NOTIFICATION;
+ this->name = "ATTRIBUTE_OWNERSHIP_DIVESTITURE_NOTIFICATION";
+}
+NM_Attribute_Ownership_Divestiture_Notification::~NM_Attribute_Ownership_Divestiture_Notification()
{
+}
+void NM_Attribute_Ownership_Divestiture_Notification::serialize() {
+}
+void NM_Attribute_Ownership_Divestiture_Notification::deserialize() {
+}
+/*<END>---------- Attribute_Ownership_Divestiture_Notification
------------<END>*/
+
+/*<BEGIN>---------- Request_Attribute_Ownership_Assumption
------------<BEGIN>*/
+NM_Request_Attribute_Ownership_Assumption::NM_Request_Attribute_Ownership_Assumption()
{
+ this->type = NetworkMessage::REQUEST_ATTRIBUTE_OWNERSHIP_ASSUMPTION;
+ this->name = "REQUEST_ATTRIBUTE_OWNERSHIP_ASSUMPTION";
+}
+NM_Request_Attribute_Ownership_Assumption::~NM_Request_Attribute_Ownership_Assumption()
{
+}
+void NM_Request_Attribute_Ownership_Assumption::serialize() {
+}
+void NM_Request_Attribute_Ownership_Assumption::deserialize() {
+}
+/*<END>---------- Request_Attribute_Ownership_Assumption ------------<END>*/
+
+/*<BEGIN>---------- Attribute_Ownership_Unavailable ------------<BEGIN>*/
+NM_Attribute_Ownership_Unavailable::NM_Attribute_Ownership_Unavailable() {
+ this->type = NetworkMessage::ATTRIBUTE_OWNERSHIP_UNAVAILABLE;
+ this->name = "ATTRIBUTE_OWNERSHIP_UNAVAILABLE";
+}
+NM_Attribute_Ownership_Unavailable::~NM_Attribute_Ownership_Unavailable() {
+}
+void NM_Attribute_Ownership_Unavailable::serialize() {
+}
+void NM_Attribute_Ownership_Unavailable::deserialize() {
+}
+/*<END>---------- Attribute_Ownership_Unavailable ------------<END>*/
+
+/*<BEGIN>---------- Attribute_Ownership_Acquisition_If_Available
------------<BEGIN>*/
+NM_Attribute_Ownership_Acquisition_If_Available::NM_Attribute_Ownership_Acquisition_If_Available()
{
+ this->type = NetworkMessage::ATTRIBUTE_OWNERSHIP_ACQUISITION_IF_AVAILABLE;
+ this->name = "ATTRIBUTE_OWNERSHIP_ACQUISITION_IF_AVAILABLE";
+}
+NM_Attribute_Ownership_Acquisition_If_Available::~NM_Attribute_Ownership_Acquisition_If_Available()
{
+}
+void NM_Attribute_Ownership_Acquisition_If_Available::serialize() {
+}
+void NM_Attribute_Ownership_Acquisition_If_Available::deserialize() {
+}
+/*<END>---------- Attribute_Ownership_Acquisition_If_Available
------------<END>*/
+
+/*<BEGIN>---------- Unconditional_Attribute_Ownership_Divestiture
------------<BEGIN>*/
+NM_Unconditional_Attribute_Ownership_Divestiture::NM_Unconditional_Attribute_Ownership_Divestiture()
{
+ this->type = NetworkMessage::UNCONDITIONAL_ATTRIBUTE_OWNERSHIP_DIVESTITURE;
+ this->name = "UNCONDITIONAL_ATTRIBUTE_OWNERSHIP_DIVESTITURE";
+}
+NM_Unconditional_Attribute_Ownership_Divestiture::~NM_Unconditional_Attribute_Ownership_Divestiture()
{
+}
+void NM_Unconditional_Attribute_Ownership_Divestiture::serialize() {
+}
+void NM_Unconditional_Attribute_Ownership_Divestiture::deserialize() {
+}
+/*<END>---------- Unconditional_Attribute_Ownership_Divestiture
------------<END>*/
+
+/*<BEGIN>---------- Attribute_Ownership_Acquisition ------------<BEGIN>*/
+NM_Attribute_Ownership_Acquisition::NM_Attribute_Ownership_Acquisition() {
+ this->type = NetworkMessage::ATTRIBUTE_OWNERSHIP_ACQUISITION;
+ this->name = "ATTRIBUTE_OWNERSHIP_ACQUISITION";
+}
+NM_Attribute_Ownership_Acquisition::~NM_Attribute_Ownership_Acquisition() {
+}
+void NM_Attribute_Ownership_Acquisition::serialize() {
+}
+void NM_Attribute_Ownership_Acquisition::deserialize() {
+}
+/*<END>---------- Attribute_Ownership_Acquisition ------------<END>*/
+
+/*<BEGIN>---------- Request_Attribute_Ownership_Release ------------<BEGIN>*/
+NM_Request_Attribute_Ownership_Release::NM_Request_Attribute_Ownership_Release()
{
+ this->type = NetworkMessage::REQUEST_ATTRIBUTE_OWNERSHIP_RELEASE;
+ this->name = "REQUEST_ATTRIBUTE_OWNERSHIP_RELEASE";
+}
+NM_Request_Attribute_Ownership_Release::~NM_Request_Attribute_Ownership_Release()
{
+}
+void NM_Request_Attribute_Ownership_Release::serialize() {
+}
+void NM_Request_Attribute_Ownership_Release::deserialize() {
+}
+/*<END>---------- Request_Attribute_Ownership_Release ------------<END>*/
+
+/*<BEGIN>---------- Cancel_Negotiated_Attribute_Ownership_Divestiture
------------<BEGIN>*/
+NM_Cancel_Negotiated_Attribute_Ownership_Divestiture::NM_Cancel_Negotiated_Attribute_Ownership_Divestiture()
{
+ this->type =
NetworkMessage::CANCEL_NEGOTIATED_ATTRIBUTE_OWNERSHIP_DIVESTITURE;
+ this->name = "CANCEL_NEGOTIATED_ATTRIBUTE_OWNERSHIP_DIVESTITURE";
+}
+NM_Cancel_Negotiated_Attribute_Ownership_Divestiture::~NM_Cancel_Negotiated_Attribute_Ownership_Divestiture()
{
+}
+void NM_Cancel_Negotiated_Attribute_Ownership_Divestiture::serialize() {
+}
+void NM_Cancel_Negotiated_Attribute_Ownership_Divestiture::deserialize() {
+}
+/*<END>---------- Cancel_Negotiated_Attribute_Ownership_Divestiture
------------<END>*/
+
+/*<BEGIN>---------- Attribute_Ownership_Release_Response ------------<BEGIN>*/
+NM_Attribute_Ownership_Release_Response::NM_Attribute_Ownership_Release_Response()
{
+ this->type = NetworkMessage::ATTRIBUTE_OWNERSHIP_RELEASE_RESPONSE;
+ this->name = "ATTRIBUTE_OWNERSHIP_RELEASE_RESPONSE";
+}
+NM_Attribute_Ownership_Release_Response::~NM_Attribute_Ownership_Release_Response()
{
+}
+void NM_Attribute_Ownership_Release_Response::serialize() {
+}
+void NM_Attribute_Ownership_Release_Response::deserialize() {
+}
+/*<END>---------- Attribute_Ownership_Release_Response ------------<END>*/
+
+/*<BEGIN>---------- Cancel_Attribute_Ownership_Acquisition
------------<BEGIN>*/
+NM_Cancel_Attribute_Ownership_Acquisition::NM_Cancel_Attribute_Ownership_Acquisition()
{
+ this->type = NetworkMessage::CANCEL_ATTRIBUTE_OWNERSHIP_ACQUISITION;
+ this->name = "CANCEL_ATTRIBUTE_OWNERSHIP_ACQUISITION";
+}
+NM_Cancel_Attribute_Ownership_Acquisition::~NM_Cancel_Attribute_Ownership_Acquisition()
{
+}
+void NM_Cancel_Attribute_Ownership_Acquisition::serialize() {
+}
+void NM_Cancel_Attribute_Ownership_Acquisition::deserialize() {
+}
+/*<END>---------- Cancel_Attribute_Ownership_Acquisition ------------<END>*/
+
+/*<BEGIN>---------- Confirm_Attribute_Ownership_Acquisition_Cancellation
------------<BEGIN>*/
+NM_Confirm_Attribute_Ownership_Acquisition_Cancellation::NM_Confirm_Attribute_Ownership_Acquisition_Cancellation()
{
+ this->type =
NetworkMessage::CONFIRM_ATTRIBUTE_OWNERSHIP_ACQUISITION_CANCELLATION;
+ this->name = "CONFIRM_ATTRIBUTE_OWNERSHIP_ACQUISITION_CANCELLATION";
+}
+NM_Confirm_Attribute_Ownership_Acquisition_Cancellation::~NM_Confirm_Attribute_Ownership_Acquisition_Cancellation()
{
+}
+void NM_Confirm_Attribute_Ownership_Acquisition_Cancellation::serialize() {
+}
+void NM_Confirm_Attribute_Ownership_Acquisition_Cancellation::deserialize() {
+}
+/*<END>---------- Confirm_Attribute_Ownership_Acquisition_Cancellation
------------<END>*/
+
+/*<BEGIN>---------- Ddm_Create_Region ------------<BEGIN>*/
+NM_Ddm_Create_Region::NM_Ddm_Create_Region() {
+ this->type = NetworkMessage::DDM_CREATE_REGION;
+ this->name = "DDM_CREATE_REGION";
+}
+NM_Ddm_Create_Region::~NM_Ddm_Create_Region() {
+}
+void NM_Ddm_Create_Region::serialize() {
+}
+void NM_Ddm_Create_Region::deserialize() {
+}
+/*<END>---------- Ddm_Create_Region ------------<END>*/
+
+/*<BEGIN>---------- Ddm_Modify_Region ------------<BEGIN>*/
+NM_Ddm_Modify_Region::NM_Ddm_Modify_Region() {
+ this->type = NetworkMessage::DDM_MODIFY_REGION;
+ this->name = "DDM_MODIFY_REGION";
+}
+NM_Ddm_Modify_Region::~NM_Ddm_Modify_Region() {
+}
+void NM_Ddm_Modify_Region::serialize() {
+}
+void NM_Ddm_Modify_Region::deserialize() {
+}
+/*<END>---------- Ddm_Modify_Region ------------<END>*/
+
+/*<BEGIN>---------- Ddm_Delete_Region ------------<BEGIN>*/
+NM_Ddm_Delete_Region::NM_Ddm_Delete_Region() {
+ this->type = NetworkMessage::DDM_DELETE_REGION;
+ this->name = "DDM_DELETE_REGION";
+}
+NM_Ddm_Delete_Region::~NM_Ddm_Delete_Region() {
+}
+void NM_Ddm_Delete_Region::serialize() {
+}
+void NM_Ddm_Delete_Region::deserialize() {
+}
+/*<END>---------- Ddm_Delete_Region ------------<END>*/
+
+/*<BEGIN>---------- Ddm_Associate_Region ------------<BEGIN>*/
+NM_Ddm_Associate_Region::NM_Ddm_Associate_Region() {
+ this->type = NetworkMessage::DDM_ASSOCIATE_REGION;
+ this->name = "DDM_ASSOCIATE_REGION";
+}
+NM_Ddm_Associate_Region::~NM_Ddm_Associate_Region() {
+}
+void NM_Ddm_Associate_Region::serialize() {
+}
+void NM_Ddm_Associate_Region::deserialize() {
+}
+/*<END>---------- Ddm_Associate_Region ------------<END>*/
+
+/*<BEGIN>---------- Ddm_Register_Object ------------<BEGIN>*/
+NM_Ddm_Register_Object::NM_Ddm_Register_Object() {
+ this->type = NetworkMessage::DDM_REGISTER_OBJECT;
+ this->name = "DDM_REGISTER_OBJECT";
+}
+NM_Ddm_Register_Object::~NM_Ddm_Register_Object() {
+}
+void NM_Ddm_Register_Object::serialize() {
+}
+void NM_Ddm_Register_Object::deserialize() {
+}
+/*<END>---------- Ddm_Register_Object ------------<END>*/
+
+/*<BEGIN>---------- Ddm_Unassociate_Region ------------<BEGIN>*/
+NM_Ddm_Unassociate_Region::NM_Ddm_Unassociate_Region() {
+ this->type = NetworkMessage::DDM_UNASSOCIATE_REGION;
+ this->name = "DDM_UNASSOCIATE_REGION";
+}
+NM_Ddm_Unassociate_Region::~NM_Ddm_Unassociate_Region() {
+}
+void NM_Ddm_Unassociate_Region::serialize() {
+}
+void NM_Ddm_Unassociate_Region::deserialize() {
+}
+/*<END>---------- Ddm_Unassociate_Region ------------<END>*/
+
+/*<BEGIN>---------- Ddm_Subscribe_Attributes ------------<BEGIN>*/
+NM_Ddm_Subscribe_Attributes::NM_Ddm_Subscribe_Attributes() {
+ this->type = NetworkMessage::DDM_SUBSCRIBE_ATTRIBUTES;
+ this->name = "DDM_SUBSCRIBE_ATTRIBUTES";
+}
+NM_Ddm_Subscribe_Attributes::~NM_Ddm_Subscribe_Attributes() {
+}
+void NM_Ddm_Subscribe_Attributes::serialize() {
+}
+void NM_Ddm_Subscribe_Attributes::deserialize() {
+}
+/*<END>---------- Ddm_Subscribe_Attributes ------------<END>*/
+
+/*<BEGIN>---------- Ddm_Unsubscribe_Attributes ------------<BEGIN>*/
+NM_Ddm_Unsubscribe_Attributes::NM_Ddm_Unsubscribe_Attributes() {
+ this->type = NetworkMessage::DDM_UNSUBSCRIBE_ATTRIBUTES;
+ this->name = "DDM_UNSUBSCRIBE_ATTRIBUTES";
+}
+NM_Ddm_Unsubscribe_Attributes::~NM_Ddm_Unsubscribe_Attributes() {
+}
+void NM_Ddm_Unsubscribe_Attributes::serialize() {
+}
+void NM_Ddm_Unsubscribe_Attributes::deserialize() {
+}
+/*<END>---------- Ddm_Unsubscribe_Attributes ------------<END>*/
+
+/*<BEGIN>---------- Ddm_Subscribe_Interaction ------------<BEGIN>*/
+NM_Ddm_Subscribe_Interaction::NM_Ddm_Subscribe_Interaction() {
+ this->type = NetworkMessage::DDM_SUBSCRIBE_INTERACTION;
+ this->name = "DDM_SUBSCRIBE_INTERACTION";
+}
+NM_Ddm_Subscribe_Interaction::~NM_Ddm_Subscribe_Interaction() {
+}
+void NM_Ddm_Subscribe_Interaction::serialize() {
+}
+void NM_Ddm_Subscribe_Interaction::deserialize() {
+}
+/*<END>---------- Ddm_Subscribe_Interaction ------------<END>*/
+
+/*<BEGIN>---------- Ddm_Unsubscribe_Interaction ------------<BEGIN>*/
+NM_Ddm_Unsubscribe_Interaction::NM_Ddm_Unsubscribe_Interaction() {
+ this->type = NetworkMessage::DDM_UNSUBSCRIBE_INTERACTION;
+ this->name = "DDM_UNSUBSCRIBE_INTERACTION";
+}
+NM_Ddm_Unsubscribe_Interaction::~NM_Ddm_Unsubscribe_Interaction() {
+}
+void NM_Ddm_Unsubscribe_Interaction::serialize() {
+}
+void NM_Ddm_Unsubscribe_Interaction::deserialize() {
+}
+/*<END>---------- Ddm_Unsubscribe_Interaction ------------<END>*/
+
+/*<BEGIN>---------- Provide_Attribute_Value_Update ------------<BEGIN>*/
+NM_Provide_Attribute_Value_Update::NM_Provide_Attribute_Value_Update() {
+ this->type = NetworkMessage::PROVIDE_ATTRIBUTE_VALUE_UPDATE;
+ this->name = "PROVIDE_ATTRIBUTE_VALUE_UPDATE";
+}
+NM_Provide_Attribute_Value_Update::~NM_Provide_Attribute_Value_Update() {
+}
+void NM_Provide_Attribute_Value_Update::serialize() {
+}
+void NM_Provide_Attribute_Value_Update::deserialize() {
+}
+/*<END>---------- Provide_Attribute_Value_Update ------------<END>*/
+
+/*<BEGIN>---------- Get_Fed_File ------------<BEGIN>*/
+NM_Get_Fed_File::NM_Get_Fed_File() {
+ this->type = NetworkMessage::GET_FED_FILE;
+ this->name = "GET_FED_FILE";
+}
+NM_Get_Fed_File::~NM_Get_Fed_File() {
+}
+void NM_Get_Fed_File::serialize() {
+}
+void NM_Get_Fed_File::deserialize() {
+}
+/*<END>---------- Get_Fed_File ------------<END>*/
+
+/*<BEGIN>---------- Last ------------<BEGIN>*/
+NM_Last::NM_Last() {
+ this->type = NetworkMessage::LAST;
+ this->name = "LAST";
+}
+NM_Last::~NM_Last() {
+}
+void NM_Last::serialize() {
+}
+void NM_Last::deserialize() {
+}
+/*<END>---------- Last ------------<END>*/
+
+
+
+
+
+} /* end of certi namespace */
+
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [certi-cvs] certi libCERTI/ObjectClassBroadcastList.cc libC... [br_DEV_HETEROGENEOUS],
certi-cvs <=