You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gnucash/libgnucash/engine
John Ralls ad7a51a6ef
Merge Chris Lam's 'acc-children-vector' into stable.
2 years ago
..
mocks [SplitP.hpp] rename to .hpp 2 years ago
test Merge Chris Lam's 'acc-children-vector' into stable. 2 years ago
test-core [Transaction.hpp] rename to .hpp 2 years ago
Account.cpp Merge Chris Lam's 'acc-children-vector' into stable. 2 years ago
Account.h [engine.i] move gnc_accounts_and_all_descendants to engine.i 2 years ago
Account.hpp [Account.cpp] priv->children is a vector<Account*> 2 years ago
AccountP.hpp [Account.cpp] priv->children is a vector<Account*> 2 years ago
CMakeLists.txt [SX-ttinfo.cpp] tidier, using c++ stl and algo 2 years ago
FreqSpec.h
Query.cpp Reapply filter when number of sub-accounts change 2 years ago
Query.h Reapply filter when number of sub-accounts change 2 years ago
README Remove texi design document in engine 2 years ago
README.query-api
Recurrence.cpp [Recurrence.cpp] convert to cpp 2 years ago
Recurrence.h recurrencePeriodTypeToString and recurrenceWeekendAdjustToString g_strdup only when necessary 3 years ago
SX-book-p.h
SX-book.cpp [SX-book.cpp] convert to c++ 2 years ago
SX-book.h
SX-ttinfo.hpp [SX-ttinfo.cpp] tidier, using c++ stl and algo 2 years ago
SchedXaction.cpp [SX-ttinfo.cpp] tidier, using c++ stl and algo 2 years ago
SchedXaction.h [SX-ttinfo.cpp] tidier, using c++ stl and algo 2 years ago
SchedXaction.hpp [SX-ttinfo.cpp] tidier, using c++ stl and algo 2 years ago
Scrub.cpp [Transaction.hpp] rename to .hpp 2 years ago
Scrub.h
Scrub2.cpp [Transaction.hpp] rename to .hpp 2 years ago
Scrub2.h [Scrub2.cpp] convert to cpp 2 years ago
Scrub3.cpp [Transaction.hpp] rename to .hpp 2 years ago
Scrub3.h
ScrubBudget.c
ScrubBudget.h
ScrubBusiness.c g_list_free xaccAccountGetSplitList 2 years ago
ScrubBusiness.h add #ifdef __cplusplus extern "C" {} wrappers to .h files 2 years ago
Split.cpp [Transaction|Split.cpp] Remove Reg2 unused functions 2 years ago
Split.h [Transaction|Split.cpp] Remove Reg2 unused functions 2 years ago
SplitP.hpp [SplitP.hpp] rename to .hpp 2 years ago
TransLog.cpp [Transaction.hpp] rename to .hpp 2 years ago
TransLog.h
Transaction.cpp [Transaction|Split.cpp] Remove Reg2 unused functions 2 years ago
Transaction.h [Transaction|Split.cpp] Remove Reg2 unused functions 2 years ago
TransactionP.hpp [SplitP.hpp] rename to .hpp 2 years ago
cap-gains.cpp [Transaction.hpp] rename to .hpp 2 years ago
cap-gains.h Add #ifdef __cplusplus extern "C" {} wrappers to .h files 2 years ago
cashobjects.cpp [Transaction.hpp] rename to .hpp 2 years ago
cashobjects.h
engine-helpers.c [engine-helpers.h] key is a const char* 2 years ago
engine-helpers.h [engine-helpers.h] key is a const char* 2 years ago
gnc-accounting-period.c
gnc-accounting-period.h
gnc-aqbanking-templates.cpp
gnc-aqbanking-templates.h
gnc-backend-prov.hpp
gnc-budget.cpp use c++ placement new 2 years ago
gnc-budget.h
gnc-commodity.cpp Bug 799305 - Crash when there is more than one unknown quote source for commodities 2 years ago
gnc-commodity.h [gnc-commodity.cpp] gnc_quote_source_set_fq_installed takes a StrVec 2 years ago
gnc-commodity.hpp [gnc-commodity.cpp] gnc_quote_source_set_fq_installed takes a StrVec 2 years ago
gnc-date-p.h
gnc-date.cpp [engine/*.cpp] NULL -> nullptr changes 2 years ago
gnc-date.h Doxygen - drop obvious cases of deprecated code 2 years ago
gnc-datetime.cpp [gnc-date.cpp] specialise iso-8601 parsing where TZ=+0000 2 years ago
gnc-datetime.hpp [gnc-date.cpp] specialise iso-8601 parsing where TZ=+0000 2 years ago
gnc-engine.cpp [Transaction.hpp] rename to .hpp 2 years ago
gnc-engine.h [Transaction.hpp] rename to .hpp 2 years ago
gnc-euro.cpp [gnc-euro.cpp] use c++isms 2 years ago
gnc-euro.h
gnc-event.c
gnc-event.h
gnc-features.cpp
gnc-features.h
gnc-hooks.c
gnc-hooks.h
gnc-int128.cpp
gnc-int128.hpp
gnc-lot-p.h Add #ifdef __cplusplus extern "C" {} wrappers to .h files 2 years ago
gnc-lot.cpp [Transaction.hpp] rename to .hpp 2 years ago
gnc-lot.h Doxygen - minor cleanup of gnc-lot.h 2 years ago
gnc-numeric.cpp [gnc-numeric.cpp] shortcut parsing num/denom as gnc_numeric 2 years ago
gnc-numeric.h Doxygen - drop several txt files that were included in 2 years ago
gnc-numeric.hpp
gnc-option-date.cpp Bug 798946 - start/end of current/last quarter have off-by-one error 2 years ago
gnc-option-date.hpp
gnc-option-impl.cpp Merge branch 'free-guid-string' into stable #1777 3 years ago
gnc-option-impl.hpp Allow building with c++20 and greater/ 2 years ago
gnc-option-ui.hpp
gnc-option-uitype.hpp
gnc-option.cpp
gnc-option.hpp
gnc-optiondb-impl.hpp
gnc-optiondb.cpp
gnc-optiondb.h
gnc-optiondb.hpp
gnc-pricedb-p.h
gnc-pricedb.cpp [engine/*.cpp] NULL -> nullptr changes 2 years ago
gnc-pricedb.h
gnc-rational-rounding.hpp
gnc-rational.cpp
gnc-rational.hpp
gnc-session.c
gnc-session.h
gnc-timezone.cpp Fix UAF in xaccFreeSplit. 3 years ago
gnc-timezone.hpp
gnc-uri-utils.c Doxygen - drop obvious cases of deprecated code 2 years ago
gnc-uri-utils.h Doxygen - drop obvious cases of deprecated code 2 years ago
gncAddress.c [~qofchoice.cpp] remove, not useful 2 years ago
gncAddress.h Doxygen - fold business.txt file in the respective source files 2 years ago
gncAddressP.h [engine/*.h] add extern "C" {} wrappers 2 years ago
gncBillTerm.c Doxygen - fold business.txt file in the respective source files 2 years ago
gncBillTerm.h Doxygen - fold business.txt file in the respective source files 2 years ago
gncBillTermP.h
gncBusiness.c
gncBusiness.h Doxygen - merge separate txt files into respective header files 2 years ago
gncCustomer.c [~qofchoice.cpp] remove, not useful 2 years ago
gncCustomer.h
gncCustomerP.h [engine/*.h] add extern "C" {} wrappers 2 years ago
gncEmployee.c
gncEmployee.h
gncEmployeeP.h [engine/*.h] add extern "C" {} wrappers 2 years ago
gncEntry.c
gncEntry.h
gncEntryP.h
gncIDSearch.c
gncIDSearch.h
gncInvoice.c [~qofchoice.cpp] remove, not useful 2 years ago
gncInvoice.h
gncInvoiceP.h
gncJob.c [~qofchoice.cpp] remove, not useful 2 years ago
gncJob.h
gncJobP.h [engine/*.h] add extern "C" {} wrappers 2 years ago
gncOrder.c
gncOrder.h
gncOrderP.h [engine/*.h] add extern "C" {} wrappers 2 years ago
gncOwner.c
gncOwner.h
gncOwnerP.h
gncTaxTable.c Doxygen - fold business.txt file in the respective source files 2 years ago
gncTaxTable.h Doxygen - merge separate txt files into respective header files 2 years ago
gncTaxTableP.h
gncVendor.c [~qofchoice.cpp] remove, not useful 2 years ago
gncVendor.h
gncVendorP.h [engine/*.h] add extern "C" {} wrappers 2 years ago
guid.cpp [engine/*.cpp] NULL -> nullptr changes 2 years ago
guid.h
guid.hpp [guid.hpp] GUID::from_string and is_valid_string takes a const char* 2 years ago
iso-4217-currencies.xml
iso-currencies-to-c.xsl
kvp-frame.cpp Bug 799324 - Invalid free in gvalue_from_kvp_value() 2 years ago
kvp-frame.hpp
kvp-value.cpp
kvp-value.hpp Bug 799324 - Invalid free in gvalue_from_kvp_value() 2 years ago
kvp_doc.txt Remove texi design document in engine 2 years ago
policy-p.h
policy.cpp [Transaction.hpp] rename to .hpp 2 years ago
policy.h
qof-backend.cpp
qof-backend.hpp
qof-gobject.h
qof-string-cache.cpp
qof-string-cache.h
qof-win32.cpp
qof.h [~qofchoice.cpp] remove, not useful 2 years ago
qofbackend.h
qofbook-p.h Doxygen - drop obvious cases of deprecated code 2 years ago
qofbook.cpp [AccountP.hpp] .h -> .hpp, remove extern "C" {} wrapper 2 years ago
qofbook.h
qofbook.hpp
qofbookslots.h
qofclass-p.h
qofclass.cpp
qofclass.h [~qofchoice.cpp] remove, not useful 2 years ago
qofevent-p.h
qofevent.cpp
qofevent.h
qofid-p.h
qofid.cpp [qofid.cpp] remove unnecessary struct 2 years ago
qofid.h [qofid.cpp] qof_collection_foreach_sorted 2 years ago
qofinstance-p.h
qofinstance.cpp Bug 799324 - Invalid free in gvalue_from_kvp_value() 2 years ago
qofinstance.h
qoflog.cpp [engine/*.cpp] NULL -> nullptr changes 2 years ago
qoflog.h
qofobject-p.h
qofobject.cpp [engine/*.cpp] NULL -> nullptr changes 2 years ago
qofobject.h [~qofchoice.cpp] remove, not useful 2 years ago
qofquery-p.h
qofquery.cpp Doxygen - drop obvious cases of deprecated code 2 years ago
qofquery.h [~qofchoice.cpp] remove, not useful 2 years ago
qofquerycore-p.h
qofquerycore.cpp Reapply filter when number of sub-accounts change 2 years ago
qofquerycore.h Reapply filter when number of sub-accounts change 2 years ago
qofsession.cpp
qofsession.h
qofsession.hpp
qofutil.cpp
qofutil.h

README


This directory contains code for the accounting engine.
Its fairly clean but far from perfect, and it certainly
lacks advanced features.

There should be no GUI code in this subdirectory, and,
ideally, it should build cleanly and independently of
any GUI elements or assumptions.

For design documentation, please read our doxygen documentation.
This can be found at https://code.gnucash.org/docs/STABLE/
Alternatively you can build it yourself by running
[ninja|make] doc
The result will be found in
{builddir}/libgnucash/doc/html/index.html

The same information can mostly be found directly in the header
files in this directory as well (though in marked up source format).