summaryrefslogtreecommitdiff
path: root/cpp/managementgen/qmfgen/generate.py
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/managementgen/qmfgen/generate.py')
-rwxr-xr-xcpp/managementgen/qmfgen/generate.py20
1 files changed, 16 insertions, 4 deletions
diff --git a/cpp/managementgen/qmfgen/generate.py b/cpp/managementgen/qmfgen/generate.py
index 255d41ea0e..7173c2faa1 100755
--- a/cpp/managementgen/qmfgen/generate.py
+++ b/cpp/managementgen/qmfgen/generate.py
@@ -388,30 +388,39 @@ class Generator:
def setVariable (self, key, value):
self.variables[key] = value
- def makeClassFiles (self, templateFile, schema, force=False):
+ def makeClassFiles (self, templateFile, schema, force=False, vars=None):
""" Generate an expanded template per schema class """
classes = schema.getClasses ()
template = Template (self.input + templateFile, self)
+ if vars:
+ for arg in vars:
+ self.setVariable(arg, vars[arg])
self.templateFiles.append (templateFile)
for _class in classes:
target = self.targetClassFile (_class, templateFile)
stream = template.expand (_class)
self.writeIfChanged (stream, target, force)
- def makeEventFiles (self, templateFile, schema, force=False):
+ def makeEventFiles (self, templateFile, schema, force=False, vars=None):
""" Generate an expanded template per schema event """
events = schema.getEvents()
template = Template (self.input + templateFile, self)
+ if vars:
+ for arg in vars:
+ self.setVariable(arg, vars[arg])
self.templateFiles.append (templateFile)
for event in events:
target = self.targetEventFile(event, templateFile)
stream = template.expand(event)
self.writeIfChanged(stream, target, force)
- def makeMethodFiles (self, templateFile, schema, force=False):
+ def makeMethodFiles (self, templateFile, schema, force=False, vars=None):
""" Generate an expanded template per method-with-arguments """
classes = schema.getClasses ()
template = Template (self.input + templateFile, self)
+ if vars:
+ for arg in vars:
+ self.setVariable(arg, vars[arg])
self.templateFiles.append (templateFile)
for _class in classes:
methods = _class.getMethods ()
@@ -421,9 +430,12 @@ class Generator:
stream = template.expand (method)
self.writeIfChanged (stream, target, force)
- def makePackageFile (self, templateFile, schema, force=False):
+ def makePackageFile (self, templateFile, schema, force=False, vars=None):
""" Generate a package-specific file """
template = Template (self.input + templateFile, self)
+ if vars:
+ for arg in vars:
+ self.setVariable(arg, vars[arg])
self.templateFiles.append (templateFile)
target = self.targetPackageFile (schema, templateFile)
stream = template.expand (schema)