[libvirt] [dbus PATCH v2 00/11] Some code move to have functions sorted

Better do it now before the projects grows more. Katerina Koukiou (11): APIs should appear in alphabetical order: Move Active property APIs should appear in alphabetical order: Move Autostart property APIs should appear in alphabetical order: Move Id property APIs should appear in alphabetical order: Move UUID property APIs should appear in alphabetical order: Move Create method APIs should appear in alphabetical order: Move Destroy method APIs should appear in alphabetical order: Move GetStats method APIs should appear in alphabetical order: Move Resume method APIs should appear in alphabetical order: Move Undefine method APIs should appear in alphabetical order: Move Shutdown method APIs should appear in alphabetical order: Move ListDomains method data/org.libvirt.Connect.xml | 12 +-- data/org.libvirt.Domain.xml | 54 +++++------ src/connect.c | 82 ++++++++-------- src/domain.c | 220 +++++++++++++++++++++---------------------- test/test_connect.py | 24 ++--- test/test_domain.py | 46 ++++----- 6 files changed, 219 insertions(+), 219 deletions(-) -- 2.15.0

Signed-off-by: Katerina Koukiou <kkoukiou@redhat.com> --- data/org.libvirt.Domain.xml | 8 ++++---- src/domain.c | 44 ++++++++++++++++++++++---------------------- test/test_domain.py | 2 +- 3 files changed, 27 insertions(+), 27 deletions(-) diff --git a/data/org.libvirt.Domain.xml b/data/org.libvirt.Domain.xml index 7679018..1bbb383 100644 --- a/data/org.libvirt.Domain.xml +++ b/data/org.libvirt.Domain.xml @@ -3,6 +3,10 @@ <node name="/org/libvirt/domain"> <interface name="org.libvirt.Domain"> + <property name="Active" type="b" access="read"> + <annotation name="org.gtk.GDBus.DocString" + value="See https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainIsActive"/> + </property> <property name="Name" type="s" access="read"> <annotation name="org.gtk.GDBus.DocString" value="See https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainGetName"/> @@ -19,10 +23,6 @@ <annotation name="org.gtk.GDBus.DocString" value="See https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainGetOSType"/> </property> - <property name="Active" type="b" access="read"> - <annotation name="org.gtk.GDBus.DocString" - value="See https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainIsActive"/> - </property> <property name="Persistent" type="b" access="read"> <annotation name="org.gtk.GDBus.DocString" value="See https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainIsPersistent"/> diff --git a/src/domain.c b/src/domain.c index 0066788..92cf21a 100644 --- a/src/domain.c +++ b/src/domain.c @@ -24,6 +24,27 @@ virtDBusDomainGetVirDomain(virtDBusConnect *connect, return domain; } +static void +virtDBusDomainGetActive(const gchar *objectPath, + gpointer userData, + GVariant **value, + GError **error) +{ + virtDBusConnect *connect = userData; + g_autoptr(virDomain) domain = NULL; + gint active; + + domain = virtDBusDomainGetVirDomain(connect, objectPath, error); + if (!domain) + return; + + active = virDomainIsActive(domain); + if (active < 0) + return virtDBusUtilSetLastVirtError(error); + + *value = g_variant_new("b", !!active); +} + static void virtDBusDomainGetName(const gchar *objectPath, gpointer userData, @@ -107,27 +128,6 @@ virtDBusDomainGetOsType(const gchar *objectPath, *value = g_variant_new("s", osType); } -static void -virtDBusDomainGetActive(const gchar *objectPath, - gpointer userData, - GVariant **value, - GError **error) -{ - virtDBusConnect *connect = userData; - g_autoptr(virDomain) domain = NULL; - gint active; - - domain = virtDBusDomainGetVirDomain(connect, objectPath, error); - if (!domain) - return; - - active = virDomainIsActive(domain); - if (active < 0) - return virtDBusUtilSetLastVirtError(error); - - *value = g_variant_new("b", !!active); -} - static void virtDBusDomainGetPersistent(const gchar *objectPath, gpointer userData, @@ -491,11 +491,11 @@ virtDBusDomainResume(GVariant *inArgs G_GNUC_UNUSED, } static virtDBusGDBusPropertyTable virtDBusDomainPropertyTable[] = { + { "Active", virtDBusDomainGetActive, NULL }, { "Name", virtDBusDomainGetName, NULL }, { "UUID", virtDBusDomainGetUUID, NULL }, { "Id", virtDBusDomainGetId, NULL }, { "OSType", virtDBusDomainGetOsType, NULL }, - { "Active", virtDBusDomainGetActive, NULL }, { "Persistent", virtDBusDomainGetPersistent, NULL }, { "State", virtDBusDomainGetState, NULL }, { "Autostart", virtDBusDomainGetAutostart, NULL }, diff --git a/test/test_domain.py b/test/test_domain.py index 7ec2318..58d389e 100755 --- a/test/test_domain.py +++ b/test/test_domain.py @@ -10,11 +10,11 @@ class TestDomain(libvirttest.BaseTestClass): obj, domain = self.domain() props = obj.GetAll('org.libvirt.Domain', dbus_interface=dbus.PROPERTIES_IFACE) + assert isinstance(props['Active'], dbus.Boolean) assert isinstance(props['Name'], dbus.String) assert isinstance(props['UUID'], dbus.String) assert isinstance(props['Id'], dbus.UInt32) assert isinstance(props['OSType'], dbus.String) - assert isinstance(props['Active'], dbus.Boolean) assert isinstance(props['Persistent'], dbus.Boolean) assert isinstance(props['State'], dbus.String) assert isinstance(props['Autostart'], dbus.Boolean) -- 2.15.0

Signed-off-by: Katerina Koukiou <kkoukiou@redhat.com> --- data/org.libvirt.Domain.xml | 8 ++++---- src/domain.c | 42 +++++++++++++++++++++--------------------- test/test_domain.py | 2 +- 3 files changed, 26 insertions(+), 26 deletions(-) diff --git a/data/org.libvirt.Domain.xml b/data/org.libvirt.Domain.xml index 1bbb383..fd7b085 100644 --- a/data/org.libvirt.Domain.xml +++ b/data/org.libvirt.Domain.xml @@ -7,6 +7,10 @@ <annotation name="org.gtk.GDBus.DocString" value="See https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainIsActive"/> </property> + <property name="Autostart" type="b" access="read"> + <annotation name="org.gtk.GDBus.DocString" + value="See https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainGetAutostart"/> + </property> <property name="Name" type="s" access="read"> <annotation name="org.gtk.GDBus.DocString" value="See https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainGetName"/> @@ -31,10 +35,6 @@ <annotation name="org.gtk.GDBus.DocString" value="See https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainGetState"/> </property> - <property name="Autostart" type="b" access="read"> - <annotation name="org.gtk.GDBus.DocString" - value="See https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainGetAutostart"/> - </property> <method name="GetVcpus"> <annotation name="org.gtk.GDBus.DocString" value="See https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainGetVcpusFlags"/> diff --git a/src/domain.c b/src/domain.c index 92cf21a..5109392 100644 --- a/src/domain.c +++ b/src/domain.c @@ -45,6 +45,26 @@ virtDBusDomainGetActive(const gchar *objectPath, *value = g_variant_new("b", !!active); } +static void +virtDBusDomainGetAutostart(const gchar *objectPath, + gpointer userData, + GVariant **value, + GError **error) +{ + virtDBusConnect *connect = userData; + g_autoptr(virDomain) domain = NULL; + gint autostart = 0; + + domain = virtDBusDomainGetVirDomain(connect, objectPath, error); + if (!domain) + return; + + if (virDomainGetAutostart(domain, &autostart) < 0) + return virtDBusUtilSetLastVirtError(error); + + *value = g_variant_new("b", !!autostart); +} + static void virtDBusDomainGetName(const gchar *objectPath, gpointer userData, @@ -198,26 +218,6 @@ virtDBusDomainGetState(const gchar *objectPath, *value = g_variant_new("s", string); } -static void -virtDBusDomainGetAutostart(const gchar *objectPath, - gpointer userData, - GVariant **value, - GError **error) -{ - virtDBusConnect *connect = userData; - g_autoptr(virDomain) domain = NULL; - gint autostart = 0; - - domain = virtDBusDomainGetVirDomain(connect, objectPath, error); - if (!domain) - return; - - if (virDomainGetAutostart(domain, &autostart) < 0) - return virtDBusUtilSetLastVirtError(error); - - *value = g_variant_new("b", !!autostart); -} - static void virtDBusDomainGetVcpus(GVariant *inArgs, GUnixFDList *inFDs G_GNUC_UNUSED, @@ -492,13 +492,13 @@ virtDBusDomainResume(GVariant *inArgs G_GNUC_UNUSED, static virtDBusGDBusPropertyTable virtDBusDomainPropertyTable[] = { { "Active", virtDBusDomainGetActive, NULL }, + { "Autostart", virtDBusDomainGetAutostart, NULL }, { "Name", virtDBusDomainGetName, NULL }, { "UUID", virtDBusDomainGetUUID, NULL }, { "Id", virtDBusDomainGetId, NULL }, { "OSType", virtDBusDomainGetOsType, NULL }, { "Persistent", virtDBusDomainGetPersistent, NULL }, { "State", virtDBusDomainGetState, NULL }, - { "Autostart", virtDBusDomainGetAutostart, NULL }, { 0 } }; diff --git a/test/test_domain.py b/test/test_domain.py index 58d389e..9a33758 100755 --- a/test/test_domain.py +++ b/test/test_domain.py @@ -11,13 +11,13 @@ class TestDomain(libvirttest.BaseTestClass): props = obj.GetAll('org.libvirt.Domain', dbus_interface=dbus.PROPERTIES_IFACE) assert isinstance(props['Active'], dbus.Boolean) + assert isinstance(props['Autostart'], dbus.Boolean) assert isinstance(props['Name'], dbus.String) assert isinstance(props['UUID'], dbus.String) assert isinstance(props['Id'], dbus.UInt32) assert isinstance(props['OSType'], dbus.String) assert isinstance(props['Persistent'], dbus.Boolean) assert isinstance(props['State'], dbus.String) - assert isinstance(props['Autostart'], dbus.Boolean) # Call all methods except Reset and GetStats, because the test backend # doesn't support those -- 2.15.0

Signed-off-by: Katerina Koukiou <kkoukiou@redhat.com> --- data/org.libvirt.Domain.xml | 8 ++++---- src/domain.c | 44 ++++++++++++++++++++++---------------------- test/test_domain.py | 2 +- 3 files changed, 27 insertions(+), 27 deletions(-) diff --git a/data/org.libvirt.Domain.xml b/data/org.libvirt.Domain.xml index fd7b085..edf7491 100644 --- a/data/org.libvirt.Domain.xml +++ b/data/org.libvirt.Domain.xml @@ -11,6 +11,10 @@ <annotation name="org.gtk.GDBus.DocString" value="See https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainGetAutostart"/> </property> + <property name="Id" type="u" access="read"> + <annotation name="org.gtk.GDBus.DocString" + value="See https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainGetID"/> + </property> <property name="Name" type="s" access="read"> <annotation name="org.gtk.GDBus.DocString" value="See https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainGetName"/> @@ -19,10 +23,6 @@ <annotation name="org.gtk.GDBus.DocString" value="See https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainGetUUIDString"/> </property> - <property name="Id" type="u" access="read"> - <annotation name="org.gtk.GDBus.DocString" - value="See https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainGetID"/> - </property> <property name="OSType" type="s" access="read"> <annotation name="org.gtk.GDBus.DocString" value="See https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainGetOSType"/> diff --git a/src/domain.c b/src/domain.c index 5109392..87c205f 100644 --- a/src/domain.c +++ b/src/domain.c @@ -45,6 +45,27 @@ virtDBusDomainGetActive(const gchar *objectPath, *value = g_variant_new("b", !!active); } +static void +virtDBusDomainGetId(const gchar *objectPath, + gpointer userData, + GVariant **value, + GError **error) +{ + virtDBusConnect *connect = userData; + g_autoptr(virDomain) domain = NULL; + guint id; + + domain = virtDBusDomainGetVirDomain(connect, objectPath, error); + if (!domain) + return; + + id = virDomainGetID(domain); + if (id == (guint)-1) + id = 0; + + *value = g_variant_new("u", id); +} + static void virtDBusDomainGetAutostart(const gchar *objectPath, gpointer userData, @@ -106,27 +127,6 @@ virtDBusDomainGetUUID(const gchar *objectPath, *value = g_variant_new("s", uuid); } -static void -virtDBusDomainGetId(const gchar *objectPath, - gpointer userData, - GVariant **value, - GError **error) -{ - virtDBusConnect *connect = userData; - g_autoptr(virDomain) domain = NULL; - guint id; - - domain = virtDBusDomainGetVirDomain(connect, objectPath, error); - if (!domain) - return; - - id = virDomainGetID(domain); - if (id == (guint)-1) - id = 0; - - *value = g_variant_new("u", id); -} - static void virtDBusDomainGetOsType(const gchar *objectPath, gpointer userData, @@ -493,9 +493,9 @@ virtDBusDomainResume(GVariant *inArgs G_GNUC_UNUSED, static virtDBusGDBusPropertyTable virtDBusDomainPropertyTable[] = { { "Active", virtDBusDomainGetActive, NULL }, { "Autostart", virtDBusDomainGetAutostart, NULL }, + { "Id", virtDBusDomainGetId, NULL }, { "Name", virtDBusDomainGetName, NULL }, { "UUID", virtDBusDomainGetUUID, NULL }, - { "Id", virtDBusDomainGetId, NULL }, { "OSType", virtDBusDomainGetOsType, NULL }, { "Persistent", virtDBusDomainGetPersistent, NULL }, { "State", virtDBusDomainGetState, NULL }, diff --git a/test/test_domain.py b/test/test_domain.py index 9a33758..c3ffebf 100755 --- a/test/test_domain.py +++ b/test/test_domain.py @@ -12,9 +12,9 @@ class TestDomain(libvirttest.BaseTestClass): props = obj.GetAll('org.libvirt.Domain', dbus_interface=dbus.PROPERTIES_IFACE) assert isinstance(props['Active'], dbus.Boolean) assert isinstance(props['Autostart'], dbus.Boolean) + assert isinstance(props['Id'], dbus.UInt32) assert isinstance(props['Name'], dbus.String) assert isinstance(props['UUID'], dbus.String) - assert isinstance(props['Id'], dbus.UInt32) assert isinstance(props['OSType'], dbus.String) assert isinstance(props['Persistent'], dbus.Boolean) assert isinstance(props['State'], dbus.String) -- 2.15.0

Signed-off-by: Katerina Koukiou <kkoukiou@redhat.com> --- data/org.libvirt.Domain.xml | 8 ++++---- src/domain.c | 42 +++++++++++++++++++++--------------------- test/test_domain.py | 2 +- 3 files changed, 26 insertions(+), 26 deletions(-) diff --git a/data/org.libvirt.Domain.xml b/data/org.libvirt.Domain.xml index edf7491..cd8ff4d 100644 --- a/data/org.libvirt.Domain.xml +++ b/data/org.libvirt.Domain.xml @@ -19,10 +19,6 @@ <annotation name="org.gtk.GDBus.DocString" value="See https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainGetName"/> </property> - <property name="UUID" type="s" access="read"> - <annotation name="org.gtk.GDBus.DocString" - value="See https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainGetUUIDString"/> - </property> <property name="OSType" type="s" access="read"> <annotation name="org.gtk.GDBus.DocString" value="See https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainGetOSType"/> @@ -35,6 +31,10 @@ <annotation name="org.gtk.GDBus.DocString" value="See https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainGetState"/> </property> + <property name="UUID" type="s" access="read"> + <annotation name="org.gtk.GDBus.DocString" + value="See https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainGetUUIDString"/> + </property> <method name="GetVcpus"> <annotation name="org.gtk.GDBus.DocString" value="See https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainGetVcpusFlags"/> diff --git a/src/domain.c b/src/domain.c index 87c205f..cfbaf81 100644 --- a/src/domain.c +++ b/src/domain.c @@ -107,26 +107,6 @@ virtDBusDomainGetName(const gchar *objectPath, *value = g_variant_new("s", name); } -static void -virtDBusDomainGetUUID(const gchar *objectPath, - gpointer userData, - GVariant **value, - GError **error) -{ - virtDBusConnect *connect = userData; - g_autoptr(virDomain) domain = NULL; - gchar uuid[VIR_UUID_STRING_BUFLEN] = ""; - - domain = virtDBusDomainGetVirDomain(connect, objectPath, error); - if (!domain) - return; - - if (virDomainGetUUIDString(domain, uuid) < 0) - return virtDBusUtilSetLastVirtError(error); - - *value = g_variant_new("s", uuid); -} - static void virtDBusDomainGetOsType(const gchar *objectPath, gpointer userData, @@ -218,6 +198,26 @@ virtDBusDomainGetState(const gchar *objectPath, *value = g_variant_new("s", string); } +static void +virtDBusDomainGetUUID(const gchar *objectPath, + gpointer userData, + GVariant **value, + GError **error) +{ + virtDBusConnect *connect = userData; + g_autoptr(virDomain) domain = NULL; + gchar uuid[VIR_UUID_STRING_BUFLEN] = ""; + + domain = virtDBusDomainGetVirDomain(connect, objectPath, error); + if (!domain) + return; + + if (virDomainGetUUIDString(domain, uuid) < 0) + return virtDBusUtilSetLastVirtError(error); + + *value = g_variant_new("s", uuid); +} + static void virtDBusDomainGetVcpus(GVariant *inArgs, GUnixFDList *inFDs G_GNUC_UNUSED, @@ -495,10 +495,10 @@ static virtDBusGDBusPropertyTable virtDBusDomainPropertyTable[] = { { "Autostart", virtDBusDomainGetAutostart, NULL }, { "Id", virtDBusDomainGetId, NULL }, { "Name", virtDBusDomainGetName, NULL }, - { "UUID", virtDBusDomainGetUUID, NULL }, { "OSType", virtDBusDomainGetOsType, NULL }, { "Persistent", virtDBusDomainGetPersistent, NULL }, { "State", virtDBusDomainGetState, NULL }, + { "UUID", virtDBusDomainGetUUID, NULL }, { 0 } }; diff --git a/test/test_domain.py b/test/test_domain.py index c3ffebf..edcf106 100755 --- a/test/test_domain.py +++ b/test/test_domain.py @@ -14,10 +14,10 @@ class TestDomain(libvirttest.BaseTestClass): assert isinstance(props['Autostart'], dbus.Boolean) assert isinstance(props['Id'], dbus.UInt32) assert isinstance(props['Name'], dbus.String) - assert isinstance(props['UUID'], dbus.String) assert isinstance(props['OSType'], dbus.String) assert isinstance(props['Persistent'], dbus.Boolean) assert isinstance(props['State'], dbus.String) + assert isinstance(props['UUID'], dbus.String) # Call all methods except Reset and GetStats, because the test backend # doesn't support those -- 2.15.0

Signed-off-by: Katerina Koukiou <kkoukiou@redhat.com> --- data/org.libvirt.Domain.xml | 10 +++++----- src/domain.c | 48 ++++++++++++++++++++++----------------------- 2 files changed, 29 insertions(+), 29 deletions(-) diff --git a/data/org.libvirt.Domain.xml b/data/org.libvirt.Domain.xml index cd8ff4d..3f91354 100644 --- a/data/org.libvirt.Domain.xml +++ b/data/org.libvirt.Domain.xml @@ -35,6 +35,11 @@ <annotation name="org.gtk.GDBus.DocString" value="See https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainGetUUIDString"/> </property> + <method name="Create"> + <annotation name="org.gtk.GDBus.DocString" + value="See https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainCreateWithFlags"/> + <arg name="flags" type="u" direction="in"/> + </method> <method name="GetVcpus"> <annotation name="org.gtk.GDBus.DocString" value="See https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainGetVcpusFlags"/> @@ -74,11 +79,6 @@ value="See https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainReset"/> <arg name="flags" type="u" direction="in"/> </method> - <method name="Create"> - <annotation name="org.gtk.GDBus.DocString" - value="See https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainCreateWithFlags"/> - <arg name="flags" type="u" direction="in"/> - </method> <method name="Undefine"> <annotation name="org.gtk.GDBus.DocString" value="See https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainUndefineFlags"/> diff --git a/src/domain.c b/src/domain.c index cfbaf81..4e43a36 100644 --- a/src/domain.c +++ b/src/domain.c @@ -218,6 +218,29 @@ virtDBusDomainGetUUID(const gchar *objectPath, *value = g_variant_new("s", uuid); } +static void +virtDBusDomainCreate(GVariant *inArgs, + GUnixFDList *inFDs G_GNUC_UNUSED, + const gchar *objectPath, + gpointer userData, + GVariant **outArgs G_GNUC_UNUSED, + GUnixFDList **outFDs G_GNUC_UNUSED, + GError **error) +{ + virtDBusConnect *connect = userData; + g_autoptr(virDomain) domain = NULL; + guint flags; + + g_variant_get(inArgs, "(u)", &flags); + + domain = virtDBusDomainGetVirDomain(connect, objectPath, error); + if (!domain) + return; + + if (virDomainCreateWithFlags(domain, flags) < 0) + virtDBusUtilSetLastVirtError(error); +} + static void virtDBusDomainGetVcpus(GVariant *inArgs, GUnixFDList *inFDs G_GNUC_UNUSED, @@ -404,29 +427,6 @@ virtDBusDomainReset(GVariant *inArgs, virtDBusUtilSetLastVirtError(error); } -static void -virtDBusDomainCreate(GVariant *inArgs, - GUnixFDList *inFDs G_GNUC_UNUSED, - const gchar *objectPath, - gpointer userData, - GVariant **outArgs G_GNUC_UNUSED, - GUnixFDList **outFDs G_GNUC_UNUSED, - GError **error) -{ - virtDBusConnect *connect = userData; - g_autoptr(virDomain) domain = NULL; - guint flags; - - g_variant_get(inArgs, "(u)", &flags); - - domain = virtDBusDomainGetVirDomain(connect, objectPath, error); - if (!domain) - return; - - if (virDomainCreateWithFlags(domain, flags) < 0) - virtDBusUtilSetLastVirtError(error); -} - static void virtDBusDomainUndefine(GVariant *inArgs, GUnixFDList *inFDs G_GNUC_UNUSED, @@ -503,6 +503,7 @@ static virtDBusGDBusPropertyTable virtDBusDomainPropertyTable[] = { }; static virtDBusGDBusMethodTable virtDBusDomainMethodTable[] = { + { "Create", virtDBusDomainCreate }, { "GetVcpus", virtDBusDomainGetVcpus }, { "GetXMLDesc", virtDBusDomainGetXMLDesc }, { "GetStats", virtDBusDomainGetStats }, @@ -510,7 +511,6 @@ static virtDBusGDBusMethodTable virtDBusDomainMethodTable[] = { { "Destroy", virtDBusDomainDestroy }, { "Reboot", virtDBusDomainReboot }, { "Reset", virtDBusDomainReset }, - { "Create", virtDBusDomainCreate }, { "Undefine", virtDBusDomainUndefine }, { "Suspend", virtDBusDomainSuspend }, { "Resume", virtDBusDomainResume }, -- 2.15.0

Signed-off-by: Katerina Koukiou <kkoukiou@redhat.com> --- data/org.libvirt.Domain.xml | 10 ++++----- src/domain.c | 49 +++++++++++++++++++++++---------------------- 2 files changed, 30 insertions(+), 29 deletions(-) diff --git a/data/org.libvirt.Domain.xml b/data/org.libvirt.Domain.xml index 3f91354..ecd3f04 100644 --- a/data/org.libvirt.Domain.xml +++ b/data/org.libvirt.Domain.xml @@ -40,6 +40,11 @@ value="See https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainCreateWithFlags"/> <arg name="flags" type="u" direction="in"/> </method> + <method name="Destroy"> + <annotation name="org.gtk.GDBus.DocString" + value="See https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainDestroyFlags"/> + <arg name="flags" type="u" direction="in"/> + </method> <method name="GetVcpus"> <annotation name="org.gtk.GDBus.DocString" value="See https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainGetVcpusFlags"/> @@ -64,11 +69,6 @@ value="See https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainShutdownFlags"/> <arg name="flags" type="u" direction="in"/> </method> - <method name="Destroy"> - <annotation name="org.gtk.GDBus.DocString" - value="See https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainDestroyFlags"/> - <arg name="flags" type="u" direction="in"/> - </method> <method name="Reboot"> <annotation name="org.gtk.GDBus.DocString" value="See https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainReboot"/> diff --git a/src/domain.c b/src/domain.c index 4e43a36..f797627 100644 --- a/src/domain.c +++ b/src/domain.c @@ -241,6 +241,30 @@ virtDBusDomainCreate(GVariant *inArgs, virtDBusUtilSetLastVirtError(error); } +static void +virtDBusDomainDestroy(GVariant *inArgs, + GUnixFDList *inFDs G_GNUC_UNUSED, + const gchar *objectPath, + gpointer userData, + GVariant **outArgs G_GNUC_UNUSED, + GUnixFDList **outFDs G_GNUC_UNUSED, + GError **error) +{ + virtDBusConnect *connect = userData; + g_autoptr(virDomain) domain = NULL; + guint flags; + + g_variant_get(inArgs, "(u)", &flags); + + domain = virtDBusDomainGetVirDomain(connect, objectPath, error); + if (!domain) + return; + + if (virDomainDestroyFlags(domain, flags) < 0) + virtDBusUtilSetLastVirtError(error); +} + + static void virtDBusDomainGetVcpus(GVariant *inArgs, GUnixFDList *inFDs G_GNUC_UNUSED, @@ -356,29 +380,6 @@ virtDBusDomainShutdown(GVariant *inArgs, virtDBusUtilSetLastVirtError(error); } -static void -virtDBusDomainDestroy(GVariant *inArgs, - GUnixFDList *inFDs G_GNUC_UNUSED, - const gchar *objectPath, - gpointer userData, - GVariant **outArgs G_GNUC_UNUSED, - GUnixFDList **outFDs G_GNUC_UNUSED, - GError **error) -{ - virtDBusConnect *connect = userData; - g_autoptr(virDomain) domain = NULL; - guint flags; - - g_variant_get(inArgs, "(u)", &flags); - - domain = virtDBusDomainGetVirDomain(connect, objectPath, error); - if (!domain) - return; - - if (virDomainDestroyFlags(domain, flags) < 0) - virtDBusUtilSetLastVirtError(error); -} - static void virtDBusDomainReboot(GVariant *inArgs, GUnixFDList *inFDs G_GNUC_UNUSED, @@ -504,11 +505,11 @@ static virtDBusGDBusPropertyTable virtDBusDomainPropertyTable[] = { static virtDBusGDBusMethodTable virtDBusDomainMethodTable[] = { { "Create", virtDBusDomainCreate }, + { "Destroy", virtDBusDomainDestroy }, { "GetVcpus", virtDBusDomainGetVcpus }, { "GetXMLDesc", virtDBusDomainGetXMLDesc }, { "GetStats", virtDBusDomainGetStats }, { "Shutdown", virtDBusDomainShutdown }, - { "Destroy", virtDBusDomainDestroy }, { "Reboot", virtDBusDomainReboot }, { "Reset", virtDBusDomainReset }, { "Undefine", virtDBusDomainUndefine }, -- 2.15.0

Signed-off-by: Katerina Koukiou <kkoukiou@redhat.com> --- data/org.libvirt.Domain.xml | 14 ++++----- src/domain.c | 75 ++++++++++++++++++++++----------------------- 2 files changed, 44 insertions(+), 45 deletions(-) diff --git a/data/org.libvirt.Domain.xml b/data/org.libvirt.Domain.xml index ecd3f04..651e517 100644 --- a/data/org.libvirt.Domain.xml +++ b/data/org.libvirt.Domain.xml @@ -45,6 +45,13 @@ value="See https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainDestroyFlags"/> <arg name="flags" type="u" direction="in"/> </method> + <method name="GetStats"> + <annotation name="org.gtk.GDBus.DocString" + value="See https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainListGetStats"/> + <arg name="stats" type="u" direction="in"/> + <arg name="flags" type="u" direction="in"/> + <arg name="records" type="a{sv}" direction="out"/> + </method> <method name="GetVcpus"> <annotation name="org.gtk.GDBus.DocString" value="See https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainGetVcpusFlags"/> @@ -57,13 +64,6 @@ <arg name="flags" type="u" direction="in"/> <arg name="xml" type="s" direction="out"/> </method> - <method name="GetStats"> - <annotation name="org.gtk.GDBus.DocString" - value="See https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainListGetStats"/> - <arg name="stats" type="u" direction="in"/> - <arg name="flags" type="u" direction="in"/> - <arg name="records" type="a{sv}" direction="out"/> - </method> <method name="Shutdown"> <annotation name="org.gtk.GDBus.DocString" value="See https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainShutdownFlags"/> diff --git a/src/domain.c b/src/domain.c index f797627..2178352 100644 --- a/src/domain.c +++ b/src/domain.c @@ -264,6 +264,42 @@ virtDBusDomainDestroy(GVariant *inArgs, virtDBusUtilSetLastVirtError(error); } +G_DEFINE_AUTOPTR_CLEANUP_FUNC(virDomainStatsRecordPtr, virDomainStatsRecordListFree); + +static void +virtDBusDomainGetStats(GVariant *inArgs, + GUnixFDList *inFDs G_GNUC_UNUSED, + const gchar *objectPath, + gpointer userData, + GVariant **outArgs, + GUnixFDList **outFDs G_GNUC_UNUSED, + GError **error) +{ + virtDBusConnect *connect = userData; + g_autoptr(virDomain) domain = NULL; + virDomainPtr domains[2]; + g_autoptr(virDomainStatsRecordPtr) records = NULL; + guint stats; + guint flags; + GVariant *grecords; + + g_variant_get(inArgs, "(uu)", &stats, &flags); + + domain = virtDBusDomainGetVirDomain(connect, objectPath, error); + if (!domain) + return; + + domains[0] = domain; + domains[1] = NULL; + + if (virDomainListGetStats(domains, stats, &records, flags) != 1) + return virtDBusUtilSetLastVirtError(error); + + grecords = virtDBusUtilTypedParamsToGVariant(records[0]->params, + records[0]->nparams); + + *outArgs = g_variant_new_tuple(&grecords, 1); +} static void virtDBusDomainGetVcpus(GVariant *inArgs, @@ -320,43 +356,6 @@ virtDBusDomainGetXMLDesc(GVariant *inArgs, *outArgs = g_variant_new("(s)", xml); } -G_DEFINE_AUTOPTR_CLEANUP_FUNC(virDomainStatsRecordPtr, virDomainStatsRecordListFree); - -static void -virtDBusDomainGetStats(GVariant *inArgs, - GUnixFDList *inFDs G_GNUC_UNUSED, - const gchar *objectPath, - gpointer userData, - GVariant **outArgs, - GUnixFDList **outFDs G_GNUC_UNUSED, - GError **error) -{ - virtDBusConnect *connect = userData; - g_autoptr(virDomain) domain = NULL; - virDomainPtr domains[2]; - g_autoptr(virDomainStatsRecordPtr) records = NULL; - guint stats; - guint flags; - GVariant *grecords; - - g_variant_get(inArgs, "(uu)", &stats, &flags); - - domain = virtDBusDomainGetVirDomain(connect, objectPath, error); - if (!domain) - return; - - domains[0] = domain; - domains[1] = NULL; - - if (virDomainListGetStats(domains, stats, &records, flags) != 1) - return virtDBusUtilSetLastVirtError(error); - - grecords = virtDBusUtilTypedParamsToGVariant(records[0]->params, - records[0]->nparams); - - *outArgs = g_variant_new_tuple(&grecords, 1); -} - static void virtDBusDomainShutdown(GVariant *inArgs, GUnixFDList *inFDs G_GNUC_UNUSED, @@ -506,9 +505,9 @@ static virtDBusGDBusPropertyTable virtDBusDomainPropertyTable[] = { static virtDBusGDBusMethodTable virtDBusDomainMethodTable[] = { { "Create", virtDBusDomainCreate }, { "Destroy", virtDBusDomainDestroy }, + { "GetStats", virtDBusDomainGetStats }, { "GetVcpus", virtDBusDomainGetVcpus }, { "GetXMLDesc", virtDBusDomainGetXMLDesc }, - { "GetStats", virtDBusDomainGetStats }, { "Shutdown", virtDBusDomainShutdown }, { "Reboot", virtDBusDomainReboot }, { "Reset", virtDBusDomainReset }, -- 2.15.0

Signed-off-by: Katerina Koukiou <kkoukiou@redhat.com> --- data/org.libvirt.Domain.xml | 8 ++++---- src/domain.c | 42 +++++++++++++++++++++--------------------- test/test_domain.py | 32 ++++++++++++++++---------------- 3 files changed, 41 insertions(+), 41 deletions(-) diff --git a/data/org.libvirt.Domain.xml b/data/org.libvirt.Domain.xml index 651e517..673260c 100644 --- a/data/org.libvirt.Domain.xml +++ b/data/org.libvirt.Domain.xml @@ -79,6 +79,10 @@ value="See https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainReset"/> <arg name="flags" type="u" direction="in"/> </method> + <method name="Resume"> + <annotation name="org.gtk.GDBus.DocString" + value="See https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainResume"/> + </method> <method name="Undefine"> <annotation name="org.gtk.GDBus.DocString" value="See https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainUndefineFlags"/> @@ -88,10 +92,6 @@ <annotation name="org.gtk.GDBus.DocString" value="See https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainSuspend"/> </method> - <method name="Resume"> - <annotation name="org.gtk.GDBus.DocString" - value="See https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainResume"/> - </method> <signal name="DeviceAdded"> <annotation name="org.gtk.GDBus.DocString" value="See https://libvirt.org/html/libvirt-libvirt-domain.html#virConnectDomainEventDeviceAddedCallback"/> diff --git a/src/domain.c b/src/domain.c index 2178352..a16e49f 100644 --- a/src/domain.c +++ b/src/domain.c @@ -427,6 +427,26 @@ virtDBusDomainReset(GVariant *inArgs, virtDBusUtilSetLastVirtError(error); } +static void +virtDBusDomainResume(GVariant *inArgs G_GNUC_UNUSED, + GUnixFDList *inFDs G_GNUC_UNUSED, + const gchar *objectPath, + gpointer userData, + GVariant **outArgs G_GNUC_UNUSED, + GUnixFDList **outFDs G_GNUC_UNUSED, + GError **error) +{ + virtDBusConnect *connect = userData; + g_autoptr(virDomain) domain = NULL; + + domain = virtDBusDomainGetVirDomain(connect, objectPath, error); + if (!domain) + return; + + if (virDomainResume(domain) < 0) + virtDBusUtilSetLastVirtError(error); +} + static void virtDBusDomainUndefine(GVariant *inArgs, GUnixFDList *inFDs G_GNUC_UNUSED, @@ -470,26 +490,6 @@ virtDBusDomainSuspend(GVariant *inArgs G_GNUC_UNUSED, virtDBusUtilSetLastVirtError(error); } -static void -virtDBusDomainResume(GVariant *inArgs G_GNUC_UNUSED, - GUnixFDList *inFDs G_GNUC_UNUSED, - const gchar *objectPath, - gpointer userData, - GVariant **outArgs G_GNUC_UNUSED, - GUnixFDList **outFDs G_GNUC_UNUSED, - GError **error) -{ - virtDBusConnect *connect = userData; - g_autoptr(virDomain) domain = NULL; - - domain = virtDBusDomainGetVirDomain(connect, objectPath, error); - if (!domain) - return; - - if (virDomainResume(domain) < 0) - virtDBusUtilSetLastVirtError(error); -} - static virtDBusGDBusPropertyTable virtDBusDomainPropertyTable[] = { { "Active", virtDBusDomainGetActive, NULL }, { "Autostart", virtDBusDomainGetAutostart, NULL }, @@ -511,9 +511,9 @@ static virtDBusGDBusMethodTable virtDBusDomainMethodTable[] = { { "Shutdown", virtDBusDomainShutdown }, { "Reboot", virtDBusDomainReboot }, { "Reset", virtDBusDomainReset }, + { "Resume", virtDBusDomainResume }, { "Undefine", virtDBusDomainUndefine }, { "Suspend", virtDBusDomainSuspend }, - { "Resume", virtDBusDomainResume }, { 0 } }; diff --git a/test/test_domain.py b/test/test_domain.py index edcf106..ceda19e 100755 --- a/test/test_domain.py +++ b/test/test_domain.py @@ -37,6 +37,22 @@ class TestDomain(libvirttest.BaseTestClass): raise e domain.Undefine(0) + def test_resume(self): + def domain_resumed(path, _event): + assert isinstance(path, dbus.ObjectPath) + self.loop.quit() + + self.connect.connect_to_signal('DomainEvent', domain_resumed, arg1='Resumed') + + obj, domain = self.domain() + domain.Suspend() + domain.Resume() + + state = obj.Get('org.libvirt.Domain', 'State', dbus_interface=dbus.PROPERTIES_IFACE) + assert state == 'running' + + self.main_loop() + def test_shutdown(self): def domain_stopped(path, _event): assert isinstance(path, dbus.ObjectPath) @@ -80,21 +96,5 @@ class TestDomain(libvirttest.BaseTestClass): self.main_loop() - def test_resume(self): - def domain_resumed(path, _event): - assert isinstance(path, dbus.ObjectPath) - self.loop.quit() - - self.connect.connect_to_signal('DomainEvent', domain_resumed, arg1='Resumed') - - obj, domain = self.domain() - domain.Suspend() - domain.Resume() - - state = obj.Get('org.libvirt.Domain', 'State', dbus_interface=dbus.PROPERTIES_IFACE) - assert state == 'running' - - self.main_loop() - if __name__ == '__main__': libvirttest.run() -- 2.15.0

Signed-off-by: Katerina Koukiou <kkoukiou@redhat.com> --- data/org.libvirt.Domain.xml | 8 ++++---- src/domain.c | 40 ++++++++++++++++++++-------------------- test/test_domain.py | 26 +++++++++++++------------- 3 files changed, 37 insertions(+), 37 deletions(-) diff --git a/data/org.libvirt.Domain.xml b/data/org.libvirt.Domain.xml index 673260c..1be94ec 100644 --- a/data/org.libvirt.Domain.xml +++ b/data/org.libvirt.Domain.xml @@ -83,15 +83,15 @@ <annotation name="org.gtk.GDBus.DocString" value="See https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainResume"/> </method> + <method name="Suspend"> + <annotation name="org.gtk.GDBus.DocString" + value="See https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainSuspend"/> + </method> <method name="Undefine"> <annotation name="org.gtk.GDBus.DocString" value="See https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainUndefineFlags"/> <arg name="flags" type="u" direction="in"/> </method> - <method name="Suspend"> - <annotation name="org.gtk.GDBus.DocString" - value="See https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainSuspend"/> - </method> <signal name="DeviceAdded"> <annotation name="org.gtk.GDBus.DocString" value="See https://libvirt.org/html/libvirt-libvirt-domain.html#virConnectDomainEventDeviceAddedCallback"/> diff --git a/src/domain.c b/src/domain.c index a16e49f..4deef26 100644 --- a/src/domain.c +++ b/src/domain.c @@ -448,45 +448,45 @@ virtDBusDomainResume(GVariant *inArgs G_GNUC_UNUSED, } static void -virtDBusDomainUndefine(GVariant *inArgs, - GUnixFDList *inFDs G_GNUC_UNUSED, - const gchar *objectPath, - gpointer userData, - GVariant **outArgs G_GNUC_UNUSED, - GUnixFDList **outFDs G_GNUC_UNUSED, - GError **error) +virtDBusDomainSuspend(GVariant *inArgs G_GNUC_UNUSED, + GUnixFDList *inFDs G_GNUC_UNUSED, + const gchar *objectPath, + gpointer userData, + GVariant **outArgs G_GNUC_UNUSED, + GUnixFDList **outFDs G_GNUC_UNUSED, + GError **error) { virtDBusConnect *connect = userData; g_autoptr(virDomain) domain = NULL; - guint flags; - - g_variant_get(inArgs, "(u)", &flags); domain = virtDBusDomainGetVirDomain(connect, objectPath, error); if (!domain) return; - if (virDomainUndefineFlags(domain, flags) < 0) + if (virDomainSuspend(domain) < 0) virtDBusUtilSetLastVirtError(error); } static void -virtDBusDomainSuspend(GVariant *inArgs G_GNUC_UNUSED, - GUnixFDList *inFDs G_GNUC_UNUSED, - const gchar *objectPath, - gpointer userData, - GVariant **outArgs G_GNUC_UNUSED, - GUnixFDList **outFDs G_GNUC_UNUSED, - GError **error) +virtDBusDomainUndefine(GVariant *inArgs, + GUnixFDList *inFDs G_GNUC_UNUSED, + const gchar *objectPath, + gpointer userData, + GVariant **outArgs G_GNUC_UNUSED, + GUnixFDList **outFDs G_GNUC_UNUSED, + GError **error) { virtDBusConnect *connect = userData; g_autoptr(virDomain) domain = NULL; + guint flags; + + g_variant_get(inArgs, "(u)", &flags); domain = virtDBusDomainGetVirDomain(connect, objectPath, error); if (!domain) return; - if (virDomainSuspend(domain) < 0) + if (virDomainUndefineFlags(domain, flags) < 0) virtDBusUtilSetLastVirtError(error); } @@ -512,8 +512,8 @@ static virtDBusGDBusMethodTable virtDBusDomainMethodTable[] = { { "Reboot", virtDBusDomainReboot }, { "Reset", virtDBusDomainReset }, { "Resume", virtDBusDomainResume }, - { "Undefine", virtDBusDomainUndefine }, { "Suspend", virtDBusDomainSuspend }, + { "Undefine", virtDBusDomainUndefine }, { 0 } }; diff --git a/test/test_domain.py b/test/test_domain.py index ceda19e..952bf59 100755 --- a/test/test_domain.py +++ b/test/test_domain.py @@ -68,19 +68,6 @@ class TestDomain(libvirttest.BaseTestClass): self.main_loop() - def test_undefine(self): - def domain_undefined(path, _event): - assert isinstance(path, dbus.ObjectPath) - self.loop.quit() - - self.connect.connect_to_signal('DomainEvent', domain_undefined, arg1='Undefined') - - _, domain = self.domain() - domain.Shutdown(0) - domain.Undefine(0) - - self.main_loop() - def test_suspend(self): def domain_suspended(path, _event): assert isinstance(path, dbus.ObjectPath) @@ -96,5 +83,18 @@ class TestDomain(libvirttest.BaseTestClass): self.main_loop() + def test_undefine(self): + def domain_undefined(path, _event): + assert isinstance(path, dbus.ObjectPath) + self.loop.quit() + + self.connect.connect_to_signal('DomainEvent', domain_undefined, arg1='Undefined') + + _, domain = self.domain() + domain.Shutdown(0) + domain.Undefine(0) + + self.main_loop() + if __name__ == '__main__': libvirttest.run() -- 2.15.0

Signed-off-by: Katerina Koukiou <kkoukiou@redhat.com> --- data/org.libvirt.Domain.xml | 10 +++++----- src/domain.c | 48 ++++++++++++++++++++++----------------------- 2 files changed, 29 insertions(+), 29 deletions(-) diff --git a/data/org.libvirt.Domain.xml b/data/org.libvirt.Domain.xml index 1be94ec..78378bb 100644 --- a/data/org.libvirt.Domain.xml +++ b/data/org.libvirt.Domain.xml @@ -64,11 +64,6 @@ <arg name="flags" type="u" direction="in"/> <arg name="xml" type="s" direction="out"/> </method> - <method name="Shutdown"> - <annotation name="org.gtk.GDBus.DocString" - value="See https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainShutdownFlags"/> - <arg name="flags" type="u" direction="in"/> - </method> <method name="Reboot"> <annotation name="org.gtk.GDBus.DocString" value="See https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainReboot"/> @@ -83,6 +78,11 @@ <annotation name="org.gtk.GDBus.DocString" value="See https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainResume"/> </method> + <method name="Shutdown"> + <annotation name="org.gtk.GDBus.DocString" + value="See https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainShutdownFlags"/> + <arg name="flags" type="u" direction="in"/> + </method> <method name="Suspend"> <annotation name="org.gtk.GDBus.DocString" value="See https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainSuspend"/> diff --git a/src/domain.c b/src/domain.c index 4deef26..14f07fc 100644 --- a/src/domain.c +++ b/src/domain.c @@ -356,29 +356,6 @@ virtDBusDomainGetXMLDesc(GVariant *inArgs, *outArgs = g_variant_new("(s)", xml); } -static void -virtDBusDomainShutdown(GVariant *inArgs, - GUnixFDList *inFDs G_GNUC_UNUSED, - const gchar *objectPath, - gpointer userData, - GVariant **outArgs G_GNUC_UNUSED, - GUnixFDList **outFDs G_GNUC_UNUSED, - GError **error) -{ - virtDBusConnect *connect = userData; - g_autoptr(virDomain) domain = NULL; - guint flags; - - g_variant_get(inArgs, "(u)", &flags); - - domain = virtDBusDomainGetVirDomain(connect, objectPath, error); - if (!domain) - return; - - if (virDomainShutdownFlags(domain, flags) < 0) - virtDBusUtilSetLastVirtError(error); -} - static void virtDBusDomainReboot(GVariant *inArgs, GUnixFDList *inFDs G_GNUC_UNUSED, @@ -447,6 +424,29 @@ virtDBusDomainResume(GVariant *inArgs G_GNUC_UNUSED, virtDBusUtilSetLastVirtError(error); } +static void +virtDBusDomainShutdown(GVariant *inArgs, + GUnixFDList *inFDs G_GNUC_UNUSED, + const gchar *objectPath, + gpointer userData, + GVariant **outArgs G_GNUC_UNUSED, + GUnixFDList **outFDs G_GNUC_UNUSED, + GError **error) +{ + virtDBusConnect *connect = userData; + g_autoptr(virDomain) domain = NULL; + guint flags; + + g_variant_get(inArgs, "(u)", &flags); + + domain = virtDBusDomainGetVirDomain(connect, objectPath, error); + if (!domain) + return; + + if (virDomainShutdownFlags(domain, flags) < 0) + virtDBusUtilSetLastVirtError(error); +} + static void virtDBusDomainSuspend(GVariant *inArgs G_GNUC_UNUSED, GUnixFDList *inFDs G_GNUC_UNUSED, @@ -508,10 +508,10 @@ static virtDBusGDBusMethodTable virtDBusDomainMethodTable[] = { { "GetStats", virtDBusDomainGetStats }, { "GetVcpus", virtDBusDomainGetVcpus }, { "GetXMLDesc", virtDBusDomainGetXMLDesc }, - { "Shutdown", virtDBusDomainShutdown }, { "Reboot", virtDBusDomainReboot }, { "Reset", virtDBusDomainReset }, { "Resume", virtDBusDomainResume }, + { "Shutdown", virtDBusDomainShutdown }, { "Suspend", virtDBusDomainSuspend }, { "Undefine", virtDBusDomainUndefine }, { 0 } -- 2.15.0

Also test was renamed from test_list_domains to test_connect_list_domains to follow the naming convention. Signed-off-by: Katerina Koukiou <kkoukiou@redhat.com> --- data/org.libvirt.Connect.xml | 12 +++---- src/connect.c | 82 ++++++++++++++++++++++---------------------- test/test_connect.py | 24 ++++++------- 3 files changed, 59 insertions(+), 59 deletions(-) diff --git a/data/org.libvirt.Connect.xml b/data/org.libvirt.Connect.xml index 5b49ed9..55260cc 100644 --- a/data/org.libvirt.Connect.xml +++ b/data/org.libvirt.Connect.xml @@ -25,12 +25,6 @@ <annotation name="org.gtk.GDBus.DocString" value="See https://libvirt.org/html/libvirt-libvirt-host.html#virConnectGetVersion"/> </property> - <method name="ListDomains"> - <annotation name="org.gtk.GDBus.DocString" - value="See https://libvirt.org/html/libvirt-libvirt-domain.html#virConnectListAllDomains"/> - <arg name="flags" type="u" direction="in"/> - <arg name="domains" type="ao" direction="out"/> - </method> <method name="DomainCreateXML"> <annotation name="org.gtk.GDBus.DocString" value="See https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainCreateXML"/> @@ -73,6 +67,12 @@ <arg name="flags" type="u" direction="in"/> <arg name="sysinfo" type="s" direction="out"/> </method> + <method name="ListDomains"> + <annotation name="org.gtk.GDBus.DocString" + value="See https://libvirt.org/html/libvirt-libvirt-domain.html#virConnectListAllDomains"/> + <arg name="flags" type="u" direction="in"/> + <arg name="domains" type="ao" direction="out"/> + </method> <method name="ListNetworks"> <annotation name="org.gtk.GDBus.DocString" value="See https://libvirt.org/html/libvirt-libvirt-network.html#virConnectListAllNetworks"/> diff --git a/src/connect.c b/src/connect.c index 9820de5..a8ff43c 100644 --- a/src/connect.c +++ b/src/connect.c @@ -206,46 +206,6 @@ virtDBusConnectGetCapabilities(GVariant *inArgs G_GNUC_UNUSED, *outArgs = g_variant_new("(s)", capabilities); } -static void -virtDBusConnectListDomains(GVariant *inArgs, - GUnixFDList *inFDs G_GNUC_UNUSED, - const gchar *objectPath G_GNUC_UNUSED, - gpointer userData, - GVariant **outArgs, - GUnixFDList **outFDs G_GNUC_UNUSED, - GError **error) -{ - virtDBusConnect *connect = userData; - g_autoptr(virDomainPtr) domains = NULL; - guint flags; - GVariantBuilder builder; - GVariant *gdomains; - - g_variant_get(inArgs, "(u)", &flags); - - if (!virtDBusConnectOpen(connect, error)) - return; - - if (virConnectListAllDomains(connect->connection, &domains, flags) < 0) - return virtDBusUtilSetLastVirtError(error); - - if (!*domains) - return; - - g_variant_builder_init(&builder, G_VARIANT_TYPE("ao")); - - for (gint i = 0; domains[i]; i++) { - g_autofree gchar *path = NULL; - path = virtDBusUtilBusPathForVirDomain(domains[i], - connect->domainPath); - - g_variant_builder_add(&builder, "o", path); - } - - gdomains = g_variant_builder_end(&builder); - *outArgs = g_variant_new_tuple(&gdomains, 1); -} - static void virtDBusConnectDomainCreateXML(GVariant *inArgs, GUnixFDList *inFDs G_GNUC_UNUSED, @@ -413,6 +373,46 @@ virtDBusConnectGetSysinfo(GVariant *inArgs, *outArgs = g_variant_new("(s)", sysinfo); } +static void +virtDBusConnectListDomains(GVariant *inArgs, + GUnixFDList *inFDs G_GNUC_UNUSED, + const gchar *objectPath G_GNUC_UNUSED, + gpointer userData, + GVariant **outArgs, + GUnixFDList **outFDs G_GNUC_UNUSED, + GError **error) +{ + virtDBusConnect *connect = userData; + g_autoptr(virDomainPtr) domains = NULL; + guint flags; + GVariantBuilder builder; + GVariant *gdomains; + + g_variant_get(inArgs, "(u)", &flags); + + if (!virtDBusConnectOpen(connect, error)) + return; + + if (virConnectListAllDomains(connect->connection, &domains, flags) < 0) + return virtDBusUtilSetLastVirtError(error); + + if (!*domains) + return; + + g_variant_builder_init(&builder, G_VARIANT_TYPE("ao")); + + for (gint i = 0; domains[i]; i++) { + g_autofree gchar *path = NULL; + path = virtDBusUtilBusPathForVirDomain(domains[i], + connect->domainPath); + + g_variant_builder_add(&builder, "o", path); + } + + gdomains = g_variant_builder_end(&builder); + *outArgs = g_variant_new_tuple(&gdomains, 1); +} + static void virtDBusConnectListNetworks(GVariant *inArgs, GUnixFDList *inFDs G_GNUC_UNUSED, @@ -575,7 +575,6 @@ static virtDBusGDBusPropertyTable virtDBusConnectPropertyTable[] = { }; static virtDBusGDBusMethodTable virtDBusConnectMethodTable[] = { - { "ListDomains", virtDBusConnectListDomains }, { "DomainCreateXML", virtDBusConnectDomainCreateXML }, { "DomainDefineXML", virtDBusConnectDomainDefineXML }, { "DomainLookupByID", virtDBusConnectDomainLookupByID }, @@ -583,6 +582,7 @@ static virtDBusGDBusMethodTable virtDBusConnectMethodTable[] = { { "DomainLookupByUUID", virtDBusConnectDomainLookupByUUID }, { "GetCapabilities", virtDBusConnectGetCapabilities }, { "GetSysinfo", virtDBusConnectGetSysinfo }, + { "ListDomains", virtDBusConnectListDomains }, { "ListNetworks", virtDBusConnectListNetworks }, { "NetworkCreateXML", virtDBusConnectNetworkCreateXML }, { "NetworkDefineXML", virtDBusConnectNetworkDefineXML }, diff --git a/test/test_connect.py b/test/test_connect.py index 8948947..a7b7ad6 100755 --- a/test/test_connect.py +++ b/test/test_connect.py @@ -30,18 +30,6 @@ class TestConnect(libvirttest.BaseTestClass): </network> ''' - def test_list_domains(self): - domains = self.connect.ListDomains(0) - assert isinstance(domains, dbus.Array) - assert len(domains) == 1 - - for path in domains: - assert isinstance(path, dbus.ObjectPath) - domain = self.bus.get_object('org.libvirt', path) - - # ensure the path exists by calling Introspect on it - domain.Introspect(dbus_interface=dbus.INTROSPECTABLE_IFACE) - def test_connect_domain_create_xml(self): def domain_started(path, _event): assert isinstance(path, dbus.ObjectPath) @@ -80,6 +68,18 @@ class TestConnect(libvirttest.BaseTestClass): path = getattr(self.connect, lookup_method_name)(props[lookup_item]) assert original_path == path + def test_connect_list_domains(self): + domains = self.connect.ListDomains(0) + assert isinstance(domains, dbus.Array) + assert len(domains) == 1 + + for path in domains: + assert isinstance(path, dbus.ObjectPath) + domain = self.bus.get_object('org.libvirt', path) + + # ensure the path exists by calling Introspect on it + domain.Introspect(dbus_interface=dbus.INTROSPECTABLE_IFACE) + @pytest.mark.parametrize("property_name,expected_type", [ ("Encrypted", dbus.Boolean), ("Hostname", dbus.String), -- 2.15.0

On Mon, Apr 09, 2018 at 07:05:32PM +0200, Katerina Koukiou wrote:
Better do it now before the projects grows more.
Katerina Koukiou (11): APIs should appear in alphabetical order: Move Active property APIs should appear in alphabetical order: Move Autostart property APIs should appear in alphabetical order: Move Id property APIs should appear in alphabetical order: Move UUID property APIs should appear in alphabetical order: Move Create method APIs should appear in alphabetical order: Move Destroy method APIs should appear in alphabetical order: Move GetStats method APIs should appear in alphabetical order: Move Resume method APIs should appear in alphabetical order: Move Undefine method APIs should appear in alphabetical order: Move Shutdown method APIs should appear in alphabetical order: Move ListDomains method
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>
participants (2)
-
Katerina Koukiou
-
Pavel Hrdina