[libvirt] [dbus PATCH 06/15] Implement Path property for StorageVol Interface

Ján Tomko jtomko at redhat.com
Thu Jun 14 13:19:57 UTC 2018


On Tue, Jun 12, 2018 at 11:00:19AM +0200, Katerina Koukiou wrote:
>Signed-off-by: Katerina Koukiou <kkoukiou at redhat.com>
>---
> data/org.libvirt.StorageVol.xml |  5 +++++
> src/storagevol.c                | 23 +++++++++++++++++++++++
> tests/test_storage.py           |  1 +
> 3 files changed, 29 insertions(+)
>
>diff --git a/data/org.libvirt.StorageVol.xml b/data/org.libvirt.StorageVol.xml
>index 3b36f3b..03c15c2 100644
>--- a/data/org.libvirt.StorageVol.xml
>+++ b/data/org.libvirt.StorageVol.xml
>@@ -13,5 +13,10 @@
>           value="See https://libvirt.org/html/libvirt-libvirt-storage.html#virStorageVolGetKey"/>
>       <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="const"/>
>     </property>
>+    <property name="Path" type="s" access="read">
>+      <annotation name="org.gtk.GDBus.DocString"
>+          value="See https://libvirt.org/html/libvirt-libvirt-storage.html#virStorageVolGetPath"/>
>+      <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="const"/>
>+    </property>
>   </interface>
> </node>
>diff --git a/src/storagevol.c b/src/storagevol.c
>index 82d81ab..c65e11a 100644
>--- a/src/storagevol.c
>+++ b/src/storagevol.c
>@@ -68,9 +68,32 @@ virtDBusStorageVolGetKey(const gchar *objectPath,
>     *value = g_variant_new("s", key);
> }
>
>+static void
>+virtDBusStorageVolGetPath(const gchar *objectPath,
>+                          gpointer userData,
>+                          GVariant **value,
>+                          GError **error)
>+{
>+    virtDBusConnect *connect = userData;
>+    g_autoptr(virStorageVol) storageVol = NULL;
>+    const gchar *key;
>+

g_autofree gchar *path;

virStorageVolGetPath returns a strdup'd string, unlike
virStorageVolGetKey

Jano

>+    storageVol = virtDBusStorageVolGetVirStorageVol(connect, objectPath,
>+                                                    error);
>+    if (!storageVol)
>+        return;
>+
>+    key = virStorageVolGetPath(storageVol);
>+    if (!key)
>+        return virtDBusUtilSetLastVirtError(error);
>+
>+    *value = g_variant_new("s", key);
>+}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: Digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20180614/69d7ecd5/attachment-0001.sig>


More information about the libvir-list mailing list