You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by kp...@apache.org on 2008/04/11 21:10:10 UTC

svn commit: r647270 - /incubator/qpid/trunk/qpid/cpp/managementgen/schema.py

Author: kpvdr
Date: Fri Apr 11 12:10:05 2008
New Revision: 647270

URL: http://svn.apache.org/viewvc?rev=647270&view=rev
Log:
Patch from Ted Ross: added set methods to hilo types in generated management classes

Modified:
    incubator/qpid/trunk/qpid/cpp/managementgen/schema.py

Modified: incubator/qpid/trunk/qpid/cpp/managementgen/schema.py
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/managementgen/schema.py?rev=647270&r1=647269&r2=647270&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/managementgen/schema.py (original)
+++ incubator/qpid/trunk/qpid/cpp/managementgen/schema.py Fri Apr 11 12:10:05 2008
@@ -115,6 +115,17 @@
       if changeFlag != None:
         stream.write ("        " + changeFlag + " = true;\n")
       stream.write ("    }\n");
+      stream.write ("    inline void set_" + varName + " (" + self.cpp + " val){\n");
+      stream.write ("        sys::RWlock::ScopedWlock writeLock (accessLock);\n")
+      stream.write ("        " + varName + " = val;\n");
+      if self.style == "wm":
+        stream.write ("        if (" + varName + "Low  > val)\n")
+        stream.write ("            " + varName + "Low  = val;\n")
+        stream.write ("        if (" + varName + "High < val)\n")
+        stream.write ("            " + varName + "High = val;\n")
+      if changeFlag != None:
+        stream.write ("        " + changeFlag + " = true;\n")
+      stream.write ("    }\n");
 
   def genHiLoStatResets (self, stream, varName):
     if self.style == "wm":