Message ID | 20170316092121.25672-14-marcandre.lureau@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 03/16/2017 06:21 AM, Marc-André Lureau wrote: > 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> > --- > chardev/char-socket.c | 13 +++++++++++++ > 1 file changed, 13 insertions(+) > > diff --git a/chardev/char-socket.c b/chardev/char-socket.c > index 4325a05387..81021c5863 100644 > --- a/chardev/char-socket.c > +++ b/chardev/char-socket.c > @@ -1006,6 +1006,15 @@ static void qemu_chr_parse_socket(QemuOpts *opts, ChardevBackend *backend, > 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) > { > ChardevClass *cc = CHARDEV_CLASS(oc); > @@ -1021,6 +1030,10 @@ static void char_socket_class_init(ObjectClass *oc, void *data) > cc->chr_add_client = tcp_chr_add_client; > cc->chr_add_watch = tcp_chr_add_watch; > 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 = { >
diff --git a/chardev/char-socket.c b/chardev/char-socket.c index 4325a05387..81021c5863 100644 --- a/chardev/char-socket.c +++ b/chardev/char-socket.c @@ -1006,6 +1006,15 @@ static void qemu_chr_parse_socket(QemuOpts *opts, ChardevBackend *backend, 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) { ChardevClass *cc = CHARDEV_CLASS(oc); @@ -1021,6 +1030,10 @@ static void char_socket_class_init(ObjectClass *oc, void *data) cc->chr_add_client = tcp_chr_add_client; cc->chr_add_watch = tcp_chr_add_watch; 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 = {
Add a property to lookup the connection details. Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> --- chardev/char-socket.c | 13 +++++++++++++ 1 file changed, 13 insertions(+)