char-socket: add 'addr' property
Add a property to lookup the connection details. Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
This commit is contained in:
parent
bc763d7144
commit
123676e989
@ -1009,6 +1009,15 @@ static void qemu_chr_parse_socket(QemuOpts *opts, ChardevBackend *backend,
|
|||||||
sock->addr = addr;
|
sock->addr = addr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
char_socket_get_addr(Object *obj, Visitor *v, const char *name,
|
||||||
|
void *opaque, Error **errp)
|
||||||
|
{
|
||||||
|
SocketChardev *s = SOCKET_CHARDEV(obj);
|
||||||
|
|
||||||
|
visit_type_SocketAddress(v, name, &s->addr, errp);
|
||||||
|
}
|
||||||
|
|
||||||
static void char_socket_class_init(ObjectClass *oc, void *data)
|
static void char_socket_class_init(ObjectClass *oc, void *data)
|
||||||
{
|
{
|
||||||
ChardevClass *cc = CHARDEV_CLASS(oc);
|
ChardevClass *cc = CHARDEV_CLASS(oc);
|
||||||
@ -1024,6 +1033,10 @@ static void char_socket_class_init(ObjectClass *oc, void *data)
|
|||||||
cc->chr_add_client = tcp_chr_add_client;
|
cc->chr_add_client = tcp_chr_add_client;
|
||||||
cc->chr_add_watch = tcp_chr_add_watch;
|
cc->chr_add_watch = tcp_chr_add_watch;
|
||||||
cc->chr_update_read_handler = tcp_chr_update_read_handler;
|
cc->chr_update_read_handler = tcp_chr_update_read_handler;
|
||||||
|
|
||||||
|
object_class_property_add(oc, "addr", "SocketAddress",
|
||||||
|
char_socket_get_addr, NULL,
|
||||||
|
NULL, NULL, &error_abort);
|
||||||
}
|
}
|
||||||
|
|
||||||
static const TypeInfo char_socket_type_info = {
|
static const TypeInfo char_socket_type_info = {
|
||||||
|
Loading…
Reference in New Issue
Block a user