Exemplo n.º 1
0
 def c_define(self, writer):
     writer.write("typedef enum ")
     writer.write(self.c_name())
     writer.begin_block()
     values = self.names.keys()
     values.sort()
     mask = 0
     for i in values:
         writer.write(self.c_enumname(i))
         mask = mask | (1 << i)
         writer.write(" = (1 << %d)" % (i))
         writer.write(",")
         writer.newline()
         current_default = i + 1
     writer.newline()
     writer.write(codegen.prefix_underscore_upper(self.name.upper(),
                                                  "MASK"))
     writer.write(" = 0x%x" % (mask))
     writer.newline()
     writer.end_block(newline=False)
     writer.write(" ")
     writer.write(self.c_name())
     writer.write(";")
     writer.newline()
     writer.newline()
Exemplo n.º 2
0
 def c_define(self, writer):
     writer.write("enum ")
     writer.write(self.c_name())
     writer.begin_block()
     values = self.names.keys()
     values.sort()
     current_default = 0
     for i in values:
         writer.write(self.c_enumname(i))
         if i != current_default:
             writer.write(" = %d" % (i))
         writer.write(",")
         writer.newline()
         current_default = i + 1
     writer.newline()
     writer.write(codegen.prefix_underscore_upper(self.name.upper(), "ENUM_END"))
     writer.newline()
     writer.end_block(semicolon=True)
     writer.newline()
Exemplo n.º 3
0
 def c_define(self, writer):
     writer.write("enum ")
     writer.write(self.c_name())
     writer.begin_block()
     values = self.names.keys()
     values.sort()
     mask = 0
     for i in values:
         writer.write(self.c_enumname(i))
         mask = mask |  (1<<i)
         writer.write(" = (1 << %d)" % (i))
         writer.write(",")
         writer.newline()
         current_default = i + 1
     writer.newline()
     writer.write(codegen.prefix_underscore_upper(self.name.upper(), "MASK"))
     writer.write(" = 0x%x" % (mask))
     writer.newline()
     writer.end_block(semicolon=True)
     writer.newline()
Exemplo n.º 4
0
 def c_enumname_by_name(self, name):
     if self.has_attr("prefix"):
         return self.attributes["prefix"][0] + name
     return codegen.prefix_underscore_upper(self.name.upper(), name)
Exemplo n.º 5
0
 def c_enumname(self, value):
     if self.has_attr("prefix"):
         return self.attributes["prefix"][0] + self.names[value]
     return codegen.prefix_underscore_upper(self.name.upper(), self.names[value])
Exemplo n.º 6
0
 def c_enumname_by_name(self, name):
     if self.has_attr("prefix"):
         return self.attributes["prefix"][0] + name
     return codegen.prefix_underscore_upper(self.name.upper(), name)
Exemplo n.º 7
0
 def c_enumname(self, value):
     if self.has_attr("prefix"):
         return self.attributes["prefix"][0] + self.names[value]
     return codegen.prefix_underscore_upper(self.name.upper(), self.names[value])