QOF 0.6.0 released!

Neil Williams linux at codehelp.co.uk
Sun Oct 23 10:45:57 EDT 2005


QOF - Query Object Framework - library to add a query engine to C applications 
with generic XML backend. A SQL database is not needed; any collection of 
C/C++ objects can act as tables. Used by GnuCash, GnoTime, pilot-QOF, 
cashutil and qof-gen (The upcoming GnuCash Gnome2 port will use QOF 
externally for the first time.)

QOF v0.6.0 (libqof1) is finally on full release. 

QOF v0.6.0 adds a lot of new code, including a new, dedicated, XML backend, 
book merge support, new data types and improved methods for loading other 
suitable backends. 

The logging subsystem has been overhauled to make it more generic and easier 
to use with other applications.

The backends are now loaded using GModule which requires each backend to use 
QofBackendProvider and install the .la file alongside the backend library in 
the *main* package, not the -dev or -devel package.

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:
	filenames: qof<module>.c|h
	functions: qof_<module>_<function>_ ...
	e.g. gnc_date.h becomes qofdate.h
	qof_book_mergeInit becomes qof_book_merge_init
	gnc_numeric_zero becomes qof_numeric_zero
	gnc_set_logfile becomes qof_log_setfile.
	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:
#include <qof.h>
		// or
#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.

The QOF documentation is entirely embedded in the source code. You can build 
an html version of the documentation by installing the 'doxygen' package, and 
then 'cd doc; make doc'.

This and all later versions of QOF use the 'pkg' system of managing include 
files and libraries. Full advice on building against and packaging QOF is 
available in the HACKING file in CVS, also reproduced on the SourceForge 
project site:

https://sourceforge.net/docman/display_doc.php?docid=30421&group_id=83302

All queries on QOF 0.6.0 should be directed to the QOF-devel mailing list (not 
any of the gnucashlists ):
qof-devel at lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/qof-devel

-- 

Neil Williams
=============
http://www.data-freedom.org/
http://www.nosoftwarepatents.com/
http://www.linux.codehelp.co.uk/

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://lists.gnucash.org/pipermail/gnucash-devel/attachments/20051023/3db1122f/attachment.bin


More information about the gnucash-devel mailing list