summaryrefslogtreecommitdiff
path: root/python_modules/codegen.py
AgeCommit message (Collapse)AuthorFilesLines
2016-03-10Revert "Remove files moved to spice-protocol"Marc-André Lureau1-0/+380
This reverts commit 7665dcf1bb2fa0b16b3d0015b28d7f5912664c3f. Also revert the related build-sys changes to fix the build. codegen generated code depends on spice-common code (marshaller, messages etc), it makes more sense to keep the generator along this. Otherwise a newer protocol release will fail to build older projects. *.proto files are required as well, since it generates code that parent modules depend on unconditionnaly. Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2015-08-11Remove files moved to spice-protocolFrediano Ziglio1-380/+0
Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
2015-07-23codegen: Allow to specify C type for index variableFrediano Ziglio1-1/+3
This is to prepare to generate the wireshark dissector which uses glib types instead of the newer C ones (for compatibility with some compilers). Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
2015-07-23codegen: Check we don't pop too many indexesFrediano Ziglio1-0/+1
2015-07-23codegen: Optimize code indentation and avoid a loopFrediano Ziglio1-2/+1
Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
2015-07-23codegen: Fix typo in variable nameFrediano Ziglio1-1/+1
Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
2015-04-14codegen: Use six.PY3 rather than six.PY2Christophe Fergeau1-3/+3
Older versions of python-six (at least 1.3.0) defined six.PY3 but not six.PY2. six.PY2 is only used twice in straightforward tests so it's easy to use six.PY3 instead.
2015-04-01Make spice_codegen.py work on both Python 2 and 3Alexander Wauck1-12/+16
This is a new version of my previous patch that does not include six.py. It's still kind of big, but at least it's all spice-common changes now. There are also a few other fixes that Christophe brought to my attention. Note that six now needs to be installed on the system (python-six on Fedora and Debian, six on PyPI). This *should* be enough to make spice_codegen.py work on both Python 2 and Python 3. The major changes are as follows: * cStringIO.StringIO -> io.StringIO * str vs. unicode updates (io.StringIO doesn't like str) * integer division * foo.has_key(bar) -> bar in foo * import internal_thing -> from . import internal_thing * removed from __future__ import with_statement (might break Python 2.5?) * changed some lambdas to list comprehensions (done by 2to3) * cast some_dict.keys() to list where needed (e.g. for sorting) * use normal type names with isinstance instead of types.WhateverType Signed-off-by: Alexander Wauck <awauck@codeweavers.com>
2012-03-20spice_codegen: Always write a channels entry for an ifdef-ed channelHans de Goede1-0/+6
Before this patch, if a channel is defined conditionally in spice.proto (because it depends on external headers like the smartcard channel), spice_codegen would write an entry to the channels array in spice_get_*_channel_parser which would only take up a place in the array if the ifdef condition is true, thus moving up all other intializers one place when it is not true. This was causing issues (crashes) when building spice-gtk with the combination of usbredir support enabled and smartcard support disabled. This patch fixes this by adding #else { NULL, 0 }, to the generated code. Thanks to coolper chen <lixin.chen@saicocch.com> for reporting this! Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2012-03-20add ifdef/endif methods to spice code generatorChristophe Fergeau1-0/+12
These methods will be needed to be able to make some fields optional in spice.proto
2012-03-20python: remove c-ism trailing ;Marc-André Lureau1-3/+3
2012-03-20python_modules/codegen.py: fix indent error in an unused functionAlon Levy1-1/+1
2012-03-20support python 2.5.4+ for marshaller/demarshallersAlon Levy1-0/+1
Patch adds a "from __future__" import that doesn't affect newer python's but allows python 2.5.4 to run the code (tested under scratchbox, n900 build environment)
2012-03-20Support extra prefix in code generatorsAlexander Larsson1-0/+1
This is require when we add a new spice.proto for the old (major 1) protocol description.
2012-03-20Initial import of spice protocol description and demarshall generatorAlexander Larsson1-0/+354
The "spice.proto" file describes in detail the networking prototcol that spice uses and spice_codegen.py can parse this and generate demarshallers for such network messages.