summaryrefslogtreecommitdiff
path: root/cpp/managementgen/schema.py
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/managementgen/schema.py')
-rwxr-xr-xcpp/managementgen/schema.py40
1 files changed, 30 insertions, 10 deletions
diff --git a/cpp/managementgen/schema.py b/cpp/managementgen/schema.py
index c3db4eaf53..34121a2544 100755
--- a/cpp/managementgen/schema.py
+++ b/cpp/managementgen/schema.py
@@ -397,6 +397,24 @@ class SchemaArg:
def getDir (self):
return self.dir
+ def genSchema (self, stream):
+ stream.write (" ft = FieldTable ();\n")
+ stream.write (" ft.setString (NAME, \"" + self.name + "\");\n")
+ stream.write (" ft.setInt (TYPE, TYPE_" + self.type.type.base +");\n")
+ stream.write (" ft.setString (DIR, \"" + self.dir + "\");\n")
+ if self.unit != None:
+ stream.write (" ft.setString (UNIT, \"" + self.unit + "\");\n")
+ if self.min != None:
+ stream.write (" ft.setInt (MIN, " + self.min + ");\n")
+ if self.max != None:
+ stream.write (" ft.setInt (MAX, " + self.max + ");\n")
+ if self.maxLen != None:
+ stream.write (" ft.setInt (MAXLEN, " + self.maxLen + ");\n")
+ if self.desc != None:
+ stream.write (" ft.setString (DESC, \"" + self.desc + "\");\n")
+ if self.default != None:
+ stream.write (" ft.setString (DEFAULT, \"" + self.default + "\");\n")
+ stream.write (" buf.put (ft);\n\n")
#=====================================================================================
#
@@ -455,6 +473,16 @@ class SchemaMethod:
dirTag = arg.dir.lower() + "_"
stream.write (" " + ctype + " " + dirTag + arg.getName () + ";\n")
+ def genSchema (self, stream):
+ stream.write (" ft = FieldTable ();\n")
+ stream.write (" ft.setString (NAME, \"" + self.name + "\");\n")
+ stream.write (" ft.setInt (ARGCOUNT, " + str (len (self.args)) + ");\n")
+ if self.desc != None:
+ stream.write (" ft.setString (DESC, \"" + self.desc + "\");\n")
+ stream.write (" buf.put (ft);\n\n")
+ for arg in self.args:
+ arg.genSchema (stream)
+
#=====================================================================================
#
#=====================================================================================
@@ -550,15 +578,6 @@ class SchemaClass:
for inst in self.instElements:
inst.genAccessor (stream)
- def genArgDeclaration (self, stream):
- argsFound = 0
- for method in self.methods:
- argsFound = argsFound + len (method.args)
- for event in self.events:
- argsFound = argsFound + len (event.args)
- if argsFound > 0:
- stream.write ("FieldTable arg;");
-
def genConfigCount (self, stream):
stream.write ("%d" % len (self.configElements))
@@ -683,7 +702,8 @@ class SchemaClass:
number = number + 1
def genMethodSchema (self, stream):
- pass ###########################################################################
+ for method in self.methods:
+ method.genSchema (stream)
def genNameCap (self, stream):
stream.write (self.name.capitalize ())