From ee944c8314287a1037b9ede077583b1cec31ea07 Mon Sep 17 00:00:00 2001 From: Alexander Larsson Date: Tue, 22 Jun 2010 16:03:34 +0200 Subject: Add support for @virtual markup in spice protocol This means the member is not sent on the network at all. Instead its initialized to the attribute argument when demarshalled. This is useful for backwards compatibility support. --- python_modules/demarshal.py | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'python_modules/demarshal.py') diff --git a/python_modules/demarshal.py b/python_modules/demarshal.py index eee659f..a0697a9 100644 --- a/python_modules/demarshal.py +++ b/python_modules/demarshal.py @@ -400,6 +400,9 @@ def write_validate_item(writer, container, item, scope, parent_scope, start, def write_validate_member(writer, container, member, parent_scope, start, want_nw_size, want_mem_size, want_extra_size): + if member.has_attr("virtual"): + return + if member.has_minor_attr(): prefix = "if (minor >= %s)" % (member.get_minor_attr()) newline = False @@ -740,6 +743,10 @@ def write_parse_pointer(writer, t, at_end, dest, member_name, is_64bit, scope): writer.statement("n_ptr++") def write_member_parser(writer, container, member, dest, scope): + if member.has_attr("virtual"): + writer.assign(dest.get_ref(member.name), member.attributes["virtual"][0]) + return + if member.is_switch(): write_switch_parser(writer, container, member, dest, scope) return -- cgit