From: Marc-André Lureau Date: Thu, 21 Feb 2019 11:06:58 +0000 (+0100) Subject: char: move SpiceChardev and open_spice_port() to spice.h header X-Git-Tag: v4.0.0-rc0~83^2~5 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=24fa7da3ca6a6e385e50befa3774b7d427594ce4;p=thirdparty%2Fqemu.git char: move SpiceChardev and open_spice_port() to spice.h header This will allow easier subclassing of SpiceChardev, in upcoming "display: add -display spice-app launching external application" patch. Signed-off-by: Marc-André Lureau Tested-by: Victor Toso Message-id: 20190221110703.5775-7-marcandre.lureau@redhat.com Signed-off-by: Gerd Hoffmann --- diff --git a/chardev/spice.c b/chardev/spice.c index c68e60115bb..2202d50eee1 100644 --- a/chardev/spice.c +++ b/chardev/spice.c @@ -2,30 +2,12 @@ #include "trace.h" #include "ui/qemu-spice.h" #include "chardev/char.h" +#include "chardev/spice.h" #include "qapi/error.h" #include "qemu/error-report.h" #include "qemu/option.h" -#include #include - -typedef struct SpiceChardev { - Chardev parent; - - SpiceCharDeviceInstance sin; - bool active; - bool blocked; - const uint8_t *datapos; - int datalen; - QLIST_ENTRY(SpiceChardev) next; -} SpiceChardev; - -#define TYPE_CHARDEV_SPICE "chardev-spice" -#define TYPE_CHARDEV_SPICEVMC "chardev-spicevmc" -#define TYPE_CHARDEV_SPICEPORT "chardev-spiceport" - -#define SPICE_CHARDEV(obj) OBJECT_CHECK(SpiceChardev, (obj), TYPE_CHARDEV_SPICE) - typedef struct SpiceCharSource { GSource source; SpiceChardev *scd; @@ -315,10 +297,10 @@ static void qemu_chr_open_spice_vmc(Chardev *chr, chr_open(chr, type); } -static void qemu_chr_open_spice_port(Chardev *chr, - ChardevBackend *backend, - bool *be_opened, - Error **errp) +void qemu_chr_open_spice_port(Chardev *chr, + ChardevBackend *backend, + bool *be_opened, + Error **errp) { ChardevSpicePort *spiceport = backend->u.spiceport.data; const char *name = spiceport->fqdn; diff --git a/include/chardev/spice.h b/include/chardev/spice.h new file mode 100644 index 00000000000..6431da32059 --- /dev/null +++ b/include/chardev/spice.h @@ -0,0 +1,27 @@ +#ifndef CHARDEV_SPICE_H_ +#define CHARDEV_SPICE_H_ + +#include +#include "chardev/char-fe.h" + +typedef struct SpiceChardev { + Chardev parent; + + SpiceCharDeviceInstance sin; + bool active; + bool blocked; + const uint8_t *datapos; + int datalen; + QLIST_ENTRY(SpiceChardev) next; +} SpiceChardev; + +#define TYPE_CHARDEV_SPICE "chardev-spice" +#define TYPE_CHARDEV_SPICEVMC "chardev-spicevmc" +#define TYPE_CHARDEV_SPICEPORT "chardev-spiceport" + +#define SPICE_CHARDEV(obj) OBJECT_CHECK(SpiceChardev, (obj), TYPE_CHARDEV_SPICE) + +void qemu_chr_open_spice_port(Chardev *chr, ChardevBackend *backend, + bool *be_opened, Error **errp); + +#endif