GnuCash
4.14+
|
The GnuCash Engine provides a set of objects and classes that encapsulate typical financial accounting concepts. More...
Modules | |
Environment | |
The API in this file is used to read the environment configuration file and set up a number of environment variables based on the values found in it. | |
Generic Preference Utilities | |
The only function in this file is meant to initialize the preferences system early in the load process. | |
Account | |
Splits are grouped into Accounts which are also known as "Ledgers" in accounting practice. | |
Cap Gains | |
This file implements the various routines to automatically compute and handle Cap Gains/Losses resulting from trading activities. | |
Commodities | |
A commodity is something of value that is easily tradeable or sellable; for example, currencies, stocks, bonds, grain, copper, and oil are all commodities. | |
Lots: Core Function for AR/AP, Inventory, Stock Lots, Cap Gains | |
One often needs to know that the item 'bought' in one transaction is the same one as the item 'sold' in a different transaction. | |
Price Database | |
The PriceDB is intended to be a database of price quotes, or more specifically, a database of GNCPrices. | |
Prices | |
Each price in the database represents an "instantaneous" quote for a given commodity with respect to another commodity. | |
Business | |
The Business Engine provides a set of structures for that provide small-business accounting features. | |
Accounting Policy (FIFO/LIFO) | |
This file implements Accounting Policy. | |
Scheduled/Periodic/Recurring Transactions | |
Scheduled Transactions provide a framework for remembering information about a transactions that are set to occur in the future, either once or periodically. | |
Data Validation | |
Data scrubbing, repairing and forward migration routines. | |
Transaction, Split | |
A good overview of transactions, splits and accounts can be found in the texinfo documentation, together with an overview of how to use this API. | |
Transaction Logging | |
The transaction logging mechanism provides a very simple, low-level logging of user input to a file. | |
Files | |
file | gnc-engine.h |
All type declarations for the whole Gnucash engine. | |
Data Structures | |
struct | GncImapInfo |
Macros | |
#define | ACCOUNT_MATCH_ALL_TYPE "account-match-all" |
This is the type-override when you want to match all accounts. More... | |
#define | GNC_ID_NONE QOF_ID_NONE |
IDENTIFIERS GncGUID Identifiers can be used to reference Accounts, Transactions, Splits and other objects. More... | |
#define | GNC_ID_BOOK QOF_ID_BOOK |
#define | GNC_ID_SESSION QOF_ID_SESSION |
#define | GNC_ID_NULL QOF_ID_NULL |
#define | GNC_ID_ACCOUNT "Account" |
#define | GNC_ID_COMMODITY "Commodity" |
#define | GNC_ID_COMMODITY_NAMESPACE "CommodityNamespace" |
#define | GNC_ID_COMMODITY_TABLE "CommodityTable" |
#define | GNC_ID_LOT "Lot" |
#define | GNC_ID_PERIOD "Period" |
#define | GNC_ID_PRICE "Price" |
#define | GNC_ID_PRICEDB "PriceDB" |
#define | GNC_ID_SPLIT "Split" |
#define | GNC_ID_BUDGET "Budget" |
#define | GNC_ID_SCHEDXACTION "SchedXaction" |
#define | GNC_ID_SXES "SchedXactions" |
#define | GNC_ID_SXTG "SXTGroup" |
#define | GNC_ID_SXTT "SXTTrans" |
#define | GNC_ID_TRANS "Trans" |
#define | GNC_INVOICE_ID "gncInvoice" |
STRING CONSTANTS ********************************************** Used to declare constant KVP keys used in more than one class. | |
#define | GNC_INVOICE_GUID "invoice-guid" |
#define | GNC_OWNER_ID "gncOwner" |
#define | GNC_OWNER_TYPE "owner-type" |
#define | GNC_OWNER_GUID "owner-guid" |
#define | GNC_SX_ID "sched-xaction" |
Typedefs | |
typedef GList | AccountList |
GList of Account. | |
typedef GList | LotList |
GList of GNCLots. | |
typedef GList | SplitList |
GList of Split. | |
typedef GList | TransList |
GList of Transaction. | |
typedef GList | AccountGUIDList |
GList of GUIDs of a Account. | |
typedef GList | BookGUIDList |
GList of GUIDs of a QofBook. | |
typedef void(* | EngineCommitErrorCallback) (gpointer data, QofBackendError errcode) |
typedef gint(* | SplitCallback) (Split *s, gpointer data) |
typedef gint(* | TransactionCallback) (Transaction *t, void *data) |
typedef void(* | gnc_engine_init_hook_t) (int, char **) |
Function type for init hooks in the engine. More... | |
Enumerations | |
enum | GNCPlaceholderType { PLACEHOLDER_NONE, PLACEHOLDER_THIS, PLACEHOLDER_CHILD } |
DOCUMENT ME! | |
Functions | |
GList * | gnc_accounts_and_all_descendants (GList *accounts) |
void | gnc_engine_init (int argc, char **argv) |
PROTOTYPES. More... | |
void | gnc_engine_init_static (int argc, char **argv) |
This is the statically linked-in version of gnc_engine_init. More... | |
void | gnc_engine_shutdown (void) |
Called to shutdown the engine. More... | |
gboolean | gnc_engine_is_initialized (void) |
check the engine is fully initialized | |
void | gnc_log_default (void) |
enable default log modules | |
void | gnc_engine_add_init_hook (gnc_engine_init_hook_t hook) |
Pass a function pointer to gnc_engine_add_init_hook and it will be called during the evaluation of gnc_engine_init. | |
void | gnc_engine_add_commit_error_callback (EngineCommitErrorCallback cb, gpointer data) |
Set a callback function to be called in case an engine commit fails. | |
void | gnc_engine_signal_commit_error (QofBackendError errcode) |
Lookup Accounts and Subaccounts by name or code | |
Account * | gnc_account_lookup_by_name (const Account *parent, const char *name) |
The gnc_account_lookup_by_name() subroutine fetches the account by name from the descendants of the specified account. More... | |
Account * | gnc_account_lookup_by_full_name (const Account *any_account, const gchar *name) |
The gnc_account_lookup_full_name() subroutine works like gnc_account_lookup_by_name, but uses fully-qualified names using the given separator. | |
Account * | gnc_account_lookup_by_code (const Account *parent, const char *code) |
The gnc_account_lookup_by_code() subroutine works like gnc_account_lookup_by_name, but uses the account code. | |
Account * | gnc_account_lookup_by_opening_balance (Account *account, gnc_commodity *commodity) |
Find the opening balance account for the currency. More... | |
GList * | gnc_account_lookup_by_type_and_commodity (Account *root, const char *name, GNCAccountType acctype, gnc_commodity *commodity) |
Find a direct child account matching name, GNCAccountType, and/or commodity. More... | |
GNCAccountType conversion/checking | |
const char * | xaccAccountTypeEnumAsString (GNCAccountType type) |
Conversion routines for the account types to/from strings that are used in persistent storage, communications. More... | |
gboolean | xaccAccountStringToType (const char *str, GNCAccountType *type) |
Conversion routines for the account types to/from strings that are used in persistent storage, communications. More... | |
GNCAccountType | xaccAccountStringToEnum (const char *str) |
Conversion routines for the account types to/from strings that are used in persistent storage, communications. More... | |
const char * | xaccAccountGetTypeStr (GNCAccountType type) |
The xaccAccountGetTypeStr() routine returns a string suitable for use in the GUI/Interface. More... | |
guint32 | xaccAccountTypesCompatibleWith (GNCAccountType type) |
Return the bitmask of account types compatible with a given type. More... | |
guint32 | xaccParentAccountTypesCompatibleWith (GNCAccountType type) |
Return the bitmask of parent account types compatible with a given type. More... | |
gboolean | xaccAccountTypesCompatible (GNCAccountType parent_type, GNCAccountType child_type) |
Return TRUE if accounts of type parent_type can have accounts of type child_type as children. More... | |
guint32 | xaccAccountTypesValid (void) |
Returns the bitmask of the account type enums that are valid. More... | |
gboolean | xaccAccountIsAssetLiabType (GNCAccountType t) |
Convenience function to check if the account is a valid Asset or Liability type, but not a business account type (meaning not an Accounts Payable/Accounts Receivable). More... | |
GNCAccountType | xaccAccountTypeGetFundamental (GNCAccountType t) |
Convenience function to return the fundamental type asset/liability/income/expense/equity given an account type. More... | |
gboolean | xaccAccountIsAPARType (GNCAccountType t) |
Convenience function to check if the account is a valid business account type (meaning an Accounts Payable/Accounts Receivable). More... | |
gboolean | xaccAccountIsEquityType (GNCAccountType t) |
Convenience function to check if the account is a valid Equity type. More... | |
Account split/transaction list management | |
SplitList * | xaccAccountGetSplitList (const Account *account) |
The xaccAccountGetSplitList() routine returns a pointer to a GList of the splits in the account. More... | |
gint64 | xaccAccountCountSplits (const Account *acc, gboolean include_children) |
The xaccAccountCountSplits() routine returns the number of all the splits in the account. More... | |
void | xaccAccountMoveAllSplits (Account *accfrom, Account *accto) |
The xaccAccountMoveAllSplits() routine reassigns each of the splits in accfrom to accto. More... | |
gint | xaccAccountForEachTransaction (const Account *account, TransactionCallback proc, void *data) |
The xaccAccountForEachTransaction() routine will traverse all of the transactions in account and call the callback function proc on each transaction. More... | |
Transaction * | xaccAccountFindTransByDesc (const Account *account, const char *description) |
Returns a pointer to the transaction, not a copy. More... | |
Split * | xaccAccountFindSplitByDesc (const Account *account, const char *description) |
Returns a pointer to the split, not a copy. More... | |
#define | xaccAccountInsertSplit(acc, s) xaccSplitSetAccount((s), (acc)) |
The xaccAccountInsertSplit() method will insert the indicated split into the indicated account. More... | |
Account lots | |
void | xaccAccountInsertLot (Account *, GNCLot *) |
The xaccAccountInsertLot() method will register the indicated lot with this account. More... | |
void | xaccAccountRemoveLot (Account *, GNCLot *) |
LotList * | xaccAccountGetLotList (const Account *account) |
The xaccAccountGetLotList() routine returns a list of all lots in this account. More... | |
gpointer | xaccAccountForEachLot (const Account *acc, gpointer(*proc)(GNCLot *lot, gpointer user_data), gpointer user_data) |
The xaccAccountForEachLot() method will apply the function 'proc' to each lot in the account. More... | |
LotList * | xaccAccountFindOpenLots (const Account *acc, gboolean(*match_func)(GNCLot *lot, gpointer user_data), gpointer user_data, GCompareFunc sort_func) |
Find a list of open lots that match the match_func. More... | |
Account Reconciliation information getters/setters | |
gboolean | xaccAccountGetReconcileLastDate (const Account *account, time64 *last_date) |
DOCUMENT ME! | |
void | xaccAccountSetReconcileLastDate (Account *account, time64 last_date) |
DOCUMENT ME! | |
gboolean | xaccAccountGetReconcileLastInterval (const Account *account, int *months, int *days) |
DOCUMENT ME! | |
void | xaccAccountSetReconcileLastInterval (Account *account, int months, int days) |
DOCUMENT ME! | |
gboolean | xaccAccountGetReconcilePostponeDate (const Account *account, time64 *postpone_date) |
DOCUMENT ME! | |
void | xaccAccountSetReconcilePostponeDate (Account *account, time64 postpone_date) |
DOCUMENT ME! | |
gboolean | xaccAccountGetReconcilePostponeBalance (const Account *account, gnc_numeric *balance) |
DOCUMENT ME! | |
void | xaccAccountSetReconcilePostponeBalance (Account *account, gnc_numeric balance) |
DOCUMENT ME! | |
void | xaccAccountClearReconcilePostpone (Account *account) |
DOCUMENT ME! | |
Account Placeholder flag | |
gboolean | xaccAccountGetPlaceholder (const Account *account) |
Get the "placeholder" flag for an account. More... | |
void | xaccAccountSetPlaceholder (Account *account, gboolean val) |
Set the "placeholder" flag for an account. More... | |
Account Append Text flag | |
gboolean | xaccAccountGetAppendText (const Account *account) |
Get the "import-append-text" flag for an account. More... | |
void | xaccAccountSetAppendText (Account *account, gboolean val) |
Set the "import-append-text" flag for an account. More... | |
gboolean | xaccAccountGetIsOpeningBalance (const Account *account) |
Get the "opening-balance" flag for an account. More... | |
void | xaccAccountSetIsOpeningBalance (Account *account, gboolean val) |
Set the "opening-balance" flag for an account. More... | |
GNCPlaceholderType | xaccAccountGetDescendantPlaceholder (const Account *account) |
Returns PLACEHOLDER_NONE if account is NULL or neither account nor any descendant of account is a placeholder. More... | |
Account Hidden flag | |
gboolean | xaccAccountGetHidden (const Account *acc) |
Get the "hidden" flag for an account. More... | |
void | xaccAccountSetHidden (Account *acc, gboolean val) |
Set the "hidden" flag for an account. More... | |
gboolean | xaccAccountIsHidden (const Account *acc) |
Should this account be "hidden". More... | |
Account Auto Interest flag | |
gboolean | xaccAccountGetAutoInterest (const Account *acc) |
Get the "auto interest" flag for an account. More... | |
void | xaccAccountSetAutoInterest (Account *acc, gboolean val) |
Set the "auto interest" flag for an account. More... | |
Account Tax related getters/setters | |
gboolean | xaccAccountGetTaxRelated (const Account *account) |
DOCUMENT ME! | |
void | xaccAccountSetTaxRelated (Account *account, gboolean tax_related) |
DOCUMENT ME! | |
const char * | xaccAccountGetTaxUSCode (const Account *account) |
DOCUMENT ME! | |
void | xaccAccountSetTaxUSCode (Account *account, const char *code) |
DOCUMENT ME! | |
const char * | xaccAccountGetTaxUSPayerNameSource (const Account *account) |
DOCUMENT ME! | |
void | xaccAccountSetTaxUSPayerNameSource (Account *account, const char *source) |
DOCUMENT ME! | |
gint64 | xaccAccountGetTaxUSCopyNumber (const Account *account) |
DOCUMENT ME! | |
void | xaccAccountSetTaxUSCopyNumber (Account *account, gint64 copy_number) |
DOCUMENT ME! | |
Account type debit/credit string getters | |
const char * | gnc_account_get_debit_string (GNCAccountType acct_type) |
Get the debit string associated with this account type. | |
const char * | gnc_account_get_credit_string (GNCAccountType acct_type) |
Get the credit string associated with this account type. | |
Account marking | |
void | xaccAccountSetMark (Account *account, short mark) |
Set a mark on the account. More... | |
void | xaccClearMark (Account *account, short val) |
Get the mark set by xaccAccountSetMark short xaccAccountGetMark (const Account *account);. More... | |
void | xaccClearMarkDown (Account *account, short val) |
The xaccClearMarkDown will clear the mark only in this and in sub-accounts. More... | |
Staged Traversal | |
The following functions provide support for "staged traversals" over all of the transactions in an account or group. The idea is to be able to perform a sequence of traversals ("stages"), and perform an operation on each transaction exactly once for that stage. Only transactions whose current "stage" is less than the stage of the current traversal will be affected, and they will be "brought up" to the current stage when they are processed. For example, you could perform a stage 1 traversal of all the transactions in an account, and then perform a stage 1 traversal of the transactions in a second account. Presuming the traversal of the first account didn't abort prematurely, any transactions shared by both accounts would be ignored during the traversal of the second account since they had been processed while traversing the first account. However, if you had traversed the second account using a stage of 2, then all the transactions in the second account would have been processed. Traversal can be aborted by having the callback function return a non-zero value. The traversal is aborted immediately, and the non-zero value is returned. Note that an aborted traversal can be restarted; no information is lost due to an abort. The initial impetus for this particular approach came from generalizing a mark/sweep practice that was already being used in FileIO.c. Note that currently, there is a hard limit of 256 stages, which can be changed by enlarging "marker" in the transaction struct. | |
void | gnc_account_tree_begin_staged_transaction_traversals (Account *acc) |
gnc_account_tree_begin_staged_transaction_traversals() resets the traversal marker inside every transactions of every account in the account tree originating with the specified node. More... | |
void | xaccSplitsBeginStagedTransactionTraversals (SplitList *splits) |
xaccSplitsBeginStagedTransactionTraversals() resets the traversal marker for each transaction which is a parent of one of the splits in the list. | |
void | xaccAccountBeginStagedTransactionTraversals (const Account *account) |
xaccAccountBeginStagedTransactionTraversals() resets the traversal marker for each transaction which is a parent of one of the splits in the account. | |
gboolean | xaccTransactionTraverse (Transaction *trans, int stage) |
xaccTransactionTraverse() checks the stage of the given transaction. More... | |
int | xaccAccountStagedTransactionTraversal (const Account *a, unsigned int stage, TransactionCallback thunk, void *data) |
xaccAccountStagedTransactionTraversal() calls thunk on each transaction in account a whose current marker is less than the given stage and updates each transaction's marker to be stage. More... | |
int | gnc_account_tree_staged_transaction_traversal (const Account *account, unsigned int stage, TransactionCallback thunk, void *data) |
gnc_account_tree_staged_transaction_traversal() calls thunk on each transaction in the group whose current marker is less than the given stage and updates each transaction's marker to be stage. More... | |
int | xaccAccountTreeForEachTransaction (Account *acc, TransactionCallback proc, void *data) |
Traverse all of the transactions in the given account group. More... | |
GncImportMatchMap * | gnc_account_imap_create_imap (Account *acc) |
Obtain an ImportMatchMap object from an Account or a Book. | |
Account * | gnc_account_imap_find_account (GncImportMatchMap *imap, const char *category, const char *key) |
void | gnc_account_imap_add_account (GncImportMatchMap *imap, const char *category, const char *key, Account *acc) |
void | gnc_account_imap_delete_account (GncImportMatchMap *imap, const char *category, const char *key) |
Account * | gnc_account_imap_find_account_bayes (GncImportMatchMap *imap, GList *tokens) |
Look up an Account in the map using Baysian. More... | |
void | gnc_account_imap_add_account_bayes (GncImportMatchMap *imap, GList *tokens, Account *acc) |
Updates the imap for a given account using a list of tokens. | |
GList * | gnc_account_imap_get_info_bayes (Account *acc) |
Returns a GList of structure imap_info of all Bayesian mappings for required Account. | |
GList * | gnc_account_imap_get_info (Account *acc, const char *category) |
Returns a GList of structure imap_info of all Non Bayesian mappings for required Account. | |
gchar * | gnc_account_get_map_entry (Account *acc, const char *head, const char *category) |
Returns the text string pointed to by head and category for the Account, free the returned text. | |
void | gnc_account_delete_map_entry (Account *acc, char *head, char *category, char *match_string, gboolean empty) |
Delete the entry for Account pointed to by head,category and match_string, if empty is TRUE then use delete if empty. | |
void | gnc_account_delete_all_bayes_maps (Account *acc) |
Delete all bayes entries for Account. | |
void | gnc_account_reset_convert_bayes_to_flat (void) |
Reset the flag that indicates the function imap_convert_bayes_to_flat has been run. | |
Deprecated Routines. | |
void | DxaccAccountSetCurrency (Account *account, gnc_commodity *currency) |
gnc_commodity * | DxaccAccountGetCurrency (const Account *account) |
void | dxaccAccountSetQuoteTZ (Account *account, const char *tz) |
Set the timezone to be used when interpreting the results from a given Finance::Quote backend. More... | |
const char * | dxaccAccountGetQuoteTZ (const Account *account) |
Get the timezone to be used when interpreting the results from a given Finance::Quote backend. More... | |
The GnuCash Engine provides a set of objects and classes that encapsulate typical financial accounting concepts.
The GnuCash GUI is expected to manipulate these objects through the provided engine API.
#define ACCOUNT_MATCH_ALL_TYPE "account-match-all" |
#define GNC_ID_NONE QOF_ID_NONE |
IDENTIFIERS GncGUID Identifiers can be used to reference Accounts, Transactions, Splits and other objects.
These Gnucash types are referred to as Gnucash entities. GncGUID Identifiers are globally-unique and permanent, i.e., once an entity has been assigned an identifier, it retains that same identifier for its lifetime.
Definition at line 95 of file gnc-engine.h.
#define xaccAccountInsertSplit | ( | acc, | |
s | |||
) | xaccSplitSetAccount((s), (acc)) |
The xaccAccountInsertSplit() method will insert the indicated split into the indicated account.
If the split already belongs to another account, it will be removed from that account first.
typedef void(* gnc_engine_init_hook_t) (int, char **) |
Function type for init hooks in the engine.
Definition at line 225 of file gnc-engine.h.
gnc_commodity* DxaccAccountGetCurrency | ( | const Account * | account | ) |
Use xaccAccountGetCommodity() to fetch it.
Definition at line 3432 of file Account.cpp.
const char* dxaccAccountGetQuoteTZ | ( | const Account * | account | ) |
Get the timezone to be used when interpreting the results from a given Finance::Quote backend.
Unfortunately, the upstream sources don't label their output, so the user has to specify this bit. This function uses a static char*.
Definition at line 5085 of file Account.cpp.
void DxaccAccountSetCurrency | ( | Account * | account, |
gnc_commodity * | currency | ||
) |
Use xaccAccountGetCommodity() to fetch it.
These two funcs take control of their gnc_commodity args. Don't free
Definition at line 2747 of file Account.cpp.
void dxaccAccountSetQuoteTZ | ( | Account * | account, |
const char * | tz | ||
) |
Set the timezone to be used when interpreting the results from a given Finance::Quote backend.
Unfortunately, the upstream sources don't label their output, so the user has to specify this bit.
Definition at line 5074 of file Account.cpp.
Account* gnc_account_imap_find_account_bayes | ( | GncImportMatchMap * | imap, |
GList * | tokens | ||
) |
Look up an Account in the map using Baysian.
Look up an Account in the map using Baysian.
Definition at line 5853 of file Account.cpp.
The gnc_account_lookup_by_name() subroutine fetches the account by name from the descendants of the specified account.
The immediate children are searched first. If there is no match,, then a recursive search of all descendants is performed looking for a match.
Definition at line 3089 of file Account.cpp.
Find the opening balance account for the currency.
account | The account of which the sought-for account is a descendant. |
commodity | The commodity in which the account should be denominated |
Definition at line 3117 of file Account.cpp.
GList* gnc_account_lookup_by_type_and_commodity | ( | Account * | root, |
const char * | name, | ||
GNCAccountType | acctype, | ||
gnc_commodity * | commodity | ||
) |
Find a direct child account matching name, GNCAccountType, and/or commodity.
Name and commodity may be nullptr in which case the accounts in the list may have any value for those properties. Note that commodity matching is by equivalence: If the mnemonic/symbol and namespace are the same, it matches.
root | The account among whose children one expects to find the account. |
name | The name of the account to look for or nullptr. |
acctype | The GNCAccountType to match. |
commodity | The commodity in which the account should be denominated or nullptr. |
Definition at line 3194 of file Account.cpp.
void gnc_account_tree_begin_staged_transaction_traversals | ( | Account * | acc | ) |
gnc_account_tree_begin_staged_transaction_traversals() resets the traversal marker inside every transactions of every account in the account tree originating with the specified node.
This is done so that a new sequence of staged traversals can begin.
Definition at line 5357 of file Account.cpp.
int gnc_account_tree_staged_transaction_traversal | ( | const Account * | account, |
unsigned int | stage, | ||
TransactionCallback | thunk, | ||
void * | data | ||
) |
gnc_account_tree_staged_transaction_traversal() calls thunk on each transaction in the group whose current marker is less than the given stage and updates each transaction's marker to be stage.
The traversal will stop if thunk returns a non-zero value. gnc_account_tree_staged_transaction_traversal() function will return zero or the non-zero value returned by thunk. This API does not handle handle recursive traversals.
Definition at line 5407 of file Account.cpp.
void gnc_engine_init | ( | int | argc, |
char ** | argv | ||
) |
PROTOTYPES.
gnc_engine_init should be called before gnc engine functions can be used.
Definition at line 116 of file gnc-engine.c.
void gnc_engine_init_static | ( | int | argc, |
char ** | argv | ||
) |
This is the statically linked-in version of gnc_engine_init.
It is identical to that function except that it doesn't load any backend library.
Definition at line 126 of file gnc-engine.c.
void gnc_engine_shutdown | ( | void | ) |
Called to shutdown the engine.
Definition at line 141 of file gnc-engine.c.
gint64 xaccAccountCountSplits | ( | const Account * | acc, |
gboolean | include_children | ||
) |
The xaccAccountCountSplits() routine returns the number of all the splits in the account.
xaccAccountCountSplits is O(N). if testing for emptiness, use xaccAccountGetSplitList != NULL.
acc | the account for which to count the splits |
include_children | also count splits in descendants (TRUE) or for this account only (FALSE). |
Definition at line 4021 of file Account.cpp.
LotList* xaccAccountFindOpenLots | ( | const Account * | acc, |
gboolean(*)(GNCLot *lot, gpointer user_data) | match_func, | ||
gpointer | user_data, | ||
GCompareFunc | sort_func | ||
) |
Find a list of open lots that match the match_func.
Sort according to sort_func. If match_func is NULL, then all open lots are returned. If sort_func is NULL, then the returned list has no particular order. The caller must free to returned list.
Definition at line 4063 of file Account.cpp.
Split* xaccAccountFindSplitByDesc | ( | const Account * | account, |
const char * | description | ||
) |
Returns a pointer to the split, not a copy.
Definition at line 5179 of file Account.cpp.
Transaction* xaccAccountFindTransByDesc | ( | const Account * | account, |
const char * | description | ||
) |
Returns a pointer to the transaction, not a copy.
Definition at line 5194 of file Account.cpp.
gpointer xaccAccountForEachLot | ( | const Account * | acc, |
gpointer(*)(GNCLot *lot, gpointer user_data) | proc, | ||
gpointer | user_data | ||
) |
The xaccAccountForEachLot() method will apply the function 'proc' to each lot in the account.
If 'proc' returns a non-NULL value, further application will be stopped, and the resulting value will be returned. There is no guaranteed order over which the Lots will be traversed.
gint xaccAccountForEachTransaction | ( | const Account * | account, |
TransactionCallback | proc, | ||
void * | data | ||
) |
The xaccAccountForEachTransaction() routine will traverse all of the transactions in account and call the callback function proc on each transaction.
Processing will continue if-and-only-if proc returns 0. The user data pointer data will be passed on to the callback function proc.
This function does not descend recursively to traverse transactions in child accounts.
proc will be called exactly once for each transaction that is pointed to by at least one split in the given account.
The result of this function will be 0 if and only if every relevant transaction was traversed exactly once. Else the return value is the last non-zero value returned by proc.
Definition at line 5464 of file Account.cpp.
gboolean xaccAccountGetAppendText | ( | const Account * | account | ) |
Get the "import-append-text" flag for an account.
This is the saved state of the Append checkbox in the "Generic import transaction matcher" used to set the initial state of the Append checkbox next time this account is imported.
account | The account whose flag should be retrieved. |
Definition at line 4280 of file Account.cpp.
gboolean xaccAccountGetAutoInterest | ( | const Account * | acc | ) |
Get the "auto interest" flag for an account.
If this flag is set then the account (and any children) will trigger an interest transfer after reconciling.
acc | The account whose flag should be retrieved. |
Definition at line 4342 of file Account.cpp.
GNCPlaceholderType xaccAccountGetDescendantPlaceholder | ( | const Account * | account | ) |
Returns PLACEHOLDER_NONE if account is NULL or neither account nor any descendant of account is a placeholder.
If account is a placeholder, returns PLACEHOLDER_THIS. Otherwise, if any descendant of account is a placeholder, return PLACEHOLDER_CHILD.
Definition at line 4318 of file Account.cpp.
gboolean xaccAccountGetHidden | ( | const Account * | acc | ) |
Get the "hidden" flag for an account.
If this flag is set then the account (and any children) will be hidden from the user unless they explicitly ask to see them.
acc | The account whose flag should be retrieved. |
Definition at line 4357 of file Account.cpp.
gboolean xaccAccountGetIsOpeningBalance | ( | const Account * | account | ) |
Get the "opening-balance" flag for an account.
If this flag is set then the account is used for opening balance transactions.
account | The account whose flag should be retrieved. |
Definition at line 4292 of file Account.cpp.
The xaccAccountGetLotList() routine returns a list of all lots in this account.
account | The account whose lots should be returned. |
Definition at line 4056 of file Account.cpp.
gboolean xaccAccountGetPlaceholder | ( | const Account * | account | ) |
Get the "placeholder" flag for an account.
If this flag is set then the account may not be modified by the user.
account | The account whose flag should be retrieved. |
Definition at line 4268 of file Account.cpp.
The xaccAccountGetSplitList() routine returns a pointer to a GList of the splits in the account.
Definition at line 4013 of file Account.cpp.
const char* xaccAccountGetTypeStr | ( | GNCAccountType | type | ) |
The xaccAccountGetTypeStr() routine returns a string suitable for use in the GUI/Interface.
These strings should be translated to the local language.
Definition at line 4524 of file Account.cpp.
void xaccAccountInsertLot | ( | Account * | , |
GNCLot * | |||
) |
The xaccAccountInsertLot() method will register the indicated lot with this account.
Any splits later inserted into this lot must belong to this account. If the lot is already in another account, the lot, and all of the splits in it, will be moved from that account to this account.
Definition at line 2149 of file Account.cpp.
gboolean xaccAccountIsAPARType | ( | GNCAccountType | t | ) |
Convenience function to check if the account is a valid business account type (meaning an Accounts Payable/Accounts Receivable).
Definition at line 4694 of file Account.cpp.
gboolean xaccAccountIsAssetLiabType | ( | GNCAccountType | t | ) |
Convenience function to check if the account is a valid Asset or Liability type, but not a business account type (meaning not an Accounts Payable/Accounts Receivable).
Definition at line 4648 of file Account.cpp.
gboolean xaccAccountIsEquityType | ( | GNCAccountType | t | ) |
Convenience function to check if the account is a valid Equity type.
Definition at line 4706 of file Account.cpp.
gboolean xaccAccountIsHidden | ( | const Account * | acc | ) |
Should this account be "hidden".
If this flag is set for this account (or any parent account) then the account should be hidden from the user unless they explicitly ask to see it. This function is different from the xaccAccountGetHidden() function because it checks the flag in parent accounts in addition to this account.
acc | The account whose flag should be retrieved. |
Definition at line 4369 of file Account.cpp.
The xaccAccountMoveAllSplits() routine reassigns each of the splits in accfrom to accto.
Definition at line 2209 of file Account.cpp.
void xaccAccountSetAppendText | ( | Account * | account, |
gboolean | val | ||
) |
Set the "import-append-text" flag for an account.
This is the saved state of the Append checkbox in the "Generic import transaction matcher" used to set the initial state of the Append checkbox next time this account is imported.
account | The account whose flag should be retrieved. |
val | The new state for the account's "import-append-text" flag. |
Definition at line 4286 of file Account.cpp.
void xaccAccountSetAutoInterest | ( | Account * | acc, |
gboolean | val | ||
) |
Set the "auto interest" flag for an account.
If this flag is set then the account (and any children) will trigger an interest transfer after reconciling.
acc | The account whose flag should be retrieved. |
val | The new state for the account's "auto interest" flag. |
Definition at line 4348 of file Account.cpp.
void xaccAccountSetHidden | ( | Account * | acc, |
gboolean | val | ||
) |
Set the "hidden" flag for an account.
If this flag is set then the account (and any children) will be hidden from the user unless they explicitly ask to see them.
acc | The account whose flag should be retrieved. |
val | The new state for the account's "hidden" flag. |
Definition at line 4363 of file Account.cpp.
void xaccAccountSetIsOpeningBalance | ( | Account * | account, |
gboolean | val | ||
) |
Set the "opening-balance" flag for an account.
If this flag is set then the account is used for opening balance transactions.
account | The account whose flag should be set. |
val | The new state for the account's "opening-balance" flag. |
Definition at line 4308 of file Account.cpp.
void xaccAccountSetMark | ( | Account * | account, |
short | mark | ||
) |
Set a mark on the account.
The meaning of this mark is completely undefined. Its presented here as a utility for the programmer, to use as desired. Handy for performing customer traversals over the account tree. The mark is not stored in the database/file format. When accounts are newly created, the mark is set to zero.
Definition at line 2068 of file Account.cpp.
void xaccAccountSetPlaceholder | ( | Account * | account, |
gboolean | val | ||
) |
Set the "placeholder" flag for an account.
If this flag is set then the account may not be modified by the user.
account | The account whose flag should be retrieved. |
val | The new state for the account's "placeholder" flag. |
Definition at line 4274 of file Account.cpp.
int xaccAccountStagedTransactionTraversal | ( | const Account * | a, |
unsigned int | stage, | ||
TransactionCallback | thunk, | ||
void * | data | ||
) |
xaccAccountStagedTransactionTraversal() calls thunk on each transaction in account a whose current marker is less than the given stage and updates each transaction's marker to be stage.
The traversal will stop if thunk returns a non-zero value. xaccAccountStagedTransactionTraversal() function will return zero or the non-zero value returned by thunk. This API does not handle handle recursive traversals.
Definition at line 5367 of file Account.cpp.
GNCAccountType xaccAccountStringToEnum | ( | const char * | str | ) |
Conversion routines for the account types to/from strings that are used in persistent storage, communications.
These strings should not be translated to the local language. Typical conversion is "INCOME" -> ACCT_TYPE_INCOME.
Definition at line 4485 of file Account.cpp.
gboolean xaccAccountStringToType | ( | const char * | str, |
GNCAccountType * | type | ||
) |
Conversion routines for the account types to/from strings that are used in persistent storage, communications.
These strings should not be translated to the local language. Typical conversion is "INCOME" -> ACCT_TYPE_INCOME.
Definition at line 4451 of file Account.cpp.
int xaccAccountTreeForEachTransaction | ( | Account * | acc, |
TransactionCallback | proc, | ||
void * | data | ||
) |
Traverse all of the transactions in the given account group.
Continue processing IF proc returns 0. This function will descend recursively to traverse transactions in the children of the accounts in the group.
Proc will be called exactly once for each transaction that is pointed to by at least one split in any account in the hierarchy topped by the root Account acc.
The result of this function will be 0 IF every relevant transaction was traversed exactly once; otherwise, the return value is the last non-zero value returned by the callback.
Note that this routine is just a trivial wrapper for
gnc_account_tree_begin_staged_transaction_traversals(g); gnc_account_tree_staged_transaction_traversal(g, 42, proc, data);
const char* xaccAccountTypeEnumAsString | ( | GNCAccountType | type | ) |
Conversion routines for the account types to/from strings that are used in persistent storage, communications.
These strings should not be translated to the local language. Typical conversion is ACCT_TYPE_INCOME -> "INCOME".
Definition at line 4414 of file Account.cpp.
GNCAccountType xaccAccountTypeGetFundamental | ( | GNCAccountType | t | ) |
Convenience function to return the fundamental type asset/liability/income/expense/equity given an account type.
Definition at line 4662 of file Account.cpp.
gboolean xaccAccountTypesCompatible | ( | GNCAccountType | parent_type, |
GNCAccountType | child_type | ||
) |
Return TRUE if accounts of type parent_type can have accounts of type child_type as children.
Definition at line 4621 of file Account.cpp.
guint32 xaccAccountTypesCompatibleWith | ( | GNCAccountType | type | ) |
Return the bitmask of account types compatible with a given type.
That is, you could switch to any of the account types in the compatible list without unwanted side-effects.
Definition at line 4534 of file Account.cpp.
guint32 xaccAccountTypesValid | ( | void | ) |
Returns the bitmask of the account type enums that are valid.
Deprecated and root account types are stripped.
Definition at line 4639 of file Account.cpp.
void xaccClearMark | ( | Account * | account, |
short | val | ||
) |
Get the mark set by xaccAccountSetMark short xaccAccountGetMark (const Account *account);.
The xaccClearMark will find the root account, and clear the mark in the entire account tree.
Definition at line 2079 of file Account.cpp.
void xaccClearMarkDown | ( | Account * | account, |
short | val | ||
) |
The xaccClearMarkDown will clear the mark only in this and in sub-accounts.
Definition at line 2090 of file Account.cpp.
guint32 xaccParentAccountTypesCompatibleWith | ( | GNCAccountType | type | ) |
Return the bitmask of parent account types compatible with a given type.
Definition at line 4574 of file Account.cpp.
gboolean xaccTransactionTraverse | ( | Transaction * | trans, |
int | stage | ||
) |
xaccTransactionTraverse() checks the stage of the given transaction.
If the transaction hasn't reached the given stage, the transaction is updated to that stage and the function returns TRUE. Otherwise no change is made and the function returns FALSE.
Definition at line 5330 of file Account.cpp.