[libvirt] [dbus PATCH v4 5/5] Merge all Domain lifecycle signals into one signal called Domain.
Pavel Hrdina
phrdina at redhat.com
Tue Apr 3 08:44:36 UTC 2018
On Tue, Apr 03, 2018 at 10:30:00AM +0200, Katerina Koukiou wrote:
> Instead of having multiple signals regarding to domain events,
> like DomainStarted, DomainUndefined etc, we will have only one
> called DomainEvents, and the specific event type will be specified in
> the signals arguments.
>
> The domain name argument in not needed in the signal since we can
> fetch it from path.
>
> The tests are adjusted to call correctly connect_to_signal method
> on the new signal.
>
> Signed-off-by: Katerina Koukiou <kkoukiou at redhat.com>
> ---
> data/org.libvirt.Connect.xml | 54 +++-----------------------------------------
> src/events.c | 24 +++++++++-----------
> test/test_connect.py | 10 ++++----
> test/test_domain.py | 20 +++++++---------
> 4 files changed, 26 insertions(+), 82 deletions(-)
>
> diff --git a/data/org.libvirt.Connect.xml b/data/org.libvirt.Connect.xml
> index f24dff4..1695100 100644
> --- a/data/org.libvirt.Connect.xml
> +++ b/data/org.libvirt.Connect.xml
> @@ -44,59 +44,11 @@
> <arg name="uuid" type="s" direction="in"/>
> <arg name="domain" type="o" direction="out"/>
> </method>
> - <signal name="DomainCrashed">
> + <signal name="DomainEvent">
> <annotation name="org.gtk.GDBus.DocString"
> - value="See https://libvirt.org/html/libvirt-libvirt-domain.html#VIR_DOMAIN_EVENT_CRASHED"/>
> - <arg name="reason" type="s"/>
> - <arg name="domain" type="o"/>
> - </signal>
> - <signal name="DomainDefined">
> - <annotation name="org.gtk.GDBus.DocString"
> - value="See https://libvirt.org/html/libvirt-libvirt-domain.html#VIR_DOMAIN_EVENT_DEFINED"/>
> - <arg name="reason" type="s"/>
> - <arg name="domain" type="o"/>
> - </signal>
> - <signal name="DomainPMSuspended">
> - <annotation name="org.gtk.GDBus.DocString"
> - value="See https://libvirt.org/html/libvirt-libvirt-domain.html#VIR_DOMAIN_EVENT_SUSPENDED"/>
> - <arg name="reason" type="s"/>
> - <arg name="domain" type="o"/>
> - </signal>
> - <signal name="DomainResumed">
> - <annotation name="org.gtk.GDBus.DocString"
> - value="See https://libvirt.org/html/libvirt-libvirt-domain.html#VIR_DOMAIN_EVENT_RESUMED"/>
> - <arg name="reason" type="s"/>
> - <arg name="domain" type="o"/>
> - </signal>
> - <signal name="DomainShutdown">
> - <annotation name="org.gtk.GDBus.DocString"
> - value="See https://libvirt.org/html/libvirt-libvirt-domain.html#VIR_DOMAIN_EVENT_SHUTDOWN"/>
> - <arg name="reason" type="s"/>
> - <arg name="domain" type="o"/>
> - </signal>
> - <signal name="DomainStarted">
> - <annotation name="org.gtk.GDBus.DocString"
> - value="See https://libvirt.org/html/libvirt-libvirt-domain.html#VIR_DOMAIN_EVENT_STARTED"/>
> - <arg name="reason" type="s"/>
> - <arg name="domain" type="o"/>
> - </signal>
> - <signal name="DomainStopped">
> - <annotation name="org.gtk.GDBus.DocString"
> - value="See https://libvirt.org/html/libvirt-libvirt-domain.html#VIR_DOMAIN_EVENT_STOPPED"/>
> - <arg name="reason" type="s"/>
> - <arg name="domain" type="o"/>
> - </signal>
> - <signal name="DomainSuspended">
> - <annotation name="org.gtk.GDBus.DocString"
> - value="See https://libvirt.org/html/libvirt-libvirt-domain.html#VIR_DOMAIN_EVENT_SUSPENDED"/>
> - <arg name="reason" type="s"/>
> - <arg name="domain" type="o"/>
> - </signal>
> - <signal name="DomainUndefined">
> - <annotation name="org.gtk.GDBus.DocString"
> - value="See https://libvirt.org/html/libvirt-libvirt-domain.html#VIR_DOMAIN_EVENT_UNDEFINED"/>
> - <arg name="reason" type="s"/>
> + value="See https://libvirt.org/html/libvirt-libvirt-domain.html#virConnectDomainEventCallback"/>
> <arg name="domain" type="o"/>
> + <arg name="event" type="s"/>
> </signal>
> </interface>
> </node>
> diff --git a/src/events.c b/src/events.c
> index 1877115..9229063 100644
> --- a/src/events.c
> +++ b/src/events.c
> @@ -7,15 +7,15 @@
> VIRT_DBUS_ENUM_DECL(virtDBusEventsDomainEvent)
> VIRT_DBUS_ENUM_IMPL(virtDBusEventsDomainEvent,
> VIR_DOMAIN_EVENT_LAST,
> - "DomainDefined",
> - "DomainUndefined",
> - "DomainStarted",
> - "DomainSuspended",
> - "DomainResumed",
> - "DomainStopped",
> - "DomainShutdown",
> - "DomainPMSuspended",
> - "DomainCrashed")
> + "Defined",
> + "Undefined",
> + "Started",
> + "Suspended",
> + "Resumed",
> + "Stopped",
> + "Shutdown",
> + "PMSuspended",
> + "Crashed")
>
> static const gchar *
> virtDBusEventsDomainEventToString(gint event)
> @@ -32,18 +32,16 @@ virtDBusEventsDomainLifecycle(virConnectPtr connection G_GNUC_UNUSED,
> gpointer opaque)
> {
> virtDBusConnect *connect = opaque;
> - const gchar *name;
> g_autofree gchar *path = NULL;
>
> - name = virDomainGetName(domain);
> path = virtDBusUtilBusPathForVirDomain(domain, connect->domainPath);
>
> g_dbus_connection_emit_signal(connect->bus,
> NULL,
> connect->connectPath,
> VIRT_DBUS_CONNECT_INTERFACE,
> - virtDBusEventsDomainEventToString(event),
> - g_variant_new("(so)", name, path),
> + "DomainEvent",
> + g_variant_new("(os)", path, virtDBusEventsDomainEventToString(event)),
This line is too long, but the change in the previous patch will
introduce temporary variable which will fix the long line.
Pavel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20180403/78a0f644/attachment-0001.sig>
More information about the libvir-list
mailing list