[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[certi-cvs] certi/scripts GenerateMessages.py CERTI_Network...
From: |
certi-cvs |
Subject: |
[certi-cvs] certi/scripts GenerateMessages.py CERTI_Network... |
Date: |
Thu, 16 Jul 2009 13:13:15 +0000 |
CVSROOT: /sources/certi
Module name: certi
Changes by: Eric NOULARD <erk> 09/07/16 13:13:15
Modified files:
scripts : GenerateMessages.py
Added files:
scripts : CERTI_NetworkMessage.msg
Removed files:
scripts : CertiNetworkMessage.msg
Log message:
CERTI Network Message spec file should be as complete
as it is currently...
Rename the file
Generator should now generate a complete header
Going on with C++ body and factory
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/certi/scripts/GenerateMessages.py?cvsroot=certi&r1=1.9&r2=1.10
http://cvs.savannah.gnu.org/viewcvs/certi/scripts/CERTI_NetworkMessage.msg?cvsroot=certi&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/certi/scripts/CertiNetworkMessage.msg?cvsroot=certi&r1=1.2&r2=0
Patches:
Index: GenerateMessages.py
===================================================================
RCS file: /sources/certi/certi/scripts/GenerateMessages.py,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -b -r1.9 -r1.10
--- GenerateMessages.py 15 Jul 2009 20:57:24 -0000 1.9
+++ GenerateMessages.py 16 Jul 2009 13:13:15 -0000 1.10
@@ -19,7 +19,7 @@
## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
## USA
##
-## $Id: GenerateMessages.py,v 1.9 2009/07/15 20:57:24 erk Exp $
+## $Id: GenerateMessages.py,v 1.10 2009/07/16 13:13:15 erk Exp $
## ----------------------------------------------------------------------------
"""
@@ -259,7 +259,7 @@
@param package: the package which the generated message will belong
this will be used by the specific AST generator
@type package: C{Package}
- @param natives: the set of native messages described in this
+ @param natives: the set of native types described in this
C{MessageAST}
@type natives: C{set} of C{NativeType}
@param messages: the set of messages described in this C{MessageAST}
@@ -406,7 +406,7 @@
return typename
def __repr__(self):
- res = "AST with <%d> native message, <%d> enum, <%d> message type(s)"
% (len(self.natives),len(self.enums),len(self.messages))
+ res = "AST with <%d> native type(s), <%d> enum, <%d> message type(s)"
% (len(self.natives),len(self.enums),len(self.messages))
res = res + " in package <%s>" % self.package
return res
@@ -960,6 +960,11 @@
stream.write("
{"+field.name+"=new"+self.upperFirst(field.name)+";};\n")
def generateHeader(self,stream):
+ # write the usual header protecting MACRO
+ (headerProtectMacroName,ext) = os.path.splitext(self.AST.name)
+ headerProtectMacroName = "%s__HH" % headerProtectMacroName.upper()
+ stream.write("#ifndef %s"%headerProtectMacroName)
+ stream.write("#define %s"%headerProtectMacroName)
# Generate namespace for specified package package
# we may have nested namespace
self.openNamespaces(stream)
@@ -1010,8 +1015,8 @@
if msg.hasMerge():
stream.write(self.getIndent()+"typedef %s
Super;\n"%msg.merge.name)
# now write constructor/destructor
- stream.write(self.getIndent()+msg.name+";\n")
- stream.write(self.getIndent()+"virtual ~"+msg.name+";\n")
+ stream.write(self.getIndent()+msg.name+"();\n")
+ stream.write(self.getIndent()+"virtual ~"+msg.name+"();\n")
# write virtual serialize and deserialize
# if we have some specific field
@@ -1048,6 +1053,9 @@
# may close any open namespaces
self.closeNamespaces(stream)
+ # close usual HEADER protecting MACRO
+ stream.write(self.commentLineBeginWith+"%s\n"%headerProtectMacroName)
+ stream.write("#endif")
class JavaGenerator(CodeGenerator):
"""
@@ -1098,18 +1106,22 @@
sys.exit()
mainlogger.info("Generate %s from AST,..."%language)
-if language=="Text":
+if language.lower()=="text":
textGen = TextGenerator(parser.AST)
textGen.generate(output,gentype)
-elif language=="C++":
+elif language.lower=="c++":
cxxGen = CXXGenerator(parser.AST)
cxxGen.generate(output,gentype)
-elif language=="Java":
+elif language.lower=="java":
cxxGen = JavaGenerator(parser.AST)
cxxGen.generate(output,gentype)
-elif language=="Python":
+elif language.lower()=="python":
cxxGen = PythonGenerator(parser.AST)
cxxGen.generate(output,gentype)
+elif language.lower()=="none":
+ mainlogger.info("Nothing to generate for <%s>."%language)
+else:
+ mainlogger.error("Language <%s> is unknown" % language)
mainlogger.info("Generate %s from AST, Done."%language)
Index: CERTI_NetworkMessage.msg
===================================================================
RCS file: CERTI_NetworkMessage.msg
diff -N CERTI_NetworkMessage.msg
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ CERTI_NetworkMessage.msg 16 Jul 2009 13:13:15 -0000 1.1
@@ -0,0 +1,271 @@
+
+// ----------------------------------------------------------------------------
+// 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
+//
+// ----------------------------------------------------------------------------
+// CERTI Network Messages description
+// ----------------------------------------------------------------------------
+// The messages related classes will be placed in the certi package
+package certi
+
+// Basic Message is the base class message for CERTI
+native BasicMessage
+
+// Network message is the base class
+// for message exchanged between RTIA and RTIG
+// AKA CERTI Network Message
+native NetworkMessage
+
+// Message is the base class
+// for message exchanged between Federate and RTIA
+// AKA CERTI Message
+native Message
+
+enum SampleMessageType {
+ NOT_USED,
+ SMT_BASIC,
+ SMT_NETWORK_MESSAGE,
+ SMT_MESSAGE
+}
+
+native AttributeHandle
+message NM_WithHandleArray : merge NetworkMessage {
+ repeated AttributeHandle handle
+}
+
+message NM_DDM_Base : merge NM_WithHandleArray {
+ required bool DDM_bool
+}
+
+message NM_Close_Connexion : merge NetworkMessage {}
+
+message NM_Message_Null : merge NetworkMessage {}
+
+message NM_Create_Federation_Execution : merge NetworkMessage {}
+
+message NM_Destroy_Federation_Execution : merge NetworkMessage {}
+
+message NM_Join_Federation_Execution : merge NetworkMessage {}
+
+message NM_Resign_Federation_Execution : merge NetworkMessage {}
+
+message NM_Set_Time_Regulating : merge NetworkMessage {
+ required bool regulator
+}
+
+message NM_Set_Time_Constrained : merge NetworkMessage {
+ required bool regulator
+}
+
+message NM_Time_Regulation_Enabled : merge NetworkMessage {}
+
+message NM_Time_Constrained_Enabled : merge NetworkMessage {}
+
+native ObjectClassHandle
+message NM_Start_Registration_For_Object_Class : merge NetworkMessage {
+ required ObjectClassHandle objectClass
+}
+
+message NM_Stop_Registration_For_Object_Class : merge NetworkMessage {
+}
+
+message NM_Set_Class_Relevance_Advisory_Switch : merge NetworkMessage {
+ required bool classRelevanceAdvisorySwitch // value of CRA switch
+}
+
+message NM_Set_Interaction_Relevance_Advisory_Switch : merge NetworkMessage {
+ required bool interactionRelevanceAdvisorySwitch // value of IRA switch
+}
+
+message NM_Set_Attribute_Relevance_Advisory_Switch : merge NetworkMessage {
+ required bool attributeRelevanceAdvisorySwitch // value of ARA switch
+}
+
+message NM_Set_Attribute_Scope_Advisory_Switch : merge NetworkMessage {
+ required bool attributeScopeAdvisorySwitch // value of ASA switch
+}
+
+message NM_Register_Federation_Synchronization_Point : merge NetworkMessage {
+ required bool setExists // tell whether if the synchronization set is
specified or not
+}
+
+message NM_Synchronization_Point_Registration_Succeeded : merge NetworkMessage
{}
+
+message NM_Announce_Synchronization_Point : merge NetworkMessage {}
+
+message NM_Synchronization_Point_Achieved : merge NetworkMessage {}
+
+message NM_Federation_Synchronized : merge NetworkMessage {}
+
+message NM_Request_Federation_Save : merge NetworkMessage {}
+
+message NM_Federate_Save_Begun : merge NetworkMessage {}
+
+message NM_Federate_Save_Complete : merge NetworkMessage {}
+
+message NM_Federate_Save_Not_Complete : merge NetworkMessage {}
+
+message NM_Initiate_Federate_Save : merge NetworkMessage {}
+
+message NM_Federation_Saved : merge NetworkMessage {}
+
+message NM_Federation_Not_Saved : merge NetworkMessage {}
+
+message NM_Request_Federation_Restore : merge NetworkMessage {}
+
+message NM_Federate_Restore_Complete : merge NetworkMessage {}
+
+message NM_Federate_Restore_Not_Complete : merge NetworkMessage {}
+
+message NM_Request_Federation_Restore_Succeeded : merge NetworkMessage {}
+
+message NM_Request_Federation_Restore_Failed : merge NetworkMessage {}
+
+message NM_Federation_Restore_Begun : merge NetworkMessage {}
+
+message NM_Initiate_Federate_Restore : merge NetworkMessage {}
+
+message NM_Federation_Restored : merge NetworkMessage {}
+
+message NM_Federation_Not_Restored : merge NetworkMessage {}
+
+message NM_Publish_Object_Class : merge NM_WithHandleArray {}
+
+message NM_Unpublish_Object_Class : merge NetworkMessage {}
+
+native InteractionClassHandle
+message NM_Publish_Interaction_Class : merge NetworkMessage {
+ required InteractionClassHandle interactionClass // the interaction
class
+}
+
+message NM_Unpublish_Interaction_Class : merge NM_Publish_Interaction_Class {}
+
+message NM_Subscribe_Object_Class : merge NM_WithHandleArray {}
+
+message NM_Unsubscribe_Object_Class : merge NM_Unpublish_Object_Class {}
+
+message NM_Subscribe_Interaction_Class : merge NM_Publish_Interaction_Class {}
+
+message NM_Unsubscribe_Interaction_Class : merge NM_Publish_Interaction_Class
{}
+
+message NM_Turn_Interactions_On : merge NM_Publish_Interaction_Class {}
+
+message NM_Turn_Interactions_Off : merge NM_Publish_Interaction_Class {}
+
+message NM_Register_Object : merge NetworkMessage {}
+
+message NM_Discover_Object : merge NM_Register_Object {}
+
+message NM_Update_Attribute_Values : merge NM_WithHandleArray {}
+
+message NM_Reflect_Attribute_Values : merge NM_Update_Attribute_Values {}
+
+message NM_Send_Interaction : merge NM_WithHandleArray {}
+
+message NM_Receive_Interaction : merge NM_Send_Interaction {}
+
+message NM_Delete_Object : merge NM_Register_Object {}
+
+message NM_Remove_Object : merge NM_Delete_Object {}
+
+message NM_Change_Attribute_Transport_Type : merge NetworkMessage {}
+
+message NM_Change_Attribute_Order_Type : merge NetworkMessage {}
+
+message NM_Change_Interaction_Transport_Type : merge NetworkMessage {}
+
+message NM_Change_Interaction_Order_Type : merge NetworkMessage {}
+
+message NM_Request_Class_Attribute_Value_Update : merge NetworkMessage {}
+
+native ObjectHandle
+message NM_Request_Object_Attribute_Value_Update : merge NM_WithHandleArray {
+ required ObjectHandle object
+}
+
+message NM_Is_Attribute_Owned_By_Federate : merge NetworkMessage {}
+
+message NM_Query_Attribute_Ownership : merge NM_Is_Attribute_Owned_By_Federate
{}
+
+message NM_Attribute_Is_Not_Owned : merge NM_Is_Attribute_Owned_By_Federate {}
+
+message NM_Inform_Attribute_Ownership : merge
NM_Is_Attribute_Owned_By_Federate {}
+
+message NM_Negotiated_Attribute_Ownership_Divestiture : merge
NM_Request_Object_Attribute_Value_Update {}
+
+message NM_Attribute_Ownership_Acquisition_Notification : merge
NM_Request_Object_Attribute_Value_Update {}
+
+message NM_Attribute_Ownership_Divestiture_Notification : merge
NM_Request_Object_Attribute_Value_Update {}
+
+message NM_Request_Attribute_Ownership_Assumption : merge
NM_Negotiated_Attribute_Ownership_Divestiture {}
+
+message NM_Attribute_Ownership_Unavailable : merge
NM_Request_Object_Attribute_Value_Update {}
+
+message NM_Attribute_Ownership_Acquisition_If_Available : merge
NM_Request_Object_Attribute_Value_Update {}
+
+message NM_Unconditional_Attribute_Ownership_Divestiture : merge
NM_Request_Object_Attribute_Value_Update {}
+
+message NM_Attribute_Ownership_Acquisition : merge
NM_Negotiated_Attribute_Ownership_Divestiture {}
+
+message NM_Request_Attribute_Ownership_Release : merge
NM_Negotiated_Attribute_Ownership_Divestiture {}
+
+message NM_Cancel_Negotiated_Attribute_Ownership_Divestiture : merge
NM_Request_Object_Attribute_Value_Update {}
+
+message NM_Attribute_Ownership_Release_Response : merge
NM_Request_Object_Attribute_Value_Update {}
+
+message NM_Cancel_Attribute_Ownership_Acquisition : merge
NM_Request_Object_Attribute_Value_Update {}
+
+message NM_Confirm_Attribute_Ownership_Acquisition_Cancellation : merge
NM_Request_Object_Attribute_Value_Update {}
+
+native SpaceHandle
+message NM_DDM_Create_Region : merge NM_DDM_Base {
+ required SpaceHandle space
+ required int32 region
+}
+
+message NM_DDM_Modify_Region : merge NM_DDM_Base {
+ required int32 region
+}
+
+message NM_DDM_Delete_Region : merge NM_DDM_Base {
+ required int32 region
+}
+
+message NM_DDM_Associate_Region : merge NM_DDM_Base {
+ required int32 region
+ required ObjectHandle object
+}
+message NM_DDM_Unassociate_Region : merge NM_DDM_Base {}
+
+message NM_DDM_Register_Object : merge NM_DDM_Base {}
+
+message NM_DDM_Subscribe_Attributes : merge NM_DDM_Base {}
+message NM_DDM_Unsubscribe_Attributes : merge NM_DDM_Base {}
+
+message NM_DDM_Subscribe_Interaction : merge NM_DDM_Base {}
+message NM_DDM_Unsubscribe_Interaction : merge NM_DDM_Subscribe_Interaction {}
+
+message NM_Provide_Attribute_Value_Update : merge
NM_Request_Object_Attribute_Value_Update {}
+
+
+
+message NM_Get_FED_File : merge NetworkMessage {
+ required string FEDid // the FED identifier
+ required string line // one line of the FED file
+}
Index: CertiNetworkMessage.msg
===================================================================
RCS file: CertiNetworkMessage.msg
diff -N CertiNetworkMessage.msg
--- CertiNetworkMessage.msg 15 Jul 2009 20:57:25 -0000 1.2
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,192 +0,0 @@
-
-// ----------------------------------------------------------------------------
-// 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
-//
-// ----------------------------------------------------------------------------
-// CERTI Network Messages description
-// ----------------------------------------------------------------------------
-// The messages related classes will be placed in the certi package
-package certi
-
-// Basic Message is the base class message for CERTI
-native BasicMessage
-
-// Network message is the base class
-// for message exchanged between RTIA and RTIG
-// AKA CERTI Network Message
-native NetworkMessage
-
-// Message is the base class
-// for message exchanged between Federate and RTIA
-// AKA CERTI Message
-native Message
-
-enum SampleMessageType {
- NOT_USED,
- SMT_BASIC,
- SMT_NETWORK_MESSAGE,
- SMT_MESSAGE
-}
-
-native AttributeHandle
-message NM_WithHandleArray : merge NetworkMessage {
- repeated AttributeHandle handle
-}
-
-message NM_DDM_Base : merge NM_WithHandleArray {
- required bool DDM_bool
-}
-
-message NM_Close_Connexion : merge NetworkMessage {}
-
-message NM_Message_Null : merge NetworkMessage {}
-
-message NM_Create_Federation_Execution : merge NetworkMessage {}
-
-message NM_Destroy_Federation_Execution : merge NetworkMessage {}
-
-message NM_Join_Federation_Execution : merge NetworkMessage {}
-
-message NM_Resign_Federation_Execution : merge NetworkMessage {}
-
-message NM_Set_Time_Regulating : merge NetworkMessage {
- required bool regulator
-}
-
-message NM_Set_Time_Constrained : merge NetworkMessage {
- required bool regulator
-}
-
-message NM_Time_Regulation_Enabled : merge NetworkMessage {}
-
-message NM_Time_Constrained_Enabled : merge NetworkMessage {}
-
-native ObjectClassHandle
-message NM_Start_Registration_For_Object_Class : merge NetworkMessage {
- required ObjectClassHandle objectClass
-}
-
-message NM_Stop_Registration_For_Object_Class : merge NetworkMessage {
-}
-
-message NM_Set_Class_Relevance_Advisory_Switch : merge NetworkMessage {
- required bool classRelevanceAdvisorySwitch // value of CRA switch
-}
-
-message NM_Set_Interaction_Relevance_Advisory_Switch : merge NetworkMessage {
- required bool interactionRelevanceAdvisorySwitch // value of IRA switch
-}
-
-message NM_Set_Attribute_Relevance_Advisory_Switch : merge NetworkMessage {
- required bool attributeRelevanceAdvisorySwitch // value of ARA switch
-}
-
-message NM_Set_Attribute_Scope_Advisory_Switch : merge NetworkMessage {
- required bool attributeScopeAdvisorySwitch // value of ASA switch
-}
-
-message NM_Register_Federation_Synchronization_Point : merge NetworkMessage {
- required bool setExists // tell whether if the synchronization set is
specified or not
-}
-
-message NM_Synchronization_Point_Registration_Succeeded : merge NetworkMessage
{}
-
-message NM_Announce_Synchronization_Point : merge NetworkMessage {}
-
-message NM_Synchronization_Point_Achieved : merge NetworkMessage {}
-
-message NM_Federation_Synchronized : merge NetworkMessage {}
-
-message NM_Request_Federation_Save : merge NetworkMessage {}
-
-message NM_Federate_Save_Begun : merge NetworkMessage {}
-
-message NM_Federate_Save_Complete : merge NetworkMessage {}
-
-message NM_Federate_Save_Not_Complete : merge NetworkMessage {}
-
-message NM_Initiate_Federate_Save : merge NetworkMessage {}
-
-message NM_Federation_Saved : merge NetworkMessage {}
-
-message NM_Federation_Not_Saved : merge NetworkMessage {}
-
-message NM_Request_Federation_Restore : merge NetworkMessage {}
-
-message NM_Federate_Restore_Complete : merge NetworkMessage {}
-
-message NM_Federate_Restore_Not_Complete : merge NetworkMessage {}
-
-message NM_Request_Federation_Restore_Succeeded : merge NetworkMessage {}
-
-message NM_Request_Federation_Restore_Failed : merge NetworkMessage {}
-
-message NM_Federation_Restore_Begun : merge NetworkMessage {}
-
-message NM_Initiate_Federate_Restore : merge NetworkMessage {}
-
-message NM_Federation_Restored : merge NetworkMessage {}
-
-message NM_Federation_Not_Restored : merge NetworkMessage {}
-
-message NM_Publish_Object_Class : merge NM_WithHandleArray {}
-
-message NM_Unpublish_Object_Class : merge NetworkMessage {}
-
-native InteractionClassHandle
-message NM_Publish_Interaction_Class : merge NetworkMessage {
- required InteractionClassHandle interactionClass // the interaction
class
-}
-
-message NM_Unpublish_Interaction_Class : merge NM_Publish_Interaction_Class {}
-
-message NM_Subscribe_Object_Class : merge NM_WithHandleArray {}
-
-message NM_Unsubscribe_Object_Class : merge NM_Unpublish_Object_Class {}
-
-message NM_Subscribe_Interaction_Class : merge NM_Publish_Interaction_Class {}
-
-message NM_Unsubscribe_Interaction_Class : merge NM_Publish_Interaction_Class
{}
-
-message NM_Turn_Interactions_On : merge NM_Publish_Interaction_Class {}
-
-message NM_Turn_Interactions_Off : merge NM_Publish_Interaction_Class {}
-
-message NM_Register_Object : merge NetworkMessage {}
-
-message NM_Discover_Object : merge NM_Register_Object {}
-
-message NM_Update_Attribute_Values : merge NM_WithHandleArray {}
-
-message NM_Reflect_Attribute_Values : merge NM_Update_Attribute_Values {}
-
-message NM_Send_Interaction : merge NM_WithHandleArray {}
-
-message NM_Receive_Interaction : merge NM_Send_Interaction {}
-
-message NM_Delete_Object : merge NM_Register_Object {}
-
-message NM_Remove_Object : merge NM_Delete_Object {}
-
-message NM_Change_Attribute_Transport_Type : merge NetworkMessage {}
-
-message NM_Get_FED_File : merge NetworkMessage {
- required string FEDid // the FED identifier
- required string line // one line of the FED file
-}
- [certi-cvs] certi/scripts GenerateMessages.py CERTI_Network...,
certi-cvs <=