certi-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[certi-cvs] certi/scripts GenMsgCXX.py


From: certi-cvs
Subject: [certi-cvs] certi/scripts GenMsgCXX.py
Date: Fri, 19 Mar 2010 12:59:37 +0000

CVSROOT:        /sources/certi
Module name:    certi
Changes by:     Eric NOULARD <erk>      10/03/19 12:59:37

Modified files:
        scripts        : GenMsgCXX.py 

Log message:
        Add hasXXXX fro optional field XXXX

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/certi/scripts/GenMsgCXX.py?cvsroot=certi&r1=1.10&r2=1.11

Patches:
Index: GenMsgCXX.py
===================================================================
RCS file: /sources/certi/certi/scripts/GenMsgCXX.py,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -b -r1.10 -r1.11
--- GenMsgCXX.py        17 Mar 2010 09:55:56 -0000      1.10
+++ GenMsgCXX.py        19 Mar 2010 12:59:37 -0000      1.11
@@ -17,7 +17,7 @@
 ## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
 ## USA
 ##
-## $Id: GenMsgCXX.py,v 1.10 2010/03/17 09:55:56 erk Exp $
+## $Id: GenMsgCXX.py,v 1.11 2010/03/19 12:59:37 erk Exp $
 ## ----------------------------------------------------------------------------
 
 """
@@ -205,7 +205,6 @@
                 stream.write(self.getIndent())
                 stream.write("void 
remove"+self.upperFirst(field.name)+"(uint32_t rank)")
                 stream.write(" {"+field.name+".erase("+field.name+".begin() + 
rank);}\n")
-                     
             else:
                 stream.write(self.getIndent())
                 stream.write("const "+targetTypeName+"& 
get"+self.upperFirst(field.name)+"() const")
@@ -217,13 +216,17 @@
                 if field.qualifier == "optional":                              
          
                     stream.write("\n")
                     self.indent();                    
-                    
stream.write(self.getIndent()+"has%s=true;\n"%self.upperFirst(field.name))
+                    
stream.write(self.getIndent()+"_has%s=true;\n"%self.upperFirst(field.name))
                     
stream.write(self.getIndent()+field.name+"=new"+self.upperFirst(field.name)+";\n")
                    
                     self.unIndent()
                     stream.write(self.getIndent())                    
                 else:
                     
stream.write(field.name+"=new"+self.upperFirst(field.name)+";")
                 stream.write("}\n")
+                if field.qualifier == "optional":
+                    stream.write(self.getIndent())
+                    tmp = self.upperFirst(field.name)
+                    stream.write("bool has%s() {return _has%s;}\n"%(tmp,tmp))
             
     def writeDeclarationFieldStatement(self,stream,field):
         stream.write(self.getIndent())     
@@ -236,7 +239,7 @@
         # used to detect whether if the optional field has
         # been given or not.
         if field.qualifier == "optional":
-            stream.write(self.getIndent()+"bool has%s;\n" % 
self.upperFirst(field.name))
+            stream.write(self.getIndent()+"bool _has%s;\n" % 
self.upperFirst(field.name))
                                                     
     def generateHeader(self,stream,factoryOnly=False):
         # write the usual header protecting MACRO
@@ -445,9 +448,9 @@
         indexField = ''
         if field.qualifier == "optional":
             stream.write(self.getIndent())
-            stream.write("msgBuffer.write_bool(has%s);\n" % 
self.upperFirst(field.name))
+            stream.write("msgBuffer.write_bool(_has%s);\n" % 
self.upperFirst(field.name))
             stream.write(self.getIndent())
-            stream.write("if (has%s) {\n" % self.upperFirst(field.name))
+            stream.write("if (_has%s) {\n" % self.upperFirst(field.name))
             self.indent()
         elif field.qualifier == "repeated":
             indexField = '[i]'
@@ -524,9 +527,9 @@
         indexField = ''
         if field.qualifier == "optional":
             stream.write(self.getIndent())
-            stream.write("has%s = msgBuffer.read_bool();\n" % 
self.upperFirst(field.name))
+            stream.write("_has%s = msgBuffer.read_bool();\n" % 
self.upperFirst(field.name))
             stream.write(self.getIndent())
-            stream.write("if (has%s) {\n" % self.upperFirst(field.name))
+            stream.write("if (_has%s) {\n" % self.upperFirst(field.name))
             self.indent()
         elif field.qualifier == "repeated":
             indexField = '[i]'




reply via email to

[Prev in Thread] Current Thread [Next in Thread]