File: README

package info (click to toggle)
qof 0.5.0-2
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 3,376 kB
  • ctags: 2,995
  • sloc: ansic: 14,210; sh: 7,273; makefile: 204; yacc: 184; lex: 123
file content (69 lines) | stat: -rw-r--r-- 2,637 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69

                QOF - Query Object Framework
                ----------------------------
                        April 2004

Breif Description:
------------------
QOF - Query Object Framework is a library for adding a query engine 
to C applications.  An SQL database is not needed; any collection
of C/C++ objects can act as 'tables' which can be 'joined' using 
an SQL-like programming interface.

Long Description:
-----------------
QOF is an offshoot of the GnuCash engine, consisting of those pieces 
unrelated to accounting.  The Query Engine allows C/C++ applications 
to treat random collections of objects as if they were SQL tables,
and perform table-join type queries across them.  In addition, the 
query engine can be backed by an actual database, so that instances
of local objects can act as a 'cache' to a much larger SQL database.

QOF also includes other utilities from GnuCash:
 o Key-Value Pair trees (KVP aka slots and frames), for providing 
   extensibility by associating arbitrary-format data with an object, 
   using a URL-like identifier.
 o Universally-unique 128-bit ID support, so that an instance of an 
   object can be obtained from its unique identifier, thus simplifying
   associations, cross-network operation, etc.
 o Rational Number Support, providing exact math for working with
   money or prices or other quantities.
 o Miscellaneous date & time utilities.
 o Program tracing infrastructure; handing for tracing/debugging
   complex applications.


The system consists of 15 KLOC of C code that has been ported to many
Unixes, including Mac OS X.  Although this code is in production use
in stable versions of GnuCash, the split-off into QOF is recent and
still under some flux in order to flesh it out.  In particular, the
subroutine naming convention is highly inconsistent.


Examples:
--------
Example programs showing usage can be found in the "examples" subdirectory


Documentation:
--------------
The QOF documentation is embedded mostly in the header files.  You
can build an html version of the documentation by installing the
'doxygen' package, and then 'cd doc; make doc'.  Skim the doc/README
file for more info.


Linking/Building
----------------
This version of QOF uses the 'pkg' system of managing include files
and libraries.  To compile and link your program against QOF, include
the following directives in your Makefile:

INCLUDES += `pkg-config qof-0 --cflags`
LIBS += `pkg-config qof-0 --libs`

This will automatically supply the correct paths to include files and 
libraries for your application.


------------------------- END OF DOCUMENT -------------------------