def genV2ClassDefines()

in managementgen/qmfgen/schema.py [0:0]


  def genV2ClassDefines(self, stream, variables):
      for _class in self.classes:
          stream.write("\n    //\n    // Data: %s\n    //\n" % _class.name)
          stream.write("    data_%s = qmf::Schema(SCHEMA_TYPE_DATA, package, \"%s\");\n" % (_class.name, _class.name))

          for prop in _class.properties:
              typeName, subType = self.qmfv2Type(prop.type)
              access = self.qmfv2Access(prop.access)
              stream.write("    {\n")
              stream.write("        qmf::SchemaProperty prop(\"%s\", %s);\n" % (prop.name, typeName))
              if subType:
                  stream.write("        prop.setSubtype(\"%s\");\n" % subType)
              stream.write("        prop.setAccess(%s);\n" % access)
              if prop.isIndex == 1:
                  stream.write("        prop.setIndex(true);\n")
              if prop.isOptional == 1:
                  stream.write("        prop.setOptional(true);\n")
              if prop.unit:
                  stream.write("        prop.setUnit(\"%s\");\n" % prop.unit)
              if prop.desc:
                  stream.write("        prop.setDesc(\"%s\");\n" % prop.desc)
              stream.write("        data_%s.addProperty(prop);\n" % _class.name)
              stream.write("    }\n\n")

          for stat in _class.statistics:
              typeName, subType = self.qmfv2Type(stat.type)
              stream.write("    {\n")
              stream.write("        qmf::SchemaProperty prop(\"%s\", %s);\n" % (stat.name, typeName))
              if subType:
                  stream.write("        prop.setSubtype(\"%s\");\n" % subType)
              if stat.unit:
                  stream.write("        prop.setUnit(\"%s\");\n" % stat.unit)
              if stat.desc:
                  stream.write("        prop.setDesc(\"%s\");\n" % stat.desc)
              stream.write("        data_%s.addProperty(prop);\n" % _class.name)
              stream.write("    }\n\n")

          for method in _class.methods:
              stream.write("    {\n")
              stream.write("        qmf::SchemaMethod method(\"%s\");\n" % method.name)
              if method.desc:
                  stream.write("        method.setDesc(\"%s\");\n" % method.desc)
                  
              for arg in method.args:
                  typeName, subType = self.qmfv2Type(arg.type)
                  stream.write("        {\n")
                  stream.write("            qmf::SchemaProperty arg(\"%s\", %s);\n" % (arg.name, typeName))
                  if subType:
                      stream.write("            arg.setSubtype(\"%s\");\n" % subType)
                  if arg.unit:
                      stream.write("            arg.setUnit(\"%s\");\n" % arg.unit)
                  if arg.desc:
                      stream.write("            arg.setDesc(\"%s\");\n" % arg.desc)
                  stream.write("            arg.setDirection(%s);\n" % self.qmfv2Dir(arg.dir))
                  stream.write("            method.addArgument(arg);\n")
                  stream.write("        }\n\n")
                  
              stream.write("        data_%s.addMethod(method);\n" % _class.name)
              stream.write("    }\n\n")

          stream.write("    session.registerSchema(data_%s);\n" % _class.name)

      for _event in self.events:
          stream.write("\n    //\n    // Event: %s\n    //\n" % _event.name)
          stream.write("    event_%s = qmf::Schema(SCHEMA_TYPE_EVENT, package, \"%s\");\n" % (_event.name, _event.name))
          stream.write("    event_%s.setDefaultSeverity(%s);\n" % (_event.name, self.qmfv2Severity(_event.sev)))
          for prop in _event.args:
              typeName, subType = self.qmfv2Type(prop.type)
              stream.write("    {\n")
              stream.write("        qmf::SchemaProperty prop(\"%s\", %s);\n" % (prop.name, typeName))
              if subType:
                  stream.write("        prop.setSubtype(\"%s\");\n" % subType)
              if prop.unit:
                  stream.write("        prop.setUnit(\"%s\");\n" % prop.unit)
              if prop.desc:
                  stream.write("        prop.setDesc(\"%s\");\n" % prop.desc)
              stream.write("        event_%s.addProperty(prop);\n" % _event.name)
              stream.write("    }\n\n")

          stream.write("    session.registerSchema(event_%s);\n" % _event.name)