Example #1
0
 def _write_header_file(self, cat, struct_name, header_file, filter_file):
     self._write_header_preamble(struct_name, header_file)
             
     header_file.write("\tchar *\tid;\n")
     header_file.write("\tchar *\torderid;\n")
     filter_names = ['id']
 # TODO - get all attributes (using Category.allAttrs)
 # TODO - Use templating for header generation
     for name, attr in cat.attrs.items():
         if attr.scope is OCCI.Scope.All:
             #TODO Templating functions should check legacy type as well
             varType = attr.legacytype if attr.legacytype != None else ctypes.from_platform_type(attr.attrtype)
             header_file.write("\t" + varType + "\t" + name + ";\n")
             filter_names.append(name)
     
     for name, coll in cat.colls.items():
         if coll.scope is OCCI.Scope.All:
             varType = "char *"
             if (coll.multiplicity.max is OCCI.Cardinality.Unbounded):
                 varType = "int"
             if (coll.legacytype != None):
                 varType = coll.legacytype
             header_file.write("\t" + varType + "\t" + name + ";\n")
             filter_names.append(name) 
                      
     self._write_header_conclusion(header_file)
     
     self._write_filter_struct(struct_name, filter_names, filter_file)
Example #2
0
 def _write_header_file(self, cat, struct_name, f):
     f.write("#ifndef _" + struct_name + "_h\n")
     f.write("#define _" + struct_name + "_h\n\n")
     f.write("struct\t" + struct_name + "\n")
     f.write("{\n")
     f.write("\tchar *\tid;\n")
 # TODO - get all attributes (using Category.allAttrs)
 # TODO - Use templating for header generation
     for name, attr in cat.attrs.items():
         if attr.scope is OCCI.Scope.All:
             #TODO Templating functions should check legacy type as well
             varType = attr.legacytype if attr.legacytype != None else ctypes.from_platform_type(attr.attrtype)
             f.write("\t" + varType + "\t" + name + ";\n")
     
     for name, coll in cat.colls.items():
         if coll.scope is OCCI.Scope.All:
             varType = "char *"
             if (coll.multiplicity.max is OCCI.Cardinality.Unbounded):
                 varType = "int"
             if (coll.legacytype != None):
                 varType = coll.legacytype
             f.write("\t" + varType + "\t" + name + ";\n")
     
     f.write("};\n\n")
     f.write("#endif\n")
Example #3
0
    def _write_header_file(self, cat, struct_name, header_file, filter_file):
        self._write_header_preamble(struct_name, header_file)

        header_file.write("\tchar *\tid;\n")
        filter_names = ['id']
        # TODO - get all attributes (using Category.allAttrs)
        # TODO - Use templating for header generation
        for name, attr in cat.attrs.items():
            if attr.scope is OCCI.Scope.All:
                #TODO Templating functions should check legacy type as well
                varType = attr.legacytype if attr.legacytype != None else ctypes.from_platform_type(
                    attr.attrtype)
                header_file.write("\t" + varType + "\t" + name + ";\n")
                filter_names.append(name)

        for name, coll in cat.colls.items():
            if coll.scope is OCCI.Scope.All:
                varType = "char *"
                if (coll.multiplicity.max is OCCI.Cardinality.Unbounded):
                    varType = "int"
                if (coll.legacytype != None):
                    varType = coll.legacytype
                header_file.write("\t" + varType + "\t" + name + ";\n")
                filter_names.append(name)

        self._write_header_conclusion(header_file)

        self._write_filter_struct(struct_name, filter_names, filter_file)
Example #4
0
    def _write_header_file(self, cat, struct_name, f):
        f.write("#ifndef _" + struct_name + "_h\n")
        f.write("#define _" + struct_name + "_h\n\n")
        f.write("struct\t" + struct_name + "\n")
        f.write("{\n")
        f.write("\tchar *\tid;\n")
        # TODO - get all attributes (using Category.allAttrs)
        # TODO - Use templating for header generation
        for name, attr in cat.attrs.items():
            if attr.scope is OCCI.Scope.All:
                #TODO Templating functions should check legacy type as well
                varType = attr.legacytype if attr.legacytype != None else ctypes.from_platform_type(
                    attr.attrtype)
                f.write("\t" + varType + "\t" + name + ";\n")

        for name, coll in cat.colls.items():
            if coll.scope is OCCI.Scope.All:
                varType = "char *"
                if (coll.multiplicity.max is OCCI.Cardinality.Unbounded):
                    varType = "int"
                if (coll.legacytype != None):
                    varType = coll.legacytype
                f.write("\t" + varType + "\t" + name + ";\n")

        f.write("};\n\n")
        f.write("#endif\n")
Example #5
0
 def test_that_ctypes_from_platform_type_returns_char_ptr_for_string(self):
     assert_that(ctypes.from_platform_type('string'), is_('char *'))
Example #6
0
 def test_that_ctypes_from_platform_type_returns_int_for_int(self):
     assert_that(ctypes.from_platform_type('int'), is_('int'))
def category_h_members(category_file):
    category = category_for_file(category_file, models)

    for name, type_name in category.backend_type_list():
        cog.outl('{0} {1};'.format(ctypes.from_platform_type(type_name), name))
def category_h_members(category_file):
    category = category_for_file(category_file, models)
    
    for name, type_name in category.backend_type_list():
        cog.outl('{0} {1};'.format(ctypes.from_platform_type(type_name), name))