[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[certi-cvs] certi/scripts GenerateMessages.py CERTI_Message...
From: |
certi-cvs |
Subject: |
[certi-cvs] certi/scripts GenerateMessages.py CERTI_Message... |
Date: |
Sat, 06 Feb 2010 19:01:04 +0000 |
CVSROOT: /sources/certi
Module name: certi
Changes by: Eric NOULARD <erk> 10/02/06 19:01:04
Modified files:
scripts : GenerateMessages.py CERTI_Message.msg
Log message:
Update C++ generator.
Near to complete CERTI Message specifications
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/certi/scripts/GenerateMessages.py?cvsroot=certi&r1=1.28&r2=1.29
http://cvs.savannah.gnu.org/viewcvs/certi/scripts/CERTI_Message.msg?cvsroot=certi&r1=1.8&r2=1.9
Patches:
Index: GenerateMessages.py
===================================================================
RCS file: /sources/certi/certi/scripts/GenerateMessages.py,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -b -r1.28 -r1.29
--- GenerateMessages.py 4 Feb 2010 08:16:13 -0000 1.28
+++ GenerateMessages.py 6 Feb 2010 19:01:03 -0000 1.29
@@ -19,7 +19,7 @@
## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
## USA
##
-## $Id: GenerateMessages.py,v 1.28 2010/02/04 08:16:13 erk Exp $
+## $Id: GenerateMessages.py,v 1.29 2010/02/06 19:01:03 erk Exp $
## ----------------------------------------------------------------------------
"""
@@ -574,6 +574,8 @@
@param fields: the fields of this C{MessageType}
@type fields: C{list} of C{MessageType.MessageField}
+ @param merge: the merger of this C{MessageType}
+ @type merge: a C{MessageType}
"""
def __init__(self,name,fields,merge):
super(MessageType,self).__init__(name=name)
@@ -584,18 +586,26 @@
res = "message %s " % self.name
return res
-
def hasMerge(self):
return self.merge != None
class MessageField(ASTElement):
- """ Represents a message type
+ """ Represents a message field
"""
def __init__(self,qualifier,typeid,name,defaultValue=None):
super(MessageType.MessageField,self).__init__(name=name)
self.qualifier = qualifier
+ """ The field qualifier, which may be
+ - repeated
+ - optional
+ - required
+ """
self.typeid = typeid
+ """ The type of the field
+ """
self.defaultValue = defaultValue
+ """ The default value for this field
+ """
def hasDefaultValue(self):
return self.defaultValue != None
@@ -1559,9 +1569,12 @@
if methodName == 'read_string':
stream.write("msgBuffer."+methodName+"("+field.name+indexField+");\n")
else:
+ # We may have to vast in order to enforce conversion
+ if isinstance(field.typeid,NativeType):
+ stream.write(field.name+indexField+" =
static_cast<"+field.typeid.name+">(msgBuffer."+methodName+"());\n")
+ else:
stream.write(field.name+indexField+" =
msgBuffer."+methodName+"();\n")
-
if field.qualifier == "optional":
self.unIndent()
stream.write(self.getIndent()+"}\n")
@@ -1577,7 +1590,7 @@
stream.write(self.getIndent() + "switch (type) {\n")
self.indent()
for e in self.AST.eMessageType.values:
- stream.write(self.getIndent()+"case NetworkMessage::%s:\n" %
e.name)
+ stream.write(self.getIndent()+"case %s::%s:\n" %
(creator[0],e.name))
self.indent()
if None==e.type:
stream.write(self.getIndent()+"throw RTIinternalError(\"%s
message type should not be used!!\");\n"%e.name)
@@ -1587,8 +1600,9 @@
self.unIndent()
self.unIndent()
stream.write(self.getIndent()+ "} "+self.commentLineBeginWith+" end if
switch (type)\n")
+ stream.write(self.getIndent()+ "return msg;\n")
self.unIndent()
- stream.write(self.getIndent()+"}\n\n")
+ stream.write(self.getIndent()+("} /* end of %s::%s */\n\n" %
(creator[1],creator[2])))
def writeFactoryReceiver(self,stream):
receiver =
(self.AST.factory.receiver[0],self.AST.factory.name)+self.AST.factory.receiver[1:]
@@ -1609,7 +1623,7 @@
stream.write(self.getIndent()+"msg->deserialize(msgBuffer);\n")
stream.write(self.getIndent()+"return msg;\n")
self.unIndent()
- stream.write(self.getIndent()+"}\n\n")
+ stream.write(self.getIndent()+("} /* end of %s::%s */ \n\n" %
(receiver[1],receiver[2])))
def generateBody(self,stream,factoryOnly=False):
Index: CERTI_Message.msg
===================================================================
RCS file: /sources/certi/certi/scripts/CERTI_Message.msg,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -b -r1.8 -r1.9
--- CERTI_Message.msg 3 Feb 2010 11:59:41 -0000 1.8
+++ CERTI_Message.msg 6 Feb 2010 19:01:04 -0000 1.9
@@ -34,9 +34,45 @@
language Java [import certi.Message]
}
+native AttributeHandleSet {
+ language CXX [include "RTItypes.hh"]
+ language Java [import hla.rti.AttributeHandleSet;]
+}
+
+native LogicalTimeInterval {
+ language CXX [//unimplemented]
+ language Java [import hla.rti.AttributeHandleSet;]
+}
+
+native SuppliedAttributes {
+ language CXX [//unimplemented]
+ language Java [import hla.rti.SuppliedAttributes;]
+}
+
+native FederateHandleSet {
+ language CXX [#include "RTItypes.hh"]
+ language Java [import hla.rti.FederateHandleSet;]
+}
+
+native SuppliedParameters {
+ language CXX [//unimplemented]
+ language Java [import hla.rti.SuppliedParameters;]
+}
+
+native Regions {
+ language CXX [#include "RTItypes.hh"]
+ language Java [import hla.rti.Regions;]
+}
+
+native Extents {
+ language CXX [//unimplemented]
+ language Java [import hla.rti.Extents;]
+}
+
native ResignAction {
representation uint16
language CXX [#include "RTItypes.hh"]
+ language CXX [typedef RTI::ResignAction ResignAction;]
}
native Handle {
@@ -89,11 +125,6 @@
language CXX [#include "certi.hh"]
}
-native InteractionHandle {
- representation uint32
- language CXX [#include "certi.hh"]
-}
-
native TransportType {
representation uint8
language CXX [#include "certi.hh"]
@@ -104,6 +135,10 @@
language CXX [#include "certi.hh"]
}
+// Closing connexion message
+message M_Close_Connexion : merge Message {
+}
+
message M_Create_Federation_Execution : merge Message {
required string federationName // the federation name
required string FEDid // the Federation ID which is in fact a
filename
@@ -272,7 +307,7 @@
}
message M_Change_Interaction_Transportation_Type : merge Message {
- required InteractionHandle interactionClass
+ required InteractionClassHandle interactionClass
required TransportType transport
required OrderType order
}
@@ -364,7 +399,7 @@
}
message M_Change_Interaction_Order_Type : merge Message {
- required InteractionHandle interactionClass
+ required InteractionClassHandle interactionClass
required TransportType transport
required OrderType order
}