spice: add QemuSpiceOps, move migrate_info
Add QemuSpiceOps struct. This struct holds function pointers to the spice functions. It will be initialized with pointers to the stub functions. When spice gets initialized the function pointers will be re-written to the real functions. The spice stubs will move from qemu-spice.h to spice-module.c for that, because they will be needed for both "CONFIG_SPICE=n" and "CONFIG_SPICE=y but spice module not loaded" cases. This patch adds the infrastructure and starts with moving qemu_spice_migrate_info() to QemuSpiceOps. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com> Message-id: 20201019075224.14803-3-kraxel@redhat.com
This commit is contained in:
parent
2e31e210a8
commit
7477477ca7
@ -18,6 +18,11 @@
|
||||
#ifndef QEMU_SPICE_MODULE_H
|
||||
#define QEMU_SPICE_MODULE_H
|
||||
|
||||
struct QemuSpiceOps {
|
||||
int (*migrate_info)(const char *h, int p, int t, const char *s);
|
||||
};
|
||||
|
||||
extern int using_spice;
|
||||
extern struct QemuSpiceOps qemu_spice;
|
||||
|
||||
#endif
|
||||
|
@ -60,11 +60,6 @@ static inline int qemu_spice_set_pw_expire(time_t expires)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
static inline int qemu_spice_migrate_info(const char *h, int p, int t,
|
||||
const char *s)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
static inline int qemu_spice_display_add_client(int csock, int skipauth,
|
||||
int tls)
|
||||
|
@ -437,7 +437,7 @@ void qmp_client_migrate_info(const char *protocol, const char *hostname,
|
||||
return;
|
||||
}
|
||||
|
||||
if (qemu_spice_migrate_info(hostname,
|
||||
if (qemu_spice.migrate_info(hostname,
|
||||
has_port ? port : -1,
|
||||
has_tls_port ? tls_port : -1,
|
||||
cert_subject)) {
|
||||
|
@ -993,8 +993,13 @@ int qemu_spice_display_is_running(SimpleSpiceDisplay *ssd)
|
||||
return spice_display_is_running;
|
||||
}
|
||||
|
||||
static struct QemuSpiceOps real_spice_ops = {
|
||||
.migrate_info = qemu_spice_migrate_info,
|
||||
};
|
||||
|
||||
static void spice_register_config(void)
|
||||
{
|
||||
qemu_spice = real_spice_ops;
|
||||
qemu_add_opts(&qemu_spice_opts);
|
||||
}
|
||||
opts_init(spice_register_config);
|
||||
|
@ -21,3 +21,13 @@
|
||||
#include "ui/qemu-spice-module.h"
|
||||
|
||||
int using_spice;
|
||||
|
||||
static int qemu_spice_migrate_info_stub(const char *h, int p, int t,
|
||||
const char *s)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
struct QemuSpiceOps qemu_spice = {
|
||||
.migrate_info = qemu_spice_migrate_info_stub,
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user