gnucash/libgnucash/engine
2024-10-27 16:14:17 +08:00
..
mocks [Account.hpp] xaccAccountGetSplits returns a reference to vector 2024-10-27 16:14:17 +08:00
test [Account.cpp] small modification xaccAccountSetLastNum 2024-10-13 08:43:41 +08:00
test-core [Transaction.hpp] rename to .hpp 2024-05-05 14:35:38 +08:00
Account.cpp [Account.hpp] xaccAccountGetSplits returns a reference to vector 2024-10-27 16:14:17 +08:00
Account.h [engine.i] move gnc_accounts_and_all_descendants to engine.i 2024-06-07 18:10:40 +08:00
Account.hpp [Account.hpp] xaccAccountGetSplits returns a reference to vector 2024-10-27 16:14:17 +08:00
AccountP.hpp [Account.cpp] refactor acc->balance_limit getters/setters 2024-10-18 08:35:26 +08:00
cap-gains.cpp [Transaction.hpp] rename to .hpp 2024-05-05 14:35:38 +08:00
cap-gains.h Add #ifdef __cplusplus extern "C" {} wrappers to .h files 2024-02-08 21:26:47 +08:00
cashobjects.cpp [Transaction.hpp] rename to .hpp 2024-05-05 14:35:38 +08:00
cashobjects.h Use internal extern "C" { ... } for C++ 2023-01-23 18:40:01 +00:00
CMakeLists.txt [SX-ttinfo.cpp] tidier, using c++ stl and algo 2024-06-12 23:17:32 +08:00
engine-helpers.c [engine-helpers.h] key is a const char* 2024-02-25 22:39:38 +08:00
engine-helpers.h [engine-helpers.h] key is a const char* 2024-02-25 22:39:38 +08:00
FreqSpec.h Restructure the src directory 2017-08-10 18:45:00 +02:00
gnc-accounting-period.c [options] Move options from app-utils to engine. 2022-08-25 22:09:56 -07:00
gnc-accounting-period.h Use internal extern "C" { ... } for C++ 2023-01-23 18:40:01 +00:00
gnc-aqbanking-templates.cpp Use internal extern "C" { ... } for C++ 2023-01-23 18:40:01 +00:00
gnc-aqbanking-templates.h Don't use extern "C" around #includes 2023-03-03 18:55:42 +00:00
gnc-backend-prov.hpp Restructure the src directory 2017-08-10 18:45:00 +02:00
gnc-budget.cpp use c++ placement new 2024-05-12 21:00:56 +08:00
gnc-budget.h Don't use extern "C" around #includes 2023-03-03 18:55:42 +00:00
gnc-commodity.cpp Add YH Finance (FINANCEAPI) API Key to Quotes infrastructure. 2024-09-19 13:25:59 -07:00
gnc-commodity.h [gnc-commodity.h] callers must free g_list 2024-08-27 20:00:50 +08:00
gnc-commodity.hpp [gnc-commodity.cpp] gnc_quote_source_set_fq_installed takes a StrVec 2024-02-17 22:55:40 +08:00
gnc-date-p.h Don't use extern "C" around #includes 2023-03-03 18:55:42 +00:00
gnc-date.cpp [gnc-date.cpp] deprecate gnc_difftime 2024-09-08 21:11:44 +08:00
gnc-date.h [gnc-date.cpp] deprecate gnc_difftime 2024-09-08 21:11:44 +08:00
gnc-datetime.cpp [gnc-datetime] improve CSV date parser with ICU and boost 2024-09-14 10:13:52 +08:00
gnc-datetime.hpp [gnc-datetime] improve CSV date parser with ICU and boost 2024-09-14 10:13:52 +08:00
gnc-engine.cpp [Transaction.hpp] rename to .hpp 2024-05-05 14:35:38 +08:00
gnc-engine.h [Transaction.hpp] rename to .hpp 2024-05-05 14:35:38 +08:00
gnc-euro.cpp [gnc-euro.cpp] use c++isms 2024-05-05 09:28:32 +08:00
gnc-euro.h Use internal extern "C" { ... } for C++ 2023-01-23 18:40:01 +00:00
gnc-event.c Prevent gcc from searching config.h in the current directory 2017-10-26 14:05:17 +02:00
gnc-event.h Restructure the src directory 2017-08-10 18:45:00 +02:00
gnc-features.cpp [gnc-features.cpp] remove_if requires <algorithm> 2023-04-29 08:17:22 +08:00
gnc-features.h Refactor gnc-features. 2023-04-28 16:31:07 -07:00
gnc-hooks.c gnc-hooks - factor out scm calls into a separate source file 2019-12-06 19:59:11 +01:00
gnc-hooks.h Use internal extern "C" { ... } for C++ 2023-01-23 18:40:01 +00:00
gnc-int128.cpp [-Wunused-value] - remove 2023-02-16 09:19:19 +00:00
gnc-int128.hpp Silence Clang deprecation warnings about sprintf. 2023-01-23 12:54:25 -08:00
gnc-lot-p.h Add #ifdef __cplusplus extern "C" {} wrappers to .h files 2024-02-08 21:26:47 +08:00
gnc-lot.cpp [Transaction.hpp] rename to .hpp 2024-05-05 14:35:38 +08:00
gnc-lot.h Doxygen - minor cleanup of gnc-lot.h 2024-05-23 15:10:05 +02:00
gnc-numeric.cpp [gnc-numeric.cpp] shortcut parsing num/denom as gnc_numeric 2024-03-11 19:16:06 +08:00
gnc-numeric.h Doxygen - drop several txt files that were included in 2024-05-23 15:10:05 +02:00
gnc-numeric.hpp Fix typos in libgnucash/ 2021-03-02 01:15:32 +01:00
gnc-option-date.cpp Gnc-options-date: Make the accounting period struct tm empty... 2024-09-22 16:15:52 -07:00
gnc-option-date.hpp Use internal extern "C" { ... } for C++ 2023-01-23 18:40:01 +00:00
gnc-option-impl.cpp Merge branch 'free-guid-string' into stable #1777 2023-09-20 07:29:16 +08:00
gnc-option-impl.hpp Allow building with c++20 and greater/ 2024-04-01 15:21:31 -05:00
gnc-option-ui.hpp [options] Move options from app-utils to engine. 2022-08-25 22:09:56 -07:00
gnc-option-uitype.hpp Bug753307 - Custom Report be selectable as default Report for Printing 2023-02-01 16:29:11 +00:00
gnc-option.cpp [c++options] Correctly implement handling Fancy Date Format. 2023-09-19 16:05:53 -07:00
gnc-option.hpp [c++options] Correctly implement handling Fancy Date Format. 2023-09-19 16:05:53 -07:00
gnc-optiondb-impl.hpp [c++options]Really fix the gnc_option_db_lookup_string_value leak 2023-03-06 11:43:50 -08:00
gnc-optiondb.cpp [c++options] Correctly implement handling Fancy Date Format. 2023-09-19 16:05:53 -07:00
gnc-optiondb.h [c++options]Really fix the gnc_option_db_lookup_string_value leak 2023-03-06 11:43:50 -08:00
gnc-optiondb.hpp [c++options] Correctly implement handling Fancy Date Format. 2023-09-19 16:05:53 -07:00
gnc-pricedb-p.h [gnc-pricedb.h] remove unused gnc_pricedb_substitute_commodity 2024-08-31 20:46:05 +08:00
gnc-pricedb.cpp [gnc-pricedb.h] remove unused gnc_pricedb_substitute_commodity 2024-08-31 20:46:05 +08:00
gnc-pricedb.h [gnc-pricedb.h] remove unused gnc_pricedb_lookup_at_time64 2024-08-31 20:45:32 +08:00
gnc-rational-rounding.hpp Bug 796949 - Fix division and rounding of zero. 2019-05-11 23:23:59 +01:00
gnc-rational.cpp Adjust catch syntax to avoid GCC8 warnings. 2018-04-03 22:02:44 -04:00
gnc-rational.hpp Restructure the src directory 2017-08-10 18:45:00 +02:00
gnc-session.c Decouple QofBook creation from QofSession. 2020-05-08 15:59:41 -07:00
gnc-session.h Use internal extern "C" { ... } for C++ 2023-01-23 18:40:01 +00:00
gnc-timezone.cpp Fix UAF in xaccFreeSplit. 2023-11-02 12:58:55 -07:00
gnc-timezone.hpp Use internal extern "C" { ... } for C++ 2023-01-23 18:40:01 +00:00
gnc-uri-utils.c Doxygen - drop obvious cases of deprecated code 2024-05-23 15:10:05 +02:00
gnc-uri-utils.h Doxygen - drop obvious cases of deprecated code 2024-05-23 15:10:05 +02:00
gncAddress.c [~qofchoice.cpp] remove, not useful 2024-06-10 01:33:06 +08:00
gncAddress.h Doxygen - fold business.txt file in the respective source files 2024-05-23 15:10:05 +02:00
gncAddressP.h [engine/*.h] add extern "C" {} wrappers 2024-04-02 21:09:39 +08:00
gncBillTerm.c Doxygen - fold business.txt file in the respective source files 2024-05-23 15:10:05 +02:00
gncBillTerm.h Doxygen - fold business.txt file in the respective source files 2024-05-23 15:10:05 +02:00
gncBillTermP.h Use internal extern "C" { ... } for C++ 2023-01-23 18:40:01 +00:00
gncBusiness.c Prevent gcc from searching config.h in the current directory 2017-10-26 14:05:17 +02:00
gncBusiness.h Doxygen - merge separate txt files into respective header files 2024-05-23 15:10:05 +02:00
gncCustomer.c [~qofchoice.cpp] remove, not useful 2024-06-10 01:33:06 +08:00
gncCustomer.h Don't use extern "C" around #includes 2023-03-03 18:55:42 +00:00
gncCustomerP.h [engine/*.h] add extern "C" {} wrappers 2024-04-02 21:09:39 +08:00
gncEmployee.c Remove extra semicolons 2023-01-24 13:22:18 +00:00
gncEmployee.h Don't use extern "C" around #includes 2023-03-03 18:55:42 +00:00
gncEmployeeP.h [engine/*.h] add extern "C" {} wrappers 2024-04-02 21:09:39 +08:00
gncEntry.c Merge branch 'maint' 2023-01-26 18:40:44 +08:00
gncEntry.h Merge Richard Cohen's 'cleanup' into master. 2023-01-24 12:05:47 -08:00
gncEntryP.h Use internal extern "C" { ... } for C++ 2023-01-23 18:40:01 +00:00
gncIDSearch.c Revert b5f5129f7 using gnc_list_length_cmp 2021-11-02 23:34:26 +08:00
gncIDSearch.h Prevent gcc from searching config.h in the current directory 2017-10-26 14:05:17 +02:00
gncInvoice.c [~qofchoice.cpp] remove, not useful 2024-06-10 01:33:06 +08:00
gncInvoice.h Don't use extern "C" around #includes 2023-03-03 18:55:42 +00:00
gncInvoiceP.h Use internal extern "C" { ... } for C++ 2023-01-23 18:40:01 +00:00
gncJob.c [~qofchoice.cpp] remove, not useful 2024-06-10 01:33:06 +08:00
gncJob.h Merge branch 'maint' 2023-01-26 18:40:44 +08:00
gncJobP.h [engine/*.h] add extern "C" {} wrappers 2024-04-02 21:09:39 +08:00
gncOrder.c Remove extra semicolons 2023-01-24 13:22:18 +00:00
gncOrder.h Merge Richard Cohen's 'cleanup' into master. 2023-01-24 12:05:47 -08:00
gncOrderP.h [engine/*.h] add extern "C" {} wrappers 2024-04-02 21:09:39 +08:00
gncOwner.c Bug 798925 - Python bindings: "invalid unclassed pointer... 2023-09-11 17:40:48 -07:00
gncOwner.h Bug 798950 - Bug Report: Incorrect Currency Conversion and Provider Invoice Payment Recording 2023-08-21 16:01:27 +02:00
gncOwnerP.h Cache current owner balances 2018-09-23 16:00:41 +02:00
gncTaxTable.c Doxygen - fold business.txt file in the respective source files 2024-05-23 15:10:05 +02:00
gncTaxTable.h Doxygen - merge separate txt files into respective header files 2024-05-23 15:10:05 +02:00
gncTaxTableP.h Use internal extern "C" { ... } for C++ 2023-01-23 18:40:01 +00:00
gncVendor.c [~qofchoice.cpp] remove, not useful 2024-06-10 01:33:06 +08:00
gncVendor.h Don't use extern "C" around #includes 2023-03-03 18:55:42 +00:00
gncVendorP.h [engine/*.h] add extern "C" {} wrappers 2024-04-02 21:09:39 +08:00
guid.cpp [engine/*.cpp] NULL -> nullptr changes 2024-04-02 21:09:39 +08:00
guid.h Don't use extern "C" around #includes 2023-03-03 18:55:42 +00:00
guid.hpp [guid.hpp] GUID::from_string and is_valid_string takes a const char* 2024-03-17 09:07:59 +08:00
iso-4217-currencies.xml edit: use &apos; instead of ` symbol 2023-04-24 02:04:35 +05:00
iso-currencies-to-c.xsl Restructure the src directory 2017-08-10 18:45:00 +02:00
kvp_doc.txt Remove texi design document in engine 2024-05-23 15:10:05 +02:00
kvp-frame.cpp Bug 799324 - Invalid free in gvalue_from_kvp_value() 2024-06-02 14:39:11 -07:00
kvp-frame.hpp [kvp-frame.cpp] expose iterator, skip inexistent frame 2022-04-09 17:45:44 +08:00
kvp-value.cpp [engine] Remove two replace functions from KvpValue 2023-04-02 21:12:50 +02:00
kvp-value.hpp Bug 799324 - Invalid free in gvalue_from_kvp_value() 2024-06-02 14:39:11 -07:00
policy-p.h Merge branch 'maint' 2022-04-14 18:02:17 -07:00
policy.cpp [Transaction.hpp] rename to .hpp 2024-05-05 14:35:38 +08:00
policy.h Remove the incomplete book-currency code. 2021-07-10 17:29:11 -07:00
qof-backend.cpp Use internal extern "C" { ... } for C++ 2023-01-23 18:40:01 +00:00
qof-backend.hpp Use internal extern "C" { ... } for C++ 2023-01-23 18:40:01 +00:00
qof-gobject.h Remove extra semicolons 2023-01-24 13:22:18 +00:00
qof-string-cache.cpp Use internal extern "C" { ... } for C++ 2023-01-23 18:40:01 +00:00
qof-string-cache.h Use const return values for string cache 2021-07-11 18:54:49 +01:00
qof-win32.cpp Don't use extern "C" around #includes 2023-03-03 18:55:42 +00:00
qof.h [~qofchoice.cpp] remove, not useful 2024-06-10 01:33:06 +08:00
qofbackend.h Fix typos in libgnucash/ 2021-03-02 01:15:32 +01:00
qofbook-p.h Doxygen - drop obvious cases of deprecated code 2024-05-23 15:10:05 +02:00
qofbook.cpp [AccountP.hpp] .h -> .hpp, remove extern "C" {} wrapper 2024-04-02 21:09:40 +08:00
qofbook.h Don't use extern "C" around #includes 2023-03-03 18:55:42 +00:00
qofbook.hpp Refactor gnc-features. 2023-04-28 16:31:07 -07:00
qofbookslots.h Allow to select saved report on print invoice button 2023-02-02 14:05:53 +00:00
qofclass-p.h Restructure the src directory 2017-08-10 18:45:00 +02:00
qofclass.cpp Fix build with glib2 2.67.x. 2021-02-16 13:23:16 -08:00
qofclass.h [~qofchoice.cpp] remove, not useful 2024-06-10 01:33:06 +08:00
qofevent-p.h Restructure the src directory 2017-08-10 18:45:00 +02:00
qofevent.cpp Fix build with glib2 2.67.x. 2021-02-16 13:23:16 -08:00
qofevent.h Restructure the src directory 2017-08-10 18:45:00 +02:00
qofid-p.h Restructure the src directory 2017-08-10 18:45:00 +02:00
qofid.cpp [qofid.cpp] remove unnecessary struct 2024-05-20 08:05:01 +08:00
qofid.h [qofid.cpp] qof_collection_foreach_sorted 2024-05-19 20:19:29 +08:00
qofinstance-p.h [qofinstance.cpp] add overloaded qof_instance_set|get_path_kvp 2024-10-18 08:35:25 +08:00
qofinstance.cpp [qofinstance.cpp] GValue on stack instead of heap 2024-10-18 08:35:26 +08:00
qofinstance.h Use internal extern "C" { ... } for C++ 2023-01-23 18:40:01 +00:00
qoflog.cpp [engine/*.cpp] NULL -> nullptr changes 2024-04-02 21:09:39 +08:00
qoflog.h Don't use extern "C" around #includes 2023-03-03 18:55:42 +00:00
qofobject-p.h Restructure the src directory 2017-08-10 18:45:00 +02:00
qofobject.cpp [engine/*.cpp] NULL -> nullptr changes 2024-04-02 21:09:39 +08:00
qofobject.h [~qofchoice.cpp] remove, not useful 2024-06-10 01:33:06 +08:00
qofquery-p.h Restructure the src directory 2017-08-10 18:45:00 +02:00
qofquery.cpp Doxygen - drop obvious cases of deprecated code 2024-05-23 15:10:05 +02:00
qofquery.h [~qofchoice.cpp] remove, not useful 2024-06-10 01:33:06 +08:00
qofquerycore-p.h Bug 795031 - 3.0 Crashes on loading when opening 2.6.19 file 2018-04-26 23:06:36 +02:00
qofquerycore.cpp Reapply filter when number of sub-accounts change 2024-06-27 10:03:22 +01:00
qofquerycore.h Reapply filter when number of sub-accounts change 2024-06-27 10:03:22 +01:00
qofsession.cpp Fix some typos in comments 2023-05-13 13:00:25 +01:00
qofsession.h use same order in comment as in definition of SessionOpenMode enum 2020-07-04 22:26:35 +02:00
qofsession.hpp Fix some return of ptr-to-temporary errors 2020-09-25 12:31:52 -07:00
qofutil.cpp Bug 798679 - Unicode normalization should be used for comparison but not stored. 2023-01-04 13:19:36 -08:00
qofutil.h scanf supports %lld since C++11, C99 2023-05-15 13:21:30 +01:00
Query.cpp Reapply filter when number of sub-accounts change 2024-06-27 10:03:22 +01:00
Query.h Reapply filter when number of sub-accounts change 2024-06-27 10:03:22 +01:00
README Remove texi design document in engine 2024-05-23 15:10:05 +02:00
README.query-api Bug 795031 - 3.0 Crashes on loading when opening 2.6.19 file 2018-04-26 23:06:36 +02:00
Recurrence.cpp [Recurrence.cpp] convert to cpp 2024-02-09 17:23:51 +08:00
Recurrence.h recurrencePeriodTypeToString and recurrenceWeekendAdjustToString g_strdup only when necessary 2023-11-06 14:12:17 -08:00
SchedXaction.cpp [SX-ttinfo.cpp] tidier, using c++ stl and algo 2024-06-12 23:17:32 +08:00
SchedXaction.h [SX-ttinfo.cpp] tidier, using c++ stl and algo 2024-06-12 23:17:32 +08:00
SchedXaction.hpp [SX-ttinfo.cpp] tidier, using c++ stl and algo 2024-06-12 23:17:32 +08:00
Scrub2.cpp [Transaction.hpp] rename to .hpp 2024-05-05 14:35:38 +08:00
Scrub2.h [Scrub2.cpp] convert to cpp 2024-04-02 21:09:39 +08:00
Scrub3.cpp [Transaction.hpp] rename to .hpp 2024-05-05 14:35:38 +08:00
Scrub3.h Use internal extern "C" { ... } for C++ 2023-01-23 18:40:01 +00:00
Scrub.cpp [Scrub.cpp] don't create intermediate GHashTable and GList 2024-07-17 23:53:02 +08:00
Scrub.h Use internal extern "C" { ... } for C++ 2023-01-23 18:40:01 +00:00
ScrubBudget.c [budget-feature] move unset_feature call to gnc_budget_gui_delete_budget 2022-10-31 12:03:58 +08:00
ScrubBudget.h [1/2][Scrubbudget.c] use heuristics to scrub budget signs 2021-12-03 17:40:21 +08:00
ScrubBusiness.c g_list_free xaccAccountGetSplitList 2024-04-16 00:09:52 +08:00
ScrubBusiness.h add #ifdef __cplusplus extern "C" {} wrappers to .h files 2024-02-25 22:39:38 +08:00
Split.cpp [Transaction|Split.cpp] Remove Reg2 unused functions 2024-06-17 21:53:26 +08:00
Split.h [Transaction|Split.cpp] Remove Reg2 unused functions 2024-06-17 21:53:26 +08:00
SplitP.hpp [SplitP.hpp] rename to .hpp 2024-05-05 14:35:44 +08:00
SX-book-p.h Use internal extern "C" { ... } for C++ 2023-01-23 18:40:01 +00:00
SX-book.cpp [SX-book.cpp] convert to c++ 2024-05-31 22:06:55 +08:00
SX-book.h Use internal extern "C" { ... } for C++ 2023-01-23 18:40:01 +00:00
SX-ttinfo.hpp [SX-ttinfo.cpp] tidier, using c++ stl and algo 2024-06-12 23:17:32 +08:00
Transaction.cpp [transaction.cpp] use std::swap instead of SWAP macro 2024-07-09 20:09:24 +08:00
Transaction.h [Transaction|Split.cpp] Remove Reg2 unused functions 2024-06-17 21:53:26 +08:00
TransactionP.hpp [SplitP.hpp] rename to .hpp 2024-05-05 14:35:44 +08:00
TransLog.cpp [Transaction.hpp] rename to .hpp 2024-05-05 14:35:38 +08:00
TransLog.h Use internal extern "C" { ... } for C++ 2023-01-23 18:40:01 +00:00

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).