On 02/06/2013 09:13 AM, Claudio Bley wrote:
>> Note, however, that I have no deep understanding about what
it means
>> when a function ought to be "ignored" by apibuild.py.
>>
>> Should we skip this function from the generated HTML documentation
>> perhaps?
>
> Indeed, when you frame the question that way, it seems like the smartest
> thing is to omit all output during apibuild.py for any function in the
> ignored_functions list; then the XSL processing wouldn't have anything
> to process in the first place.
>
> Hmm, I think this points out a bigger problem. Looking at
> ignored_functions, I see it starts with:
>
> "virDomainMigrateFinish": "private function for migration",
>
> Tracking down that function, it exists in src/libvirt.c, but is NOT in
> libvirt.h.in (just libvirt_internal.h), and is only exported in
> libvirt_private.syms. So not documenting it is the right thing to do.
> On the other hand, virEventUpdateHandle is a public entry point since
> libvirt 0.9.3, and declared in libvirt.h.in, so it is a public entry
> point.
As you determined this easily by looking at which file a function is
declared in, would it make sense to employ the same logic in
apibuild.py when deciding which function is public or not?
I'm no python expert, but if you want to write a patch, it sounds
reasonable. Anything in a .h[.in] file under include/libvirt is public,
anything else is ignored when it comes to documenting public functionality.
Say, all functions found in libvirt.h (or libvirt.h.in for that
matter), plus virterror.h are public, everything else is not.
Well, there's also libvirt-qemu.h and libvirt-lxc.h, but yes, that's the
idea.
> So, we may not need this patch after all; instead, we need a patch that
> fixes the list of ignored_functions to be accurate to what is really
> private, when snarfing in all files that contain documentation for
> public functions.
And another one which actually omits generating entries for /ignored/
functions in libvirt-api.xml et. al., right?
Correct. Again, I won't be the person writing it, but I don't mind
reviewing (it will help me learn more python).
But, apparently, there are no ignored functions in libvirt-api.xml
(et. al.). Probably because of some refactoring which put those
functions out of the way into internal headers...
So, we could just as well ditch the ignored_functions dictionary in
apibuild.py because it only confuses people than being of any help or
use.
Sure, if it works.
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library
http://libvirt.org