summaryrefslogtreecommitdiff
path: root/python_modules
diff options
context:
space:
mode:
authorMarc-André Lureau <marcandre.lureau@redhat.com>2011-06-18 00:08:35 +0200
committerMarc-André Lureau <marcandre.lureau@gmail.com>2012-03-20 15:25:53 +0100
commit7f9e2cb1f7cdae2695486ea34f862f1832a14010 (patch)
tree839bdf6cb0da0356708ab836941759aea34c7b2a /python_modules
parentf492c12364d7b751e9e2f480b977d2275eb8a75f (diff)
codegen: typedef the protocol enums
Commit 9d5ef9beeca722b2ceff7d15aaa3aaaaf07ecfbf in spice-protocol introduced a typedef manually in the generated enums.h header. This patch adds them automatically to all enums during enums.h generation.
Diffstat (limited to 'python_modules')
-rw-r--r--python_modules/ptypes.py16
1 files changed, 12 insertions, 4 deletions
diff --git a/python_modules/ptypes.py b/python_modules/ptypes.py
index 9c4b7de..9e444f5 100644
--- a/python_modules/ptypes.py
+++ b/python_modules/ptypes.py
@@ -280,7 +280,7 @@ class EnumType(EnumBaseType):
return "enum %s" % self.name
def c_define(self, writer):
- writer.write("enum ")
+ writer.write("typedef enum ")
writer.write(self.c_name())
writer.begin_block()
values = self.names.keys()
@@ -296,7 +296,11 @@ class EnumType(EnumBaseType):
writer.newline()
writer.write(codegen.prefix_underscore_upper(self.name.upper(), "ENUM_END"))
writer.newline()
- writer.end_block(semicolon=True)
+ writer.end_block(newline=False)
+ writer.write(" ")
+ writer.write(self.c_name())
+ writer.write(";")
+ writer.newline()
writer.newline()
class FlagsType(EnumBaseType):
@@ -330,7 +334,7 @@ class FlagsType(EnumBaseType):
return "flags %s" % self.name
def c_define(self, writer):
- writer.write("enum ")
+ writer.write("typedef enum ")
writer.write(self.c_name())
writer.begin_block()
values = self.names.keys()
@@ -347,7 +351,11 @@ class FlagsType(EnumBaseType):
writer.write(codegen.prefix_underscore_upper(self.name.upper(), "MASK"))
writer.write(" = 0x%x" % (mask))
writer.newline()
- writer.end_block(semicolon=True)
+ writer.end_block(newline=False)
+ writer.write(" ")
+ writer.write(self.c_name())
+ writer.write(";")
+ writer.newline()
writer.newline()
class ArrayType(Type):