diff options
author | Hans de Goede <hdegoede@redhat.com> | 2011-03-24 11:12:04 +0100 |
---|---|---|
committer | Amit Shah <amit.shah@redhat.com> | 2011-04-28 11:02:31 +0530 |
commit | cd8f7df2891891c3a6c346892545c4407be6699f (patch) | |
tree | 2ef26d7ad81cf8b4ee6715c602b0d9856447e0d0 | |
parent | 0b6d2266e3ee079c0eab4a5d2facacdcd36a329c (diff) |
spice-chardev: listen to frontend guest open / close
Note the vmc_register_interface() in spice_chr_write is left in place
in case someone uses spice-chardev with a frontend which does not have
guest open / close notification.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Alon Levy <alevy@redhat.com>
Signed-off-by: Amit Shah <amit.shah@redhat.com>
-rw-r--r-- | spice-qemu-char.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/spice-qemu-char.c b/spice-qemu-char.c index 517f337c43..fa15a71e14 100644 --- a/spice-qemu-char.c +++ b/spice-qemu-char.c @@ -131,6 +131,18 @@ static void spice_chr_close(struct CharDriverState *chr) qemu_free(s); } +static void spice_chr_guest_open(struct CharDriverState *chr) +{ + SpiceCharDriver *s = chr->opaque; + vmc_register_interface(s); +} + +static void spice_chr_guest_close(struct CharDriverState *chr) +{ + SpiceCharDriver *s = chr->opaque; + vmc_unregister_interface(s); +} + static void print_allowed_subtypes(void) { const char** psubtype; @@ -183,6 +195,8 @@ CharDriverState *qemu_chr_open_spice(QemuOpts *opts) chr->opaque = s; chr->chr_write = spice_chr_write; chr->chr_close = spice_chr_close; + chr->chr_guest_open = spice_chr_guest_open; + chr->chr_guest_close = spice_chr_guest_close; qemu_chr_generic_open(chr); |