mirror of https://github.com/xqemu/xqemu.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 <marcandre.lureau@redhat.com> Tested-by: Victor Toso <victortoso@redhat.com> Message-id: 20190221110703.5775-7-marcandre.lureau@redhat.com Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
This commit is contained in:
parent
5b1638bc49
commit
24fa7da3ca
|
@ -2,30 +2,12 @@
|
||||||
#include "trace.h"
|
#include "trace.h"
|
||||||
#include "ui/qemu-spice.h"
|
#include "ui/qemu-spice.h"
|
||||||
#include "chardev/char.h"
|
#include "chardev/char.h"
|
||||||
|
#include "chardev/spice.h"
|
||||||
#include "qapi/error.h"
|
#include "qapi/error.h"
|
||||||
#include "qemu/error-report.h"
|
#include "qemu/error-report.h"
|
||||||
#include "qemu/option.h"
|
#include "qemu/option.h"
|
||||||
#include <spice.h>
|
|
||||||
#include <spice/protocol.h>
|
#include <spice/protocol.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)
|
|
||||||
|
|
||||||
typedef struct SpiceCharSource {
|
typedef struct SpiceCharSource {
|
||||||
GSource source;
|
GSource source;
|
||||||
SpiceChardev *scd;
|
SpiceChardev *scd;
|
||||||
|
@ -315,10 +297,10 @@ static void qemu_chr_open_spice_vmc(Chardev *chr,
|
||||||
chr_open(chr, type);
|
chr_open(chr, type);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void qemu_chr_open_spice_port(Chardev *chr,
|
void qemu_chr_open_spice_port(Chardev *chr,
|
||||||
ChardevBackend *backend,
|
ChardevBackend *backend,
|
||||||
bool *be_opened,
|
bool *be_opened,
|
||||||
Error **errp)
|
Error **errp)
|
||||||
{
|
{
|
||||||
ChardevSpicePort *spiceport = backend->u.spiceport.data;
|
ChardevSpicePort *spiceport = backend->u.spiceport.data;
|
||||||
const char *name = spiceport->fqdn;
|
const char *name = spiceport->fqdn;
|
||||||
|
|
|
@ -0,0 +1,27 @@
|
||||||
|
#ifndef CHARDEV_SPICE_H_
|
||||||
|
#define CHARDEV_SPICE_H_
|
||||||
|
|
||||||
|
#include <spice.h>
|
||||||
|
#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
|
Loading…
Reference in New Issue