[libvirt] [dbus PATCH 02/10] GetVcpus API method: Renamed to GetVcpusFlags

Daniel P. Berrangé berrange at redhat.com
Fri Mar 23 14:51:15 UTC 2018


On Fri, Mar 23, 2018 at 03:43:45PM +0100, Pavel Hrdina wrote:
> On Fri, Mar 23, 2018 at 02:25:25PM +0000, Daniel P. Berrangé wrote:
> > On Fri, Mar 23, 2018 at 03:16:59PM +0100, Katerina Koukiou wrote:
> > > Same for internal virtDBusDomainGetVcpus:
> > > Renamed to virtDBusDomainGetVcpusFlags
> > > 
> > > Following naming from libvirt API.
> > > 
> > > Signed-off-by: Katerina Koukiou <kkoukiou at redhat.com>
> > > ---
> > >  data/org.libvirt.Domain.xml |  2 +-
> > >  src/domain.c                | 17 ++++++++---------
> > >  test/test_domain.py         |  2 +-
> > >  3 files changed, 10 insertions(+), 11 deletions(-)
> > > 
> > > diff --git a/data/org.libvirt.Domain.xml b/data/org.libvirt.Domain.xml
> > > index 1ecf826..46cc8a7 100644
> > > --- a/data/org.libvirt.Domain.xml
> > > +++ b/data/org.libvirt.Domain.xml
> > > @@ -11,7 +11,7 @@
> > >      <property name="Persistent" type="b" access="read"/>
> > >      <property name="State" type="s" access="read"/>
> > >      <property name="Autostart" type="b" access="read"/>
> > > -    <method name="GetVcpus">
> > > +    <method name="GetVcpusFlags">
> > 
> > We only added Flags as a suffix in our C apis because we have no other
> > way to fix it without breaking ABI compat.
> > 
> > In some language bindings, however, we didn't preserve that naming,
> > instead just adding 'flags' as an optional parameter.
> > 
> > DBus doesn't have optional params, but since this is a green-field API,
> > we don't have a backcompat problem to worry about.
> > 
> > IOW, I suggest *not* adding "Flags" as a suffix to any of the DBus
> > method names, even if you ultimately call a libvirt API named
> > with a "Flags" suffix.
> 
> I was thinking about not following the names exactly but on the other
> hand it may leads into a confusion especially when we have the non-flags
> version of the same API.
> 
> I personally don't like the API names and I would gladly remove the
> suffix from the D-Bus API names, but it may lead into a confusion about
> which libvirt API is used under the hood.  Sure, the API takes flags
> so it will be probably the flags version, but we as libvirt developers
> know this fact, on the other hand users might not realize that.
> 
> If we decide not to follow the libvirt API names, we should probably
> somehow document which libvirt API is used.

In the Go binding I did this in the embedded API docs via  link
to the C API docs


// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainAttachDevice
func (d *Domain) AttachDevice(xml string) error {
        cXml := C.CString(xml)
        defer C.free(unsafe.Pointer(cXml))
        result := C.virDomainAttachDevice(d.ptr, cXml)
        if result == -1 {
                return GetLastError()
        }
        return nil
}

IIRC, the dbus introspection XML has something for docs comments where you
could do the same.


Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|




More information about the libvir-list mailing list