[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, 27 Feb 2010 16:45:19 +0000 |
CVSROOT: /sources/certi
Module name: certi
Changes by: Eric NOULARD <erk> 10/02/27 16:45:19
Modified files:
scripts : GenerateMessages.py CERTI_Message.msg
Added files:
scripts : TODO.GenMsg
Log message:
Update CERTI Message specifications (RTIA<-->Federate)
This specification contains all what is needed to
get rid of old Message stuff and use generated one.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/certi/scripts/GenerateMessages.py?cvsroot=certi&r1=1.29&r2=1.30
http://cvs.savannah.gnu.org/viewcvs/certi/scripts/CERTI_Message.msg?cvsroot=certi&r1=1.9&r2=1.10
http://cvs.savannah.gnu.org/viewcvs/certi/scripts/TODO.GenMsg?cvsroot=certi&rev=1.1
Patches:
Index: GenerateMessages.py
===================================================================
RCS file: /sources/certi/certi/scripts/GenerateMessages.py,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -b -r1.29 -r1.30
--- GenerateMessages.py 6 Feb 2010 19:01:03 -0000 1.29
+++ GenerateMessages.py 27 Feb 2010 16:45:19 -0000 1.30
@@ -19,7 +19,7 @@
## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
## USA
##
-## $Id: GenerateMessages.py,v 1.29 2010/02/06 19:01:03 erk Exp $
+## $Id: GenerateMessages.py,v 1.30 2010/02/27 16:45:19 erk Exp $
## ----------------------------------------------------------------------------
"""
@@ -1204,7 +1204,6 @@
return representation
return None
-
def getSerializeMethodName(self,name):
if name in self.serializeTypeMap.keys():
return self.serializeTypeMap[name]
@@ -1248,14 +1247,18 @@
if field.typeid.name == "onoff":
if field.qualifier == "repeated":
stream.write(self.getIndent())
- stream.write("uint32_t getNum"+self.upperFirst(field.name)+"()
const")
+ stream.write("uint32_t
get"+self.upperFirst(field.name)+"Size() const")
stream.write(" {return "+field.name+".size();}\n")
stream.write(self.getIndent())
- stream.write("void
setNum"+self.upperFirst(field.name)+"(uint32_t num)")
+ stream.write("void
set"+self.upperFirst(field.name)+"Size(uint32_t num)")
stream.write(" {"+field.name+".resize(num);}\n")
stream.write(self.getIndent())
+ stream.write("const std::vector<"+targetTypeName+">&
get"+self.upperFirst(field.name)+"() const")
+ stream.write(" {return "+field.name+";}\n")
+
+ stream.write(self.getIndent())
stream.write("void "+field.name+"On(uint32_t rank)")
stream.write(" {"+field.name+"[rank] = true;}\n")
@@ -1281,14 +1284,18 @@
else:
if field.qualifier == "repeated":
stream.write(self.getIndent())
- stream.write("uint32_t getNum"+self.upperFirst(field.name)+"()
const")
+ stream.write("uint32_t
get"+self.upperFirst(field.name)+"Size() const")
stream.write(" {return "+field.name+".size();}\n")
stream.write(self.getIndent())
- stream.write("void
setNum"+self.upperFirst(field.name)+"(uint32_t num)")
+ stream.write("void
set"+self.upperFirst(field.name)+"Size(uint32_t num)")
stream.write(" {"+field.name+".resize(num);}\n")
stream.write(self.getIndent())
+ stream.write("const std::vector<"+targetTypeName+">&
get"+self.upperFirst(field.name)+"() const")
+ stream.write(" {return "+field.name+";}\n")
+
+ stream.write(self.getIndent())
stream.write("const "+targetTypeName+"&
get"+self.upperFirst(field.name)+"(uint32_t rank) const")
stream.write(" {return "+field.name+"[rank];}\n")
@@ -1438,6 +1445,9 @@
stream.write(self.getIndent()+self.commentLineBeginWith+"
specific Getter(s)/Setter(s)\n")
for field in msg.fields:
self.writeOneGetterSetter(stream,field)
+ # the show method
+ stream.write(self.getIndent()+self.commentLineBeginWith+"
the show method\n")
+ stream.write(self.getIndent()+virtual+"void
show(std::ostream& out);\n")
self.unIndent()
# end public:
@@ -1501,7 +1511,6 @@
stream.write(field.name+"= <no default value in message spec using
builtin>\n")
# FIXME find a default value for every type beside natives
-
def writeSerializeFieldStatement(self,stream,field):
indexField = ''
if field.qualifier == "optional":
@@ -1539,6 +1548,47 @@
self.unIndent()
stream.write(self.getIndent()+"}\n")
+ def writeShowFieldStatement(self,stream,field):
+ indexField = ''
+ if field.qualifier == "optional":
+ stream.write(self.getIndent())
+ stream.write("out << \"(opt) %s =\" " % field.name)
+ elif field.qualifier == "repeated":
+ indexField = '[i]'
+ stream.write(self.getIndent())
+ stream.write("out << \" %s [] =\" << std::endl;\n" % field.name
)
+ stream.write(self.getIndent())
+ stream.write("for (uint32_t i = 0; i <
get"+self.upperFirst(field.name)+"Size(); ++i) {\n")
+ self.indent()
+ stream.write(self.getIndent()+"out ")
+ else:
+ stream.write(self.getIndent())
+ stream.write("out << \" %s = \" " % field.name)
+
+ methodName = self.getSerializeMethodName(field.typeid.name)
+ if None == methodName:
+ if field.typeid.name in [m.name for m in self.AST.messages]:
+ stream.write("<< \"FIXME inherited \";\n ")
+ stream.write(self.commentLineBeginWith+" FIXME FIXME FIXME
inherited message\n")
+ else:
+ stream.write("<< \"")
+ stream.write(self.getIndent()+self.commentLineBeginWith+"FIXME
FIXME don't know how to serialize native field <%s> of type
<%s>"%(field.name,field.typeid.name))
+ stream.write("\"")
+
+ else:
+ stream.write("<< %s << \" \" " % (field.name+indexField))
+
+ if field.qualifier == "optional":
+ stream.write(self.getIndent()+"<< std::endl;\n")
+ elif field.qualifier == "repeated":
+ stream.write(";\n")
+ self.unIndent()
+ stream.write(self.getIndent()+"}\n")
+ stream.write(self.getIndent()+"out << std::endl;\n")
+ else:
+ stream.write(self.getIndent()+"<< std::endl;\n")
+
+
def writeDeSerializeFieldStatement(self,stream,field):
indexField = ''
if field.qualifier == "optional":
@@ -1590,7 +1640,8 @@
stream.write(self.getIndent() + "switch (type) {\n")
self.indent()
for e in self.AST.eMessageType.values:
- stream.write(self.getIndent()+"case %s::%s:\n" %
(creator[0],e.name))
+ #stream.write(self.getIndent()+"case %s::%s:\n" %
(creator[0],e.name))
+ stream.write(self.getIndent()+"case %s::%s:\n" %
(creator[0],e.name.replace("M_","",1)))
self.indent()
if None==e.type:
stream.write(self.getIndent()+"throw RTIinternalError(\"%s
message type should not be used!!\");\n"%e.name)
@@ -1650,8 +1701,9 @@
stream.write(self.getIndent()+"%s::%s() {\n" %
(msg.name,msg.name))
self.indent()
# Assign my name.
- stream.write(self.getIndent()+"this->name =
\""+msg.name+"\";\n")
- stream.write(self.getIndent()+"this->type =
"+msg.name.upper().replace("NM_","NetworkMessage::")+";\n")
+ stream.write(self.getIndent()+"this->messageName =
\""+msg.name+"\";\n")
+ #stream.write(self.getIndent()+"this->type =
"+msg.name.upper().replace("NM_","NetworkMessage::")+";\n")
+ stream.write(self.getIndent()+"this->type =
"+msg.name.upper().replace("M_","Message::",1)+";\n")
# Write init value if any was provided
if len(msg.fields)>0:
for field in msg.fields:
@@ -1696,6 +1748,22 @@
self.unIndent()
stream.write(self.getIndent()+"}\n\n")
# end deserialize method
+ # begin show method
+ stream.write(self.getIndent()+"void %s::show(std::ostream&
out) {\n" % msg.name)
+ self.indent()
+ stream.write(self.getIndent()+"out << \"[%s -Begin]\" <<
std::endl;" % msg.name)
+ if msg.hasMerge():
+
stream.write(self.getIndent()+self.commentLineBeginWith)
+ stream.write("Call mother class\n")
+ stream.write(self.getIndent()+"Super::show(out);\n")
+ stream.write(self.getIndent()+self.commentLineBeginWith)
+ stream.write("Specific show code\n")
+ for field in msg.fields:
+ self.writeShowFieldStatement(stream,field)
+ stream.write(self.getIndent()+"out << \"[%s -End]\" <<
std::endl;" % msg.name)
+ self.unIndent()
+ stream.write(self.getIndent()+"}\n\n")
+ # end show method
# Generate Factory (if any)
# @todo
@@ -1980,7 +2048,13 @@
parser.logger = parserlogger
mainlogger.info("Parsing message file specifications...")
-msgFile = open(inputFile,'r')
+try:
+ msgFile = open(inputFile,'r')
+except IOError, e:
+ mainlogger.error("IOError raised: <"+str(e)+">")
+ mainlogger.error("May be input file <%s> is unreadable or mispelled?" %
inputFile)
+ sys.exit()
+
lexer.lineno = 1
parser.AST = MessageAST(inputFile)
parser.parse(msgFile.read(),lexer=lexer)
@@ -2018,13 +2092,4 @@
generator.generate(output,gentype,factoryOnly)
mainlogger.info("Generate %s from AST, Done." % language)
-sys.exit()
-for l in msgFile:
- cname = l.strip('_ \n')
-
- if (gentype.lower()=="factory"):
- print "case NetworkMessage::%s:" % cname
- print " msg = new NM_%s(); " %cname.title()
- print " break;"
-
msgFile.close()
Index: CERTI_Message.msg
===================================================================
RCS file: /sources/certi/certi/scripts/CERTI_Message.msg,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -b -r1.9 -r1.10
--- CERTI_Message.msg 6 Feb 2010 19:01:04 -0000 1.9
+++ CERTI_Message.msg 27 Feb 2010 16:45:19 -0000 1.10
@@ -88,6 +88,7 @@
native AttributeHandle {
representation uint32
language CXX [#include "certi.hh"]
+ language CXX [#define ATTRIBUTE_HANDLE_UNDEFINED_VALUE 0]
}
native DimensionHandle {
@@ -135,6 +136,21 @@
language CXX [#include "certi.hh"]
}
+native AttributeValue_t {
+ representation string
+ language CXX [#include "certi.hh"]
+}
+
+native ParameterValue_t {
+ representation string
+ language CXX [#include "certi.hh"]
+}
+
+native EventRetractionHandle {
+ language CXX [#include "RTItypes.hh"]
+ language CXX [typedef RTI::EventRetractionHandle EventRetractionHandle;]
+}
+
// Closing connexion message
message M_Close_Connexion : merge Message {
}
@@ -174,7 +190,11 @@
message M_Federation_Saved : merge Message {}
message M_Federation_Not_Saved : merge Message {}
message M_Request_Federation_Restore : merge Message {}
-message M_Request_Federation_Restore_Failed : merge Message {}
+
+message M_Request_Federation_Restore_Failed : merge Message {
+ required string reason
+}
+
message M_Request_Federation_Restore_Succeeded : merge Message {}
message M_Initiate_Federate_Restore : merge Message {
@@ -189,7 +209,7 @@
// Declaration
message M_Publish_Object_Class : merge Message {
required ObjectClassHandle objectClass
- repeated Handle handles
+ repeated AttributeHandle attributes
}
message M_Unpublish_Object_Class : merge Message {
@@ -206,7 +226,8 @@
message M_Subscribe_Object_Class_Attributes : merge Message {
required ObjectClassHandle objectClass
- repeated Handle handles
+ repeated AttributeHandle attributes
+ required bool active {default=true}
}
message M_Unsubscribe_Object_Class : merge Message {
@@ -241,99 +262,118 @@
message M_Register_Object_Instance : merge Message {
required ObjectClassHandle objectClass
required ObjectHandle object
- required string objectName
+ optional string objectName
}
message M_Update_Attribute_Values : merge Message {
required ObjectClassHandle objectClass
required ObjectHandle object
- repeated Handle handle
- repeated string attributeValues // FIXME check this one
- required ResignAction resignAction
+ repeated AttributeHandle attributes
+ repeated AttributeValue_t values // FIXME check this one
+ optional EventRetractionHandle eventRetraction
}
message M_Discover_Object_Instance : merge Message {
required ObjectClassHandle objectClass
required ObjectHandle object
required string objectName
- required ResignAction resignAction
+ optional EventRetractionHandle eventRetraction
}
message M_Reflect_Attribute_Values : merge Message {
required ObjectClassHandle objectClass
required ObjectHandle object
- repeated Handle handle
- repeated string attributeValues // FIXME check this one
- required ResignAction resignAction
+ repeated AttributeHandle attributes
+ repeated AttributeValue_t values // FIXME check this one
+ optional EventRetractionHandle eventRetraction
}
message M_Send_Interaction : merge Message {
required InteractionClassHandle interactionClass
- repeated Handle handles
- repeated string values
+ repeated ParameterHandle parameters
+ repeated ParameterValue_t values
required RegionHandle region
- required ResignAction resignAction
+ optional EventRetractionHandle eventRetraction
}
message M_Receive_Interaction : merge Message {
required InteractionClassHandle interactionClass
- repeated Handle handles
- repeated string values
+ repeated ParameterHandle parameters
+ repeated ParameterValue_t values
required RegionHandle region
- required ResignAction resignAction
+ optional EventRetractionHandle eventRetraction
}
message M_Delete_Object_Instance : merge Message {
required ObjectClassHandle objectClass
required ObjectHandle object
required string objectName
- required ResignAction resignAction
+ optional EventRetractionHandle eventRetraction
}
-message M_Local_Delete_Object_Instance : merge Message {}
+message M_Local_Delete_Object_Instance : merge Message {
+ required ObjectHandle object
+}
message M_Remove_Object_Instance : merge Message {
required ObjectClassHandle objectClass
required ObjectHandle object
required string objectName
- required ResignAction resignAction
+ optional EventRetractionHandle eventRetraction
}
message M_Change_Attribute_Transportation_Type : merge Message {
- required TransportType transport
- required OrderType order
+ required TransportType transportationType
+ required OrderType orderType
required ObjectHandle object
- repeated Handle handles
+ repeated AttributeHandle attributes
}
message M_Change_Interaction_Transportation_Type : merge Message {
required InteractionClassHandle interactionClass
- required TransportType transport
- required OrderType order
+ required TransportType transportationType
+ required OrderType orderType
}
message M_Request_Object_Attribute_Value_Update : merge Message {
required ObjectHandle object
- repeated Handle handles
+ repeated AttributeHandle attributes
}
message M_Request_Class_Attribute_Value_Update : merge Message {
required ObjectClassHandle objectClass
- repeated Handle handles
+ repeated AttributeHandle attributes
}
message M_Provide_Attribute_Value_Update : merge Message {
required ObjectHandle object
- repeated Handle handles
+ repeated AttributeHandle attributes
+}
+
+message M_Attributes_In_Scope : merge Message {
+ required ObjectHandle object
+ repeated AttributeHandle attributes
+}
+
+message M_Attributes_Out_Of_Scope : merge Message {
+ required ObjectHandle object
+ repeated AttributeHandle attributes
+}
+
+message M_Turn_Updates_On_For_Object_Instance : merge Message {
+ required ObjectHandle object
+ repeated AttributeHandle attributes
}
-message M_Attributes_In_Scope : merge Message {}
-message M_Attributes_Out_Of_Scope : merge Message {}
-message M_Turn_Updates_On_For_Object_Instance : merge Message {}
-message M_Turn_Updates_Off_For_Object_Instance : merge Message {}
+message M_Turn_Updates_Off_For_Object_Instance : merge Message {
+ required ObjectHandle object
+ repeated AttributeHandle attributes
+}
// Ownership management
-message M_Request_Attribute_Ownership_Divestiture : merge Message {}
+message M_Request_Attribute_Ownership_Divestiture : merge Message {
+}
+
message M_Request_Attribute_Ownership_Assumption : merge Message {
required ObjectHandle object
repeated AttributeHandle attributes
@@ -344,8 +384,16 @@
repeated AttributeHandle attributes
}
-message M_Attribute_Ownership_Divestiture_Notification : merge Message {}
-message M_Attribute_Ownership_Acquisition_Notification : merge Message {}
+message M_Attribute_Ownership_Divestiture_Notification : merge Message {
+ required ObjectHandle object
+ repeated AttributeHandle attributes
+}
+
+message M_Attribute_Ownership_Acquisition_Notification : merge Message {
+ required ObjectHandle object
+ repeated AttributeHandle attributes
+}
+
message M_Request_Attribute_Ownership_Acquisition : merge Message {
required ObjectHandle object
repeated AttributeHandle attributes
@@ -378,24 +426,53 @@
}
message M_Attribute_Owned_By_Rti : merge Message {}
-message M_Attribute_Ownership_Acquisition_If_Available : merge Message {}
-message M_Attribute_Ownership_Unavailable : merge Message {}
-message M_Unconditional_Attribute_Ownership_Divestiture : merge Message {}
-message M_Attribute_Ownership_Acquisition : merge Message {}
+
+message M_Attribute_Ownership_Acquisition_If_Available : merge Message {
+ required ObjectHandle object
+ repeated AttributeHandle attributes
+}
+
+message M_Attribute_Ownership_Unavailable : merge Message {
+ required ObjectHandle object
+ repeated AttributeHandle attributes
+}
+
+message M_Unconditional_Attribute_Ownership_Divestiture : merge Message {
+ required ObjectHandle object
+ repeated AttributeHandle attributes
+}
+
+message M_Attribute_Ownership_Acquisition : merge Message {
+ required ObjectHandle object
+ repeated AttributeHandle attributes
+}
+
message M_Cancel_Negotiated_Attribute_Ownership_Divestiture : merge Message {
required ObjectHandle object
repeated AttributeHandle attributes
}
-message M_Attribute_Ownership_Release_Response : merge Message {}
-message M_Cancel_Attribute_Ownership_Acquisition : merge Message {}
-message M_Confirm_Attribute_Ownership_Acquisition_Cancellation : merge Message
{}
+
+message M_Attribute_Ownership_Release_Response : merge Message {
+ required ObjectHandle object
+ repeated AttributeHandle attributes
+}
+
+message M_Cancel_Attribute_Ownership_Acquisition : merge Message {
+ required ObjectHandle object
+ repeated AttributeHandle attributes
+}
+
+message M_Confirm_Attribute_Ownership_Acquisition_Cancellation : merge Message
{
+ required ObjectHandle object
+ repeated AttributeHandle attributes
+}
// Time
message M_Change_Attribute_Order_Type : merge Message {
required TransportType transport
required OrderType order
required ObjectHandle object
- repeated Handle handles
+ repeated AttributeHandle attributes
}
message M_Change_Interaction_Order_Type : merge Message {
@@ -405,23 +482,21 @@
}
message M_Enable_Time_Regulation : merge Message {
- required onoff enable
- required double lookahead
+ required onoff enable {default=true}
+ required double lookahead {default=0}
}
message M_Disable_Time_Regulation : merge Message {
- required onoff enable
- required double lookahead
+ required onoff enable {default=false}
+ required double lookahead {default=0}
}
message M_Enable_Time_Constrained : merge Message {
- required onoff enable
- required double lookahead
+ required onoff enable {default=true}
}
message M_Disable_Time_Constrained : merge Message {
- required onoff enable
- required double lookahead
+ required onoff enable {default=false}
}
message M_Query_Lbts : merge Message {}
@@ -436,7 +511,10 @@
required double lookahead
}
-message M_Retract : merge Message {}
+message M_Retract : merge Message {
+ required EventRetractionHandle eventRetraction
+}
+
message M_Request_Retraction : merge Message {}
message M_Time_Advance_Request : merge Message {}
message M_Time_Advance_Request_Available : merge Message {}
@@ -449,16 +527,20 @@
message M_Time_Regulation_Enabled : merge Message {}
message M_Time_Constrained_Enabled : merge Message {}
+native Extent {
+ language CXX [#include "Extent.hh"]
+}
+
// Data Distribution Management
message M_Ddm_Create_Region : merge Message {
- required SpaceHandle space
- required uint32 nbExtent
- required RegionHandle region
+ required SpaceHandle space // the routing space designator
+ repeated Extent extentSet // the extent set
+ required RegionHandle region // the region handle obtained upon
successful creation
}
message M_Ddm_Modify_Region : merge Message {
required RegionHandle region
- //repeated M_Extents extent readExtents(msgBuffer);
+ repeated Extent extentSet // the extent set
}
message M_Ddm_Delete_Region : merge Message {
@@ -468,13 +550,15 @@
message M_Ddm_Register_Object : merge Message {
required ObjectClassHandle objectClass
required ObjectHandle object
- repeated AttributeHandle handles
- // repeated M_Regions regions
+ optional string objectInstanceName
+ repeated AttributeHandle attributes
+ // repeated RegionHandle regions
}
message M_Ddm_Associate_Region : merge Message {
required ObjectHandle object
required RegionHandle region
+ repeated AttributeHandle attributes
}
message M_Ddm_Unassociate_Region : merge Message {
@@ -486,7 +570,7 @@
required ObjectClassHandle objectClass
required RegionHandle region
required onoff passive
- repeated AttributeHandle handles
+ repeated AttributeHandle attributes
}
message M_Ddm_Unsubscribe_Attributes : merge Message {
@@ -506,85 +590,85 @@
required onoff passive
}
-message M_Ddm_Request_Update : merge Message {}
+message M_Ddm_Request_Update : merge Message {
+ required ObjectClassHandle objectClass
+ required RegionHandle region
+ repeated AttributeHandle attributes
+}
- // Support Services
+// Support Services
message M_Get_Object_Class_Handle : merge Message {
required ObjectClassHandle objectClass
- required string name
- required AttributeHandle attribute
+ required string className
}
message M_Get_Object_Class_Name : merge Message {
required ObjectClassHandle objectClass
- required string name
- required AttributeHandle attribute
+ required string className
}
message M_Get_Attribute_Handle : merge Message {
required ObjectClassHandle objectClass
- required string name
- required AttributeHandle attribute
+ required string attributeName
+ required AttributeHandle attribute {default=0}
}
message M_Get_Attribute_Name : merge Message {
required ObjectClassHandle objectClass
- required string name
- required AttributeHandle attribute
+ required string attributeName
+ required AttributeHandle attribute {default=0}
}
message M_Get_Interaction_Class_Handle : merge Message {
- required InteractionClassHandle interactionClass
- required string name
- required ParameterHandle parameter
+ required InteractionClassHandle interactionClass {default=0}
+ required string className
}
message M_Get_Interaction_Class_Name : merge Message {
required InteractionClassHandle interactionClass
- required string name
- required ParameterHandle parameter
+ required string className
}
message M_Get_Parameter_Handle : merge Message {
required InteractionClassHandle interactionClass
- required string name
- required ParameterHandle parameter
+ required string parameterName
+ required ParameterHandle parameter {default=0}
}
message M_Get_Parameter_Name : merge Message {
required InteractionClassHandle interactionClass
- required string name
- required ParameterHandle parameter
+ required string parameterName
+ required ParameterHandle parameter {default=0}
}
message M_Get_Object_Instance_Handle : merge Message {
- required ObjectHandle object
- required string name
+ required ObjectHandle object {default=0}
+ required string objectInstanceName
}
message M_Get_Object_Instance_Name : merge Message {
required ObjectHandle object
- required string name
+ required string objectInstanceName
}
message M_Get_Space_Handle : merge Message {
- required string name
- required SpaceHandle space
+ required string spaceName
+ required SpaceHandle space {default=0}
}
message M_Get_Space_Name : merge Message {
- required string name
+ required string spaceName
required SpaceHandle space
}
message M_Get_Dimension_Handle : merge Message {
- required string name
+ required string dimensionName
required SpaceHandle space
- required DimensionHandle dimension
+ required DimensionHandle dimension {default=0}
}
message M_Get_Dimension_Name : merge Message {
- required string name
+ required string dimensionName
required SpaceHandle space
required DimensionHandle dimension
}
@@ -592,7 +676,7 @@
message M_Get_Attribute_Space_Handle : merge Message {
required ObjectClassHandle objectClass
required AttributeHandle attribute
- required SpaceHandle space
+ required SpaceHandle space {default=0}
}
message M_Get_Object_Class : merge Message {
@@ -602,27 +686,27 @@
message M_Get_Interaction_Space_Handle : merge Message {
required InteractionClassHandle interactionClass
- required SpaceHandle space
+ required SpaceHandle space {default=0}
}
message M_Get_Transportation_Handle : merge Message {
- required string name
- required TransportType transport
+ required string transportationName
+ required TransportType transportation {default=0}
}
message M_Get_Transportation_Name : merge Message {
- required string name
- required TransportType transport
+ required string transportationName
+ required TransportType transportation
}
message M_Get_Ordering_Handle : merge Message {
- required string name
- required OrderType order
+ required string orderingName
+ required OrderType ordering {default=0}
}
message M_Get_Ordering_Name : merge Message {
- required string name
- required OrderType order
+ required string orderingName
+ required OrderType ordering
}
message M_Enable_Class_Relevance_Advisory_Switch : merge Message {}
message M_Disable_Class_Relevance_Advisory_Switch : merge Message {}
@@ -655,7 +739,6 @@
}
factory M_Factory {
-
factoryCreator Message create(M_Type)
factoryReceiver Message receive(StreamType)
}
Index: TODO.GenMsg
===================================================================
RCS file: TODO.GenMsg
diff -N TODO.GenMsg
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ TODO.GenMsg 27 Feb 2010 16:45:19 -0000 1.1
@@ -0,0 +1,23 @@
+TODO list for the CERTI Message generator:
+
+0) Write the documentation (and may be BNF) for
+ the CERTI Message specification language
+
+1) Modularize generator such that
+ each backend generator (C++, Java, Python etc...) may be loaded separately
+
+2) Support variant for sequences
+
+3) Explain the on-the-wire encoding scheme (i.e. MessageBuffer)
+
+4) Add a display method for each message (C++ generator)
+ or an helper method which may authorize
+ cout << msg;
+
+5) Parser --> improve syntax error reporting
+
+6) Enhance C++ generator (or write another one) for which
+ runtime check is done for setting 'required' field before sending
+ (or default value exists)
+
+7) Handle natively defined default values for members