On 5/31/19 12:47 PM, John Ralls wrote:
On May 31, 2019, at 8:51 AM, Christopher Singley <csing...@gmail.com> wrote:
On 5/31/19 9:58 AM, John Ralls wrote:
The GnuCash API documentation is generated by Doxygen. Some parts are
documented better than others. It's built nightly and may be found at
https://code.gnucash.org/docs/MAINT.
Regards,
John Ralls
If I want to find, say, gnc_account_imap_find_account(), there doesn't seem to
be a relevant overview. The function name seems to be directing me to
Account.h, where I can indeed find it in context, along with a helpful comment
adjacent. It's a start in making sense of it.
But what about, say, xaccLotComputeCapGains()? Where do I look to find that?
There's many hundreds of these dumped one after the other in the python wrapper
bindings module. The reverse lookups are painful.
I can't imagine this is a focus for a large C application, but the work done by
the fellows from parit is tantalizing.
There's a function index at
https://code.gnucash.org/docs/MAINT/globals_func_x.html but
xaccLotComputeCapGains isn't in it. I had to grep for it, it's in
libgnucash/engine/capgains.[ch] and has no documentation at all, which is why
it's not in the function index.
In theory the beginning of function names should begin with the class and the
class's interface should be described in a file named class.h and should be
implemented in class.c. The original, basic classes like Account, Split, and
Transaction have function names beginning with xacc, for X-Accounting,
GnuCash's original name; most of the rest have names beginning with Gnc or QOF
(for Query Object Framework).
Unfortunately over the years the discipline of following that theory has broken
down many times and we wind up with functions in unexpected headers and
implementation files.
Regards,
John Ralls
That's helpful discussion, thank you.
_______________________________________________
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel