QOF design and developers reference

0.7.5

This is the developer and design manual for the Query Object Framework. Previous documentation has been integrated into this and it should always be up to date since it is generated directly from the source files using Doxygen.

Future changes within QOF

QOF v0.7.0 introduces a complete rewrite of the date and time handling to fully support the 64bit internal math. See QofTime.

QOF v0.6.0 introduces libqof1 which will remain API compatible until all the changes below can be folded into libqof2:

  1. All gnucash-specific code to be removed. Most of this has been done in v0.6.0
  2. Filename and function name conventions to be made to conform to a single method:
    1. filenames: qof<module>.c|h
    2. functions: qof_<module>_<function>_ ...
      e.g.
      1. qof_book_mergeInit becomes qof_book_merge_init
      2. gnc_numeric_zero becomes qof_numeric_zero
      3. gnc_set_logfile becomes qof_log_setfile.
      4. gnc-trace.c|h becomes qoflog.c|h
  3. These changes will be made by deprecating old names and making old files into placeholders. When libqof2 is ready for pre-release, all deprecated elements will include compiler flags that will highlight the code that needs to be changed and placeholder files may be removed at this stage. All flags and deprecated code will then be removed in the final libqof2 release.
  4. To make this change easier, the qof.h header has been fixed in v0.6.0 and is now the only header file required to be included to use QOF. Using individual header files in applications linked against QOF is now deprecated. All code that uses QOF should only use:
    1. include <qof.h> // or
    2. include "qof.h"
      This is the only file guaranteed to maintain access to the full QOF API during the entire life of libqof1 and libqof2.

General design documents.

main QOF website content (local)

General information on merging QofBooks:
http://code.neil.williamsleesmill.me.uk/

General information on the QSF XML backend for QOF and maps:
http://code.neil.williamsleesmill.me.uk/qsf.html

Other QOF-related content:
http://www.linux.codehelp.co.uk/

Hacking on this documentation

There is the beginning of a style guide for documenting under Useful tips for doxygen in C files.

The Book Merge files are an attempt to document "by the book". Merge: Merging QofBook structures
Feel free to start documenting or playing with doxygen configuration. This main page can be found in src/doc/doxygen_main_page.c .

This main page is just an introduction to doxygen markup, see the Doxygen manual for the full command set.

Licence for this documentation.

The copyright licensing notice below applies to this text.

Copyright © 2005-2006 Neil Williams

Permission is granted to copy, distribute, and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of this license is available at http://qof.sourceforge.net/copying.txt or installed alongside this documentation in the "copyright" file.


Generated on Thu Jan 31 22:50:25 2008 for QOF by  doxygen 1.5.4