summaryrefslogtreecommitdiffstats
path: root/python_modules/codegen.py
Commit message (Collapse)AuthorAgeFilesLines
* Remove codegenMarc-André Lureau2016-03-101-380/+0
| | | | | | | | Codegen generates code specific to spice-common submodule. It's not meant as a generic protocol header or specification. See discussion and commits about spice-common codegen re-import. Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
* codegen: Allow to specify C type for index variableFrediano Ziglio2015-07-231-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>
* codegen: Check we don't pop too many indexesFrediano Ziglio2015-07-231-0/+1
|
* codegen: Optimize code indentation and avoid a loopFrediano Ziglio2015-07-231-2/+1
| | | | Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
* codegen: Fix typo in variable nameFrediano Ziglio2015-07-231-1/+1
| | | | Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
* codegen: Use six.PY3 rather than six.PY2Christophe Fergeau2015-04-141-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.
* Make spice_codegen.py work on both Python 2 and 3Alexander Wauck2015-04-011-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>
* spice_codegen: Always write a channels entry for an ifdef-ed channelHans de Goede2012-03-201-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>
* add ifdef/endif methods to spice code generatorChristophe Fergeau2012-03-201-0/+12
| | | | | These methods will be needed to be able to make some fields optional in spice.proto
* python: remove c-ism trailing ;Marc-André Lureau2012-03-201-3/+3
|
* python_modules/codegen.py: fix indent error in an unused functionAlon Levy2012-03-201-1/+1
|
* support python 2.5.4+ for marshaller/demarshallersAlon Levy2012-03-201-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)
* Support extra prefix in code generatorsAlexander Larsson2012-03-201-0/+1
| | | | | This is require when we add a new spice.proto for the old (major 1) protocol description.
* Initial import of spice protocol description and demarshall generatorAlexander Larsson2012-03-201-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.