[libvirt] [dbus RFC PATCH 0/6] Remove all enum->string and string->enum code

Katerina Koukiou kkoukiou at redhat.com
Thu May 3 14:17:18 UTC 2018


On Thu, 2018-05-03 at 10:45 +0200, Katerina Koukiou wrote:
> As mentioned in the patches commit message...
> 
> Converting ENUMS to str can be user friendly though
> it can be problematic between libvirt versions.
> 
> In particular when some translated type will introduce a
> new constant to the ENUM libvirt-dbus will fail with:
> 
> size of array ‘_GStaticAssertCompileTimeAssertion_5’ is negative
> 
> Since it's not main use case of livirt-dbus API to be invoked
> interactively by user, having all ENUM types passed as
> unsigned int is preferable to avoid the previous issue.
> 
> Katerina Koukiou (6):
>   Abandon usage of all *TypeToString functions in domain.c
>   Abandon usage of all *TypeToString functions in connect.c
>   Abandon usage of all *TypeToString functions in network.c
>   Change DomainEvent argument from string to unsigned int
>   Change NetworkEvent argument from string to unsigned int
>   Remove virtDBusUtilEnum{From,From}String functions
> 
>  data/org.libvirt.Connect.xml |   6 +-
>  data/org.libvirt.Domain.xml  |  14 ++--
>  data/org.libvirt.Network.xml |   6 +-
>  src/connect.c                |  18 +----
>  src/domain.c                 | 172 ++++-----------------------------
> ----------
>  src/events.c                 |  40 +---------
>  src/network.c                |  66 +----------------
>  src/util.c                   |  27 -------
>  src/util.h                   |  28 -------
>  tests/libvirttest.py         |  20 +++++
>  tests/test_connect.py        |  24 ++++--
>  tests/test_domain.py         |  36 ++++++---
>  tests/test_network.py        |  20 +++--
>  13 files changed, 107 insertions(+), 370 deletions(-)

There are two more occurrences of translation of ENUM to String.
virDBusDomainGetState and virtDBusEventsDomainTrayChange.
If there are not objections with this change I 'll repost with these
two fixed.

Katerina




More information about the libvir-list mailing list