On Tue, Sep 11, 2012 at 07:42:41PM +0200, Michal Privoznik wrote: > which is basically a wrapper for virConnectGetType(). > --- > examples/conn-test.c | 12 ++++++ > libvirt-gobject/libvirt-gobject-connection.c | 53 ++++++++++++++++++++++++++ > libvirt-gobject/libvirt-gobject-connection.h | 3 + > libvirt-gobject/libvirt-gobject.sym | 5 ++ > 4 files changed, 73 insertions(+), 0 deletions(-) > > diff --git a/examples/conn-test.c b/examples/conn-test.c > index 8c70997..b90d2b0 100644 > --- a/examples/conn-test.c > +++ b/examples/conn-test.c > @@ -31,11 +31,23 @@ do_connection_open(GObject *source, > { > GVirConnection *conn = GVIR_CONNECTION(source); > GError *err = NULL; > + gchar *hv_name = NULL; > > if (!gvir_connection_open_finish(conn, res, &err)) { > g_error("%s", err->message); > + goto cleanup; > } > g_print("Connected to libvirt\n"); > + > + if (!(hv_name = gvir_connection_get_hypervisor_name(conn, &err))) { > + g_error("%s", err->message); > + goto cleanup; > + } > + > + g_print("Hypervisor name: %s\n", hv_name); > + > +cleanup: > + g_free(hv_name); > g_object_unref(conn); > } > > diff --git a/libvirt-gobject/libvirt-gobject-connection.c b/libvirt-gobject/libvirt-gobject-connection.c > index d826905..f0be875 100644 > --- a/libvirt-gobject/libvirt-gobject-connection.c > +++ b/libvirt-gobject/libvirt-gobject-connection.c > @@ -1025,6 +1025,59 @@ const gchar *gvir_connection_get_uri(GVirConnection *conn) > return conn->priv->uri; > } > > +/** > + * gvir_connection_get_hypervisor_name: > + * @conn: a #GVirConnection > + * @err: return location for any #GError > + * > + * Get name of current hypervisor used. > + * > + * Return value: new string that should be freed when no longer needed, > + * or NULL upon error. > + */ > +gchar * > +gvir_connection_get_hypervisor_name(GVirConnection *conn, > + GError **err) > +{ > + GVirConnectionPrivate *priv; > + virConnectPtr vconn = NULL; > + gchar *ret = NULL; > + const char *type; > + > + g_return_val_if_fail(GVIR_IS_CONNECTION(conn), NULL); Minor nit, I'd add a g_return_val_if_fail(err == NULL || *err == NULL, NULL); Looks good to me otherwise. Christophe
Attachment:
pgpPBUENu7wC8.pgp
Description: PGP signature
-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list