Commit 24fa7da3 authored by Marc-André Lureau's avatar Marc-André Lureau Committed by Gerd Hoffmann
Browse files

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: default avatarMarc-André Lureau <marcandre.lureau@redhat.com>
Tested-by: default avatarVictor Toso <victortoso@redhat.com>
Message-id: 20190221110703.5775-7-marcandre.lureau@redhat.com
Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
parent 5b1638bc
Loading
Loading
Loading
Loading
+5 −23
Original line number Diff line number Diff line
@@ -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 <spice.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 {
    GSource               source;
    SpiceChardev       *scd;
@@ -315,7 +297,7 @@ static void qemu_chr_open_spice_vmc(Chardev *chr,
    chr_open(chr, type);
}

static void qemu_chr_open_spice_port(Chardev *chr,
void qemu_chr_open_spice_port(Chardev *chr,
                              ChardevBackend *backend,
                              bool *be_opened,
                              Error **errp)
+27 −0
Original line number Diff line number Diff line
#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