certi-cvs
[Top][All Lists]
Advanced

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

[certi-cvs] certi/scripts GenMessageClass.py


From: certi-cvs
Subject: [certi-cvs] certi/scripts GenMessageClass.py
Date: Wed, 12 Mar 2008 15:04:10 +0000

CVSROOT:        /sources/certi
Module name:    certi
Changes by:     Eric NOULARD <erk>      08/03/12 15:04:10

Modified files:
        scripts        : GenMessageClass.py 

Log message:
        Update gen messgae scripts

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/certi/scripts/GenMessageClass.py?cvsroot=certi&r1=1.1&r2=1.2

Patches:
Index: GenMessageClass.py
===================================================================
RCS file: /sources/certi/certi/scripts/GenMessageClass.py,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- GenMessageClass.py  10 Mar 2008 16:34:43 -0000      1.1
+++ GenMessageClass.py  12 Mar 2008 15:04:09 -0000      1.2
@@ -8,7 +8,7 @@
     print "Usage:\n %s --file=<message> [--verbose] [--help]" % 
os.path.basename(sys.argv[0])
     
 try:
-    opts, args = getopt.getopt(sys.argv[1:], "f:vh", 
["file=","verbose","help"])
+    opts, args = getopt.getopt(sys.argv[1:], "f:t:vh", 
["file=","type=","verbose","help"])
 except getopt.GetoptError, err:
     print >> stderr, "opt = %s, msg = %s" % (err.opt,err.msg)
     usage()
@@ -21,10 +21,13 @@
 
 # default value
 verbose=False
+gentype="header"
 
 for o, a in opts:
     if o in ("-f", "--file"):
         messagefile=a
+    if o in ("-t", "--type"):
+        gentype=a
     if o in ("-v", "--verbose"):
         verbose=True
     if o in ("-h", "--help"):
@@ -35,11 +38,38 @@
 msgFile =  open(messagefile,'r')
 for l in msgFile:
     cname = l.strip('_ \n')
-    cname = cname.title()
-    print "class CERTI_EXPORT NM_%s : public NetworkMessage {" % cname
+    if (gentype.lower()=="header"):
+        print "/*<BEGIN>---------- %s ------------<BEGIN>*/" % cname.title()
+        print "class CERTI_EXPORT NM_%s : public NetworkMessage {" % 
cname.title()
     print "  public:"
+        print "       NM_%s();"  % cname.title()
+        print "       virtual ~NM_%s();"  % cname.title()
+        print "       virtual void serialize();"
+        print "       virtual void deserialize();"
     print "  protected:"
     print "  private:"
     print "};\n"
+        print "/*<END>---------- %s ------------<END>*/\n" % cname.title()
+        
+
+    if (gentype.lower()=="body"):
+        print "/*<BEGIN>---------- %s ------------<BEGIN>*/" % cname.title()
+        print "NM_%s::NM_%s() {"  % (cname.title(),cname.title())
+        print "    this->type = NetworkMessage::%s;" % cname
+        print "    this->name = \"%s\";" % cname
+        print "}"
+        print "NM_%s::~NM_%s() {"  % (cname.title(), cname.title())
+        print "}"       
+        print "void NM_%s::serialize() {"  % cname.title()
+        print "}"
+        print "void NM_%s::deserialize() {" % cname.title()
+        print "}"
+        print "/*<END>---------- %s ------------<END>*/\n" % cname.title()
+
+
+    if (gentype.lower()=="factory"):
+        print "case NetworkMessage::%s:" % cname
+        print "   msg = new NM_%s(); " %cname.title()
+        print "   break;"
 
 msgFile.close()




reply via email to

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