gnucash/libgnucash/engine
2024-05-23 15:10:05 +02:00
..
mocks [SplitP.hpp] rename to .hpp 2024-05-05 14:35:44 +08:00
test [test-commodities.cpp] test stability of c_str names 2024-05-10 07:42:50 +08:00
test-core [Transaction.hpp] rename to .hpp 2024-05-05 14:35:38 +08:00
Account.cpp Revert "[account.cpp] gnc_account_remove_split searches from the end" 2024-05-21 22:58:00 +08:00
Account.h [Account.hpp][API] xaccAccountGetSplits and gnc_account_find_split 2024-04-16 00:09:52 +08:00
Account.hpp [account.cpp] add gnc_account_foreach_until_date 2024-05-02 22:21:31 +08:00
AccountP.hpp [account.cpp] use HashTable for splits 2024-05-13 12:45:46 +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 Doxygen - drop several txt files that were included in 2024-05-23 15:10:05 +02: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
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
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 Bug 799305 - Crash when there is more than one unknown quote source for commodities 2024-05-10 07:42:50 +08:00
gnc-commodity.h [gnc-commodity.cpp] gnc_quote_source_set_fq_installed takes a StrVec 2024-02-17 22:55:40 +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 [engine/*.cpp] NULL -> nullptr changes 2024-04-02 21:09:39 +08:00
gnc-date.h Move gnc_list_formatter from gnc-date to gnc-ui-util. 2024-01-06 18:16:31 -08:00
gnc-datetime.cpp [gnc-date.cpp] specialise iso-8601 parsing where TZ=+0000 2024-03-14 08:48:31 +08:00
gnc-datetime.hpp [gnc-date.cpp] specialise iso-8601 parsing where TZ=+0000 2024-03-14 08:48:31 +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
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 [gnc-lot.c] speed up gncInvoiceGetInvoiceFromLot by caching invoice 2020-04-30 23:56:26 +08: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 Bug 798946 - start/end of current/last quarter have off-by-one error 2024-02-17 12:52:17 -08: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 Use internal extern "C" { ... } for C++ 2023-01-23 18:40:01 +00:00
gnc-pricedb.cpp [engine/*.cpp] NULL -> nullptr changes 2024-04-02 21:09:39 +08:00
gnc-pricedb.h [gnc-pricedb] add user:stock-transaction price source 2022-03-11 14:31:02 +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
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 Fix typos in libgnucash/ 2021-03-02 01:15:32 +01:00
gnc-uri-utils.h Use internal extern "C" { ... } for C++ 2023-01-23 18:40:01 +00:00
gncAddress.c Remove extra semicolons 2023-01-24 13:22:18 +00: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 - fold business.txt file in the respective source files 2024-05-23 15:10:05 +02:00
gncCustomer.c Remove some unused variables with obviously no side effects 2023-02-06 14:19:22 +00: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 Fix crash in test-engine on Arch 2023-05-15 20:03:23 +01: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 Remove some unused variables with obviously no side effects 2023-02-06 14:19:22 +00: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 - fold business.txt file in the respective source 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 Remove some unused variables with obviously no side effects 2023-02-06 14:19:22 +00: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
kvp_doc.txt Remove texi design document in engine 2024-05-23 15:10:05 +02:00
kvp-frame.cpp Fix incorrect logging after switch fallthrough 2023-06-06 15:16:39 +01: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 Remove unused boxed type gnc_value_list 2023-05-25 14:42:28 +01: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 Use internal extern "C" { ... } for C++ 2023-01-23 18:40:01 +00:00
qofbackend.h Fix typos in libgnucash/ 2021-03-02 01:15:32 +01:00
qofbook-p.h
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
qofchoice.cpp Fix build with glib2 2.67.x. 2021-02-16 13:23:16 -08:00
qofchoice.h
qofclass-p.h
qofclass.cpp Fix build with glib2 2.67.x. 2021-02-16 13:23:16 -08:00
qofclass.h Fix typos in libgnucash/ 2021-03-02 01:15:32 +01:00
qofevent-p.h
qofevent.cpp Fix build with glib2 2.67.x. 2021-02-16 13:23:16 -08:00
qofevent.h
qofid-p.h
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 Timespec removal, engine odds-and-ends. 2018-08-13 11:52:43 -07:00
qofinstance.cpp [engine/*.cpp] NULL -> nullptr changes 2024-04-02 21:09:39 +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
qofobject.cpp [engine/*.cpp] NULL -> nullptr changes 2024-04-02 21:09:39 +08:00
qofobject.h Fix typos in libgnucash/ 2021-03-02 01:15:32 +01:00
qofquery-p.h
qofquery.cpp [engine/*.cpp] NULL -> nullptr changes 2024-04-02 21:09:39 +08:00
qofquery.h Fix various typos 2022-04-08 14:12:50 -04: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 [engine/*.cpp] NULL -> nullptr changes 2024-04-02 21:09:39 +08:00
qofquerycore.h Bug 795031 - 3.0 Crashes on loading when opening 2.6.19 file 2018-04-26 23:06:36 +02: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 [Transaction.hpp] rename to .hpp 2024-05-05 14:35:38 +08:00
Query.h Use internal extern "C" { ... } for C++ 2023-01-23 18:40:01 +00: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.c g_list_free xaccAccountGetSplitList 2024-04-16 00:09:52 +08:00
SchedXaction.h g_list_free xaccAccountGetSplitList 2024-04-16 00:09:52 +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 [Transaction.hpp] rename to .hpp 2024-05-05 14:35:38 +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.hpp] rename to .hpp 2024-05-05 14:35:38 +08:00
Split.h Doxygen - drop several txt files that were included in 2024-05-23 15:10:05 +02: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.c g_list_free xaccAccountGetSplitList 2024-04-16 00:09:52 +08:00
SX-book.h Use internal extern "C" { ... } for C++ 2023-01-23 18:40:01 +00:00
SX-ttinfo.c Prevent gcc from searching config.h in the current directory 2017-10-26 14:05:17 +02:00
SX-ttinfo.h Use internal extern "C" { ... } for C++ 2023-01-23 18:40:01 +00:00
TaxTableBillTermImmutability.txt Doxygen - fold business.txt file in the respective source files 2024-05-23 15:10:05 +02:00
Transaction.cpp [transaction.cpp] speed up book close 2024-05-19 20:19:29 +08:00
Transaction.h Bug 798983 - Empty Orphan account appears after entering transactions in 5.3 2023-09-08 15:08:44 -07: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).