codegen: Fix enums.h generation

With the new usbredir code we have the new concept of the abstract /
generic spicevmc channel type (which just tunnels data from a qemu chardev),
and we've the usbredir channel, which is the only current user of this.

This was reflected in the protocols enum in spice-protocol.h by a manual
edit done by me, my bad. This patch teaches spice.proto about the relation
between the abstract spicevmc channel and the usbredir channel and
modifies codegen to deal with this.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
This commit is contained in:
Hans de Goede 2012-01-12 13:24:52 +01:00 committed by Marc-André Lureau
parent f74d9176a7
commit cdb54a8fa5
2 changed files with 7 additions and 2 deletions

View File

@ -947,6 +947,9 @@ class ChannelType(Type):
server_messages_byname = self.base.server_messages_byname.copy()
client_messages = self.base.client_messages[:]
client_messages_byname = self.base.client_messages_byname.copy()
# Set default member_name, FooChannel -> foo
self.member_name = self.name[:-7].lower()
else:
server_messages = []
server_messages_byname = {}
@ -998,7 +1001,6 @@ class ProtocolMember:
def resolve(self, protocol):
self.channel_type = self.channel_type.resolve()
assert(self.channel_type.member_name == None)
self.channel_type.member_name = self.name
return self

View File

@ -1112,13 +1112,16 @@ client:
Data data = 101;
};
channel UsbredirChannel : BaseChannel {
channel SpicevmcChannel : BaseChannel {
server:
Data data = 101;
client:
Data data = 101;
};
channel UsbredirChannel : SpicevmcChannel {
};
protocol Spice {
MainChannel main = 1;
DisplayChannel display;