GnuCash  5.6-150-g038405b370+
Account.h
Go to the documentation of this file.
1 /********************************************************************\
2  * This program is free software; you can redistribute it and/or *
3  * modify it under the terms of the GNU General Public License as *
4  * published by the Free Software Foundation; either version 2 of *
5  * the License, or (at your option) any later version. *
6  * *
7  * This program is distributed in the hope that it will be useful, *
8  * but WITHOUT ANY WARRANTY; without even the implied warranty of *
9  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
10  * GNU General Public License for more details. *
11  * *
12  * You should have received a copy of the GNU General Public License*
13  * along with this program; if not, contact: *
14  * *
15  * Free Software Foundation Voice: +1-617-542-5942 *
16  * 51 Franklin Street, Fifth Floor Fax: +1-617-542-2652 *
17  * Boston, MA 02110-1301, USA gnu@gnu.org *
18  * *
19 \********************************************************************/
45 #ifndef XACC_ACCOUNT_H
46 #define XACC_ACCOUNT_H
47 #include "qof.h"
48 #include "gnc-engine.h"
49 #include "policy.h"
50 
51 #ifdef __cplusplus
52 extern "C" {
53 #endif
54 typedef gnc_numeric (*xaccGetBalanceFn)( const Account *account );
55 
56 typedef gnc_numeric (*xaccGetBalanceInCurrencyFn) (
57  const Account *account, const gnc_commodity *report_commodity,
58  gboolean include_children);
59 
60 typedef gnc_numeric (*xaccGetBalanceAsOfDateFn) (
61  Account *account, time64 date);
62 
63 typedef void (*AccountCb)(Account *a, gpointer data);
64 typedef gpointer (*AccountCb2)(Account *a, gpointer data);
65 
66 typedef struct
67 {
68  QofInstanceClass parent_class;
69 } AccountClass;
70 
71 /* --- type macros --- */
72 #define GNC_TYPE_ACCOUNT (gnc_account_get_type ())
73 #define GNC_ACCOUNT(o) \
74  (G_TYPE_CHECK_INSTANCE_CAST ((o), GNC_TYPE_ACCOUNT, Account))
75 #define GNC_ACCOUNT_CLASS(k) \
76  (G_TYPE_CHECK_CLASS_CAST((k), GNC_TYPE_ACCOUNT, AccountClass))
77 #define GNC_IS_ACCOUNT(o) \
78  (G_TYPE_CHECK_INSTANCE_TYPE ((o), GNC_TYPE_ACCOUNT))
79 #define GNC_IS_ACCOUNT_CLASS(k) \
80  (G_TYPE_CHECK_CLASS_TYPE ((k), GNC_TYPE_ACCOUNT))
81 #define GNC_ACCOUNT_GET_CLASS(o) \
82  (G_TYPE_INSTANCE_GET_CLASS ((o), GNC_TYPE_ACCOUNT, AccountClass))
83 
87 GType gnc_account_get_type(void);
88 
98 #ifdef __cplusplus
99 enum GNCAccountType
100 #else
101 typedef enum
102 #endif
103 {
164  /* bank account types */
173  ACCT_TYPE_LAST
174 #ifdef __cplusplus
175 };
176 #else
178 #endif
179 
180 
186 
189 
198  Account * xaccCloneAccount (const Account *source, QofBook *book);
199 
202  void xaccAccountBeginEdit (Account *account);
203 
206  void xaccAccountCommitEdit (Account *account);
207 
211  void xaccAccountDestroy (Account *account);
212 
216 
218  gboolean xaccAccountEqual(const Account *a, const Account* b,
219  gboolean check_guids);
220 
230  int xaccAccountOrder (const Account *account_1, const Account *account_2);
231 
234  /* ------------------ */
235 
243  const gchar *gnc_get_account_separator_string (void);
244  gunichar gnc_get_account_separator (void);
245  void gnc_set_account_separator (const gchar *separator);
246 
247  /*@ dependent @*/
248  Account *gnc_book_get_root_account(QofBook *book);
249  void gnc_book_set_root_account(QofBook *book, Account *root);
250 
252 #define xaccAccountGetGUID(X) qof_entity_get_guid(QOF_INSTANCE(X))
253 #define xaccAccountReturnGUID(X) (X ? *(qof_entity_get_guid(QOF_INSTANCE(X))) : *(guid_null()))
254 
258  /*@ dependent @*/ Account * xaccAccountLookup (const GncGUID *guid, QofBook *book);
259 #define xaccAccountLookupDirect(g,b) xaccAccountLookup(&(g),b)
260 
263  /* Tests account and descendants -- if all have no splits then return TRUE.
264  * Otherwise if any account or its descendants have split return FALSE.
265  */
266 
267  gboolean gnc_account_and_descendants_empty (Account *acc);
268 
281  gchar *gnc_account_name_violations_errmsg (const gchar *separator, GList* invalid_account_names);
282 
293  GList *gnc_account_list_name_violations (QofBook *book, const gchar *separator);
294 
295  /* ------------------ */
296 
300  QofBook *gnc_account_get_book(const Account *account);
302  void xaccAccountSetType (Account *account, GNCAccountType);
304  void xaccAccountSetName (Account *account, const char *name);
306  void xaccAccountSetCode (Account *account, const char *code);
308  void xaccAccountSetDescription (Account *account, const char *desc);
310  void xaccAccountSetColor (Account *account, const char *color);
312  void xaccAccountSetFilter (Account *account, const char *filter);
314  void xaccAccountSetSortOrder (Account *account, const char *sortorder);
316  void xaccAccountSetSortReversed (Account *account, gboolean sortreversed);
318  void xaccAccountSetNotes (Account *account, const char *notes);
319 
326  void xaccAccountSetOnlineID (Account *account, const char *id);
327 
329  void xaccAccountSetAssociatedAccount (Account *acc, const char *tag,
330  const Account *assoc_acct);
331 
333  void xaccAccountSetLastNum (Account *account, const char *num);
335  void gnc_account_set_policy (Account *account, GNCPolicy *policy);
340  GNCAccountType xaccAccountGetType (const Account *account);
343  gboolean xaccAccountIsPriced(const Account *acc);
344 
353  const gnc_numeric start_baln);
354 
363  const gnc_numeric start_baln);
364 
373  const gnc_numeric start_baln);
374 
380 
386 
396  void gnc_account_set_defer_bal_computation (Account *acc, gboolean defer);
397 
407  gboolean gnc_account_insert_split (Account *acc, Split *s);
408 
418  gboolean gnc_account_remove_split (Account *acc, Split *s);
419 
421  const char * xaccAccountGetName (const Account *account);
423  const char * xaccAccountGetCode (const Account *account);
425  const char * xaccAccountGetDescription (const Account *account);
427  const char * xaccAccountGetColor (const Account *account);
429  const char * xaccAccountGetFilter (const Account *account);
431  const char * xaccAccountGetSortOrder (const Account *account);
433  gboolean xaccAccountGetSortReversed (const Account *account);
435  const char * xaccAccountGetNotes (const Account *account);
436 
440  const char * xaccAccountGetOnlineID (const Account *account);
441 
443  Account* xaccAccountGetAssociatedAccount (const Account *acc, const char *tag);
445  const char * xaccAccountGetLastNum (const Account *account);
447  GNCPolicy *gnc_account_get_policy (Account *account);
450 
455 
460  void xaccAccountSortSplits (Account *acc, gboolean force);
461 
475  gchar * gnc_account_get_full_name (const Account *account);
476 
487  Account * xaccAccountGainsAccount (Account *acc, gnc_commodity *curr);
494  void dxaccAccountSetPriceSrc (Account *account, const char *src);
501  const char * dxaccAccountGetPriceSrc (const Account *account);
536  void xaccAccountSetCommodity (Account *account, gnc_commodity *comm);
537 
539  /*@ dependent @*/
540  gnc_commodity * xaccAccountGetCommodity (const Account *account);
541 
548  gnc_commodity * gnc_account_get_currency_or_parent(const Account* account);
549 
554  int xaccAccountGetCommoditySCU (const Account *account);
555 
558  int xaccAccountGetCommoditySCUi (const Account *account);
559 
564  void xaccAccountSetCommoditySCU (Account *account, int frac);
565 
567  void xaccAccountSetNonStdSCU (Account *account, gboolean flag);
568 
571  gboolean xaccAccountGetNonStdSCU (const Account *account);
580  gnc_numeric xaccAccountGetBalance (const Account *account);
583  gnc_numeric xaccAccountGetClearedBalance (const Account *account);
586  gnc_numeric xaccAccountGetReconciledBalance (const Account *account);
587  gnc_numeric xaccAccountGetPresentBalance (const Account *account);
588  gnc_numeric xaccAccountGetProjectedMinimumBalance (const Account *account);
590  gnc_numeric xaccAccountGetBalanceAsOfDate (Account *account,
591  time64 date);
592 
594  gnc_numeric xaccAccountGetReconciledBalanceAsOfDate (Account *account, time64 date);
595 
596  /* These two functions convert a given balance from one commodity to
597  another. The account argument is only used to get the Book, and
598  may have nothing to do with the supplied balance. Likewise, the
599  date argument is only used for commodity conversion and may have
600  nothing to do with supplied balance.
601 
602  Since they really have nothing to do with Accounts, there's
603  probably some better place for them, but where? gnc-commodity.h?
604  */
605  gnc_numeric xaccAccountConvertBalanceToCurrency(
606  const Account *account, /* for book */
607  gnc_numeric balance,
608  const gnc_commodity *balance_currency,
609  const gnc_commodity *new_currency);
610  gnc_numeric xaccAccountConvertBalanceToCurrencyAsOfDate(
611  const Account *account, /* for book */
612  gnc_numeric balance, const gnc_commodity *balance_currency,
613  const gnc_commodity *new_currency, time64 date);
614 
615  /* These functions get some type of balance in the desired commodity.
616  'report_commodity' may be NULL to use the account's commodity. */
617  gnc_numeric xaccAccountGetBalanceInCurrency (
618  const Account *account, const gnc_commodity *report_commodity,
619  gboolean include_children);
620  gnc_numeric xaccAccountGetClearedBalanceInCurrency (
621  const Account *account, const gnc_commodity *report_commodity,
622  gboolean include_children);
623  gnc_numeric xaccAccountGetReconciledBalanceInCurrency (
624  const Account *account, const gnc_commodity *report_commodity,
625  gboolean include_children);
626  gnc_numeric xaccAccountGetPresentBalanceInCurrency (
627  const Account *account, const gnc_commodity *report_commodity,
628  gboolean include_children);
629  gnc_numeric xaccAccountGetProjectedMinimumBalanceInCurrency (
630  const Account *account, const gnc_commodity *report_commodity,
631  gboolean include_children);
632 
636  Account *acc, time64 date, gnc_commodity *report_commodity,
637  gboolean include_children);
641  Account *account, time64 date, gnc_commodity *report_commodity,
642  gboolean include_children);
643 
644  gnc_numeric xaccAccountGetNoclosingBalanceChangeForPeriod (
645  Account *acc, time64 date1, time64 date2, gboolean recurse);
646  gnc_numeric xaccAccountGetNoclosingBalanceChangeInCurrencyForPeriod (
647  Account *acc, time64 date1, time64 date2, gboolean recurse);
648  gnc_numeric xaccAccountGetBalanceChangeForPeriod (
649  Account *acc, time64 date1, time64 date2, gboolean recurse);
650 
653  gboolean xaccAccountHasStockSplit (const Account *acc);
654 
685  void gnc_account_append_child (Account *new_parent, Account *child);
686 
697  void gnc_account_remove_child (Account *parent, Account *child);
698 
707  /*@ dependent @*/
708  Account * gnc_account_get_parent (const Account *account);
709 
719  Account * gnc_account_get_root (Account *account);
720 
727  gboolean gnc_account_is_root (const Account *account);
728 
743  GList *gnc_account_get_children (const Account *account);
744 
748  GList *gnc_account_get_children_sorted (const Account *account);
749 
756  gint gnc_account_n_children (const Account *account);
757 
769  gint gnc_account_child_index (const Account *parent, const Account *child);
770 
781  Account *gnc_account_nth_child (const Account *parent, gint num);
782 
798  GList * gnc_account_get_descendants (const Account *account);
799 
818  GList *gnc_account_get_descendants_sorted (const Account *account);
819 
826  gint gnc_account_n_descendants (const Account *account);
827 
834  gint gnc_account_get_current_depth (const Account *account);
835 
843  gint gnc_account_get_tree_depth (const Account *account);
844 
861  void gnc_account_foreach_child (const Account *account,
862  AccountCb func, /*@ null @*/ gpointer user_data);
863 
877  void gnc_account_foreach_descendant (const Account *account,
878  AccountCb func, /*@ null @*/ gpointer user_data);
879 
895  gpointer gnc_account_foreach_descendant_until (const Account *account,
896  AccountCb2 func, /*@ null @*/ gpointer user_data);
897 
898 
911  void gnc_account_join_children (Account *to_parent, Account *from_parent);
912 
918  void gnc_account_merge_children (Account *parent);
919 
923  void xaccAccountSetReconcileChildrenStatus(Account *account, gboolean status);
924 
926  gboolean xaccAccountGetReconcileChildrenStatus(const Account *account);
927 
933  gboolean xaccAccountHasAncestor(const Account *acc, const Account *ancestor);
934 
949  Account *gnc_account_lookup_by_name (const Account *parent, const char *name);
950 
955  Account *gnc_account_lookup_by_full_name (const Account *any_account,
956  const gchar *name);
957 
962  const char *code);
963 
970  Account *gnc_account_lookup_by_opening_balance (Account *account, gnc_commodity *commodity);
971 
987  const char* name,
988  GNCAccountType acctype,
989  gnc_commodity* commodity);
992  /* ------------------ */
993 
1002  const char * xaccAccountTypeEnumAsString (GNCAccountType type);
1008  gboolean xaccAccountStringToType (const char* str, GNCAccountType *type);
1014  GNCAccountType xaccAccountStringToEnum (const char* str);
1015 
1019  const char * xaccAccountGetTypeStr (GNCAccountType type);
1020 
1025 
1028 
1031  gboolean xaccAccountTypesCompatible (GNCAccountType parent_type,
1032  GNCAccountType child_type);
1033 
1036  guint32 xaccAccountTypesValid(void);
1037 
1042 
1046 
1047 
1052 
1056 
1057 
1060  /* ------------------ */
1061 
1069 #define xaccAccountInsertSplit(acc, s) xaccSplitSetAccount((s), (acc))
1070 
1082  SplitList* xaccAccountGetSplitList (const Account *account);
1083 
1084  size_t xaccAccountGetSplitsSize (const Account *account);
1085 
1088  void xaccAccountMoveAllSplits (Account *accfrom, Account *accto);
1089 
1118  gint xaccAccountForEachTransaction(const Account *account,
1119  TransactionCallback proc,
1120  void *data);
1121 
1123  Transaction * xaccAccountFindTransByDesc(const Account *account,
1124  const char *description);
1125 
1127  Split * xaccAccountFindSplitByDesc(const Account *account,
1128  const char *description);
1129 
1132  /* ------------------ */
1133 
1142  void xaccAccountInsertLot (Account *, GNCLot *);
1143  void xaccAccountRemoveLot (Account *, GNCLot *);
1144 
1153  LotList* xaccAccountGetLotList (const Account *account);
1154 
1161  gpointer xaccAccountForEachLot(
1162  const Account *acc,
1163  gpointer (*proc)(GNCLot *lot, gpointer user_data), /*@ null @*/ gpointer user_data);
1164 
1165 
1171  LotList * xaccAccountFindOpenLots (const Account *acc,
1172  gboolean (*match_func)(GNCLot *lot,
1173  gpointer user_data),
1174  /*@ null @*/ gpointer user_data, GCompareFunc sort_func);
1175 
1177  /* ------------------ */
1178 
1183  gboolean xaccAccountGetReconcileLastDate (const Account *account,
1184  time64 *last_date);
1186  void xaccAccountSetReconcileLastDate (Account *account, time64 last_date);
1187 
1189  gboolean xaccAccountGetReconcileLastInterval (const Account *account,
1190  int *months, int *days);
1193  int months, int days);
1195  gboolean xaccAccountGetReconcilePostponeDate (const Account *account,
1196  time64 *postpone_date);
1199  time64 postpone_date);
1200 
1202  gboolean xaccAccountGetReconcilePostponeBalance (const Account *account,
1203  gnc_numeric *balance);
1206  gnc_numeric balance);
1207 
1223  gboolean xaccAccountGetHigherBalanceLimit (const Account *account,
1224  gnc_numeric *balance);
1225 
1232  void xaccAccountSetHigherBalanceLimit (Account *account, gnc_numeric balance);
1233 
1239 
1247  gboolean xaccAccountGetLowerBalanceLimit (const Account *account,
1248  gnc_numeric *balance);
1249 
1256  void xaccAccountSetLowerBalanceLimit (Account *account, gnc_numeric balance);
1257 
1263 
1270  gboolean xaccAccountGetIncludeSubAccountBalances (const Account *account);
1271 
1278  void xaccAccountSetIncludeSubAccountBalances (Account *account, gboolean include);
1282  typedef enum
1283  {
1284  PLACEHOLDER_NONE,
1285  PLACEHOLDER_THIS,
1286  PLACEHOLDER_CHILD,
1288 
1299  gboolean xaccAccountGetPlaceholder (const Account *account);
1300 
1307  void xaccAccountSetPlaceholder (Account *account, gboolean val);
1308 
1321  gboolean xaccAccountGetAppendText (const Account *account);
1322 
1331  void xaccAccountSetAppendText (Account *account, gboolean val);
1332 
1339  gboolean xaccAccountGetIsOpeningBalance (const Account *account);
1340 
1347  void xaccAccountSetIsOpeningBalance (Account *account, gboolean val);
1348 
1368  gboolean xaccAccountGetHidden (const Account *acc);
1369 
1377  void xaccAccountSetHidden (Account *acc, gboolean val);
1378 
1388  gboolean xaccAccountIsHidden (const Account *acc);
1401  gboolean xaccAccountGetAutoInterest (const Account *acc);
1402 
1409  void xaccAccountSetAutoInterest (Account *acc, gboolean val);
1410 
1419  gboolean xaccAccountGetTaxRelated (const Account *account);
1421  void xaccAccountSetTaxRelated (Account *account, gboolean tax_related);
1423  const char * xaccAccountGetTaxUSCode (const Account *account);
1425  void xaccAccountSetTaxUSCode (Account *account, const char *code);
1427  const char * xaccAccountGetTaxUSPayerNameSource (const Account *account);
1429  void xaccAccountSetTaxUSPayerNameSource (Account *account, const char *source);
1431  gint64 xaccAccountGetTaxUSCopyNumber (const Account *account);
1433  void xaccAccountSetTaxUSCopyNumber (Account *account, gint64 copy_number);
1441  const char *gnc_account_get_debit_string (GNCAccountType acct_type);
1443  const char *gnc_account_get_credit_string (GNCAccountType acct_type);
1444 
1457  void xaccAccountSetMark (Account *account, short mark);
1458 
1464  void xaccClearMark (Account *account, short val);
1465 
1468  void xaccClearMarkDown (Account *account, short val);
1516 
1522 
1528  gboolean xaccTransactionTraverse(Transaction *trans, int stage);
1529 
1544  unsigned int stage,
1545  TransactionCallback thunk,
1546  void *data);
1547 
1562  unsigned int stage,
1563  TransactionCallback thunk,
1564  void *data);
1565 
1598  TransactionCallback proc, void *data);
1599 
1607  time64 gnc_account_get_earliest_date (const Account* account);
1608 
1609  /* Look up an Account in the map non-Baysian
1610  */
1611  Account* gnc_account_imap_find_account (Account* acc, const char* category,
1612  const char *key);
1613 
1614  /* Look up an Account in the map non-Baysian, searching through the
1615  * import map data of all accounts. Returns first match.
1616  */
1617  Account* gnc_account_imap_find_any (QofBook *book, const char* category, const char *key);
1618 
1619  /* Store an Account in the map non Baysian
1620  */
1621  void gnc_account_imap_add_account (Account* acc, const char *category,
1622  const char *key, Account *added_acc);
1623 
1624  /* Remove a reference to an Account in the map non Baysian
1625  */
1626  void gnc_account_imap_delete_account(Account* acc, const char* category, const char* key);
1627 
1630  Account* gnc_account_imap_find_account_bayes (Account* acc, GList* tokens);
1631 
1634  void gnc_account_imap_add_account_bayes (Account* acc, GList* tokens,
1635  Account *added_acc);
1636 
1637  typedef struct imap_info
1638  {
1639  Account *source_account;
1640  Account *map_account;
1641  GList *list;
1642  char *head;
1643  char *category;
1644  char *match_string;
1645  char *count;
1646  }GncImapInfo;
1647 
1652 
1657 
1661  GList *gnc_account_imap_get_info (Account *acc, const char *category);
1662 
1666  gchar *gnc_account_get_map_entry (Account *acc, const char *head, const char *category);
1667 
1671  GncGUID *gnc_account_get_map_guid_entry (Account *acc, const char *head, const char *category);
1672 
1676  void gnc_account_delete_map_entry (Account *acc, char *head, char *category,
1677  char *match_string, gboolean empty);
1678 
1682 
1687 
1700  void DxaccAccountSetCurrency (Account *account, gnc_commodity *currency);
1701 
1705  gnc_commodity * DxaccAccountGetCurrency (const Account *account);
1706 
1714  void dxaccAccountSetQuoteTZ (Account *account, const char *tz);
1722  const char * dxaccAccountGetQuoteTZ (const Account *account);
1728 #define ACCOUNT_KVP "kvp"
1729 #define ACCOUNT_NAME_ "name"
1730 #define ACCOUNT_CODE_ "code"
1731 #define ACCOUNT_DESCRIPTION_ "desc"
1732 #define ACCOUNT_COLOR_ "color"
1733 #define ACCOUNT_FILTER_ "filter"
1734 #define ACCOUNT_SORT_ORDER_ "sort-order"
1735 #define ACCOUNT_SORT_REVERSED_ "sort-reversed"
1736 #define ACCOUNT_NOTES_ "notes"
1737 #define ACCOUNT_BALANCE_ "balance"
1738 #define ACCOUNT_NOCLOSING_ "noclosing"
1739 #define ACCOUNT_OPENING_BALANCE_ "opening-balance"
1740 #define ACCOUNT_CLEARED_ "cleared"
1741 #define ACCOUNT_RECONCILED_ "reconciled"
1742 #define ACCOUNT_PRESENT_ "present"
1743 #define ACCOUNT_FUTURE_MINIMUM_ "future-minimum"
1744 #define ACCOUNT_TAX_RELATED "tax-related-p"
1745 #define ACCOUNT_TYPE_ "account-type"
1746 #define ACCOUNT_SCU "smallest-commodity-unit"
1747 #define ACCOUNT_NSCU "non-standard-scu"
1748 #define ACCOUNT_PARENT "parent-account"
1749 
1754 #define ACCOUNT_MATCH_ALL_TYPE "account-match-all"
1755 
1756 #ifdef __cplusplus
1757  } /* extern "C" */
1758 #endif
1759 
1760 #endif /* XACC_ACCOUNT_H */
1761 
void xaccAccountSetType(Account *account, GNCAccountType)
Set the account's type.
Definition: Account.cpp:2437
Account * gnc_account_get_parent(const Account *account)
This routine returns a pointer to the parent of the specified account.
Definition: Account.cpp:2935
void xaccAccountSetFilter(Account *account, const char *filter)
Set the account's Filter.
Definition: Account.cpp:2619
void xaccAccountSetSortOrder(Account *account, const char *sortorder)
Set the account's Sort Order.
Definition: Account.cpp:2625
gint xaccAccountForEachTransaction(const Account *account, TransactionCallback proc, void *data)
The xaccAccountForEachTransaction() routine will traverse all of the transactions in account and call...
Definition: Account.cpp:5150
int xaccAccountTreeForEachTransaction(Account *acc, TransactionCallback proc, void *data)
Traverse all of the transactions in the given account group.
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 cu...
Definition: Account.cpp:5089
gboolean xaccAccountGetAutoInterest(const Account *acc)
Get the "auto interest" flag for an account.
Definition: Account.cpp:4175
const char * xaccAccountGetLastNum(const Account *account)
Get the last num field of an Account.
Definition: Account.cpp:4683
GNCAccountType xaccAccountTypeGetFundamental(GNCAccountType t)
Convenience function to return the fundamental type asset/liability/income/expense/equity given an ac...
Definition: Account.cpp:4495
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...
Definition: Account.cpp:5732
GList LotList
GList of GNCLots.
Definition: gnc-engine.h:205
gboolean xaccAccountGetSortReversed(const Account *account)
Get the account's Sort Order direction.
Definition: Account.cpp:3368
guint32 xaccAccountTypesCompatibleWith(GNCAccountType type)
Return the bitmask of account types compatible with a given type.
Definition: Account.cpp:4367
void gnc_account_imap_info_destroy(GncImapInfo *)
Clean destructor for the imap_info structure of Bayesian mappings.
Definition: Account.cpp:5682
void gnc_account_append_child(Account *new_parent, Account *child)
This function will remove from the child account any pre-existing parent relationship, and will then add the account as a child of the new parent.
Definition: Account.cpp:2836
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...
GList * gnc_account_get_descendants_sorted(const Account *account)
This function returns a GList containing all the descendants of the specified account, sorted at each level.
Definition: Account.cpp:3052
gint gnc_account_n_descendants(const Account *account)
Return the number of descendants of the specified account.
Definition: Account.cpp:3002
gint64 xaccAccountGetTaxUSCopyNumber(const Account *account)
Returns copy_number stored in KVP; if KVP doesn't exist or copy_number is zero, returns 1...
Definition: Account.cpp:4071
gboolean gnc_account_is_root(const Account *account)
This routine indicates whether the specified account is the root node of an account tree...
Definition: Account.cpp:2953
SplitList * xaccAccountGetSplitList(const Account *account)
The xaccAccountGetSplitList() routine returns a pointer to a GList of the splits in the account...
Definition: Account.cpp:3949
void xaccAccountSetAssociatedAccount(Account *acc, const char *tag, const Account *assoc_acct)
Set the account's associated account e.g.
Definition: Account.cpp:2669
gboolean xaccAccountGetNonStdSCU(const Account *account)
Return boolean, indicating whether this account uses a non-standard SCU.
Definition: Account.cpp:2774
int xaccAccountGetCommoditySCUi(const Account *account)
Return the 'internal' SCU setting.
Definition: Account.cpp:2738
gnc_commodity * DxaccAccountGetCurrency(const Account *account)
Definition: Account.cpp:3396
void gnc_account_foreach_descendant(const Account *account, AccountCb func, gpointer user_data)
This method will traverse all children of this accounts and their descendants, calling 'func' on each...
Definition: Account.cpp:3236
void xaccAccountSetNotes(Account *account, const char *notes)
Set the account's notes.
Definition: Account.cpp:2655
gboolean xaccAccountIsPriced(const Account *acc)
Returns true if the account is a stock, mutual fund or currency, otherwise false. ...
Definition: Account.cpp:4551
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 ...
Definition: Account.cpp:5748
Expense accounts are used to denote expenses.
Definition: Account.h:143
const char * xaccAccountGetFilter(const Account *account)
Get the account's filter.
Definition: Account.cpp:3356
GNCAccountType xaccAccountGetType(const Account *account)
Returns the account's account type.
Definition: Account.cpp:3267
void xaccAccountSetMark(Account *account, short mark)
Set a mark on the account.
Definition: Account.cpp:2062
const char * xaccAccountGetOnlineID(const Account *account)
Get the account's online_id (see xaccAccountSetOnlineID).
Definition: Account.cpp:3380
int xaccAccountGetCommoditySCU(const Account *account)
Return the SCU for the account.
Definition: Account.cpp:2745
const char * xaccAccountGetCode(const Account *account)
Get the account's accounting code.
Definition: Account.cpp:3336
gboolean xaccAccountGetAppendText(const Account *account)
Get the "import-append-text" flag for an account.
Definition: Account.cpp:4131
void xaccAccountSetReconcileLastDate(Account *account, time64 last_date)
DOCUMENT ME!
Definition: Account.cpp:4584
STRUCTS.
Account * gnc_account_create_root(QofBook *book)
Create a new root level account.
Definition: Account.cpp:1284
void xaccAccountSetTaxRelated(Account *account, gboolean tax_related)
DOCUMENT ME!
Definition: Account.cpp:4041
Mutual Fund accounts will typically be shown in registers which show three columns: price...
Definition: Account.h:125
void xaccAccountSortSplits(Account *acc, gboolean force)
The xaccAccountSortSplits() routine will resort the account's splits if the sort is dirty...
Definition: Account.cpp:2004
void xaccAccountSetCode(Account *account, const char *code)
Set the account's accounting code.
Definition: Account.cpp:2478
gpointer gnc_account_foreach_descendant_until(const Account *account, AccountCb2 func, gpointer user_data)
This method will traverse all children of this accounts and their descendants, calling 'func' on each...
Definition: Account.cpp:3244
void gnc_account_set_policy(Account *account, GNCPolicy *policy)
Set the account's lot order policy.
Definition: Account.cpp:2108
void xaccAccountSetOnlineID(Account *account, const char *id)
Set the account's online_id, the identifier (e.g.
Definition: Account.cpp:2661
void xaccAccountSetReconcileLastInterval(Account *account, int months, int days)
DOCUMENT ME!
Definition: Account.cpp:4614
gboolean gnc_account_remove_split(Account *acc, Split *s)
Remove the given split from an account.
Definition: Account.cpp:1973
gnc_numeric xaccAccountGetBalanceAsOfDateInCurrency(Account *account, time64 date, gnc_commodity *report_commodity, gboolean include_children)
This function gets the balance at the end of the given date in the desired commodity.
Definition: Account.cpp:3851
guint32 xaccAccountTypesValid(void)
Returns the bitmask of the account type enums that are valid.
Definition: Account.cpp:4472
const char * xaccAccountTypeEnumAsString(GNCAccountType type)
Conversion routines for the account types to/from strings that are used in persistent storage...
Definition: Account.cpp:4247
stop here; the following types just aren't ready for prime time
Definition: Account.h:161
GList * gnc_account_list_name_violations(QofBook *book, const gchar *separator)
Runs through all the accounts and returns a list of account names that contain the provided separator...
Definition: Account.cpp:273
void xaccAccountSetHigherBalanceLimit(Account *account, gnc_numeric balance)
Set the higher balance limit for the account.
Definition: Account.cpp:4733
void xaccAccountInsertLot(Account *, GNCLot *)
The xaccAccountInsertLot() method will register the indicated lot with this account.
Definition: Account.cpp:2140
gboolean xaccAccountHasStockSplit(const Account *acc)
Returns true if the account has a stock split, otherwise false.
Definition: Account.cpp:3507
void xaccAccountMoveAllSplits(Account *accfrom, Account *accto)
The xaccAccountMoveAllSplits() routine reassigns each of the splits in accfrom to accto...
Definition: Account.cpp:2196
void gnc_account_set_sort_dirty(Account *acc)
Tell the account believes that the splits may be incorrectly sorted and need to be resorted...
Definition: Account.cpp:1884
The cash account type is used to denote a shoe-box or pillowcase stuffed with * cash.
Definition: Account.h:110
const char * gnc_account_get_debit_string(GNCAccountType acct_type)
Get the debit string associated with this account type.
Definition: Account.cpp:4091
void gnc_account_imap_add_account_bayes(Account *acc, GList *tokens, Account *added_acc)
Updates the imap for a given account using a list of tokens.
Definition: Account.cpp:5571
void xaccAccountSetLastNum(Account *account, const char *num)
Set the last num field of an Account.
Definition: Account.cpp:4692
gnc_numeric xaccAccountGetClearedBalance(const Account *account)
Get the current balance of the account, only including cleared transactions.
Definition: Account.cpp:3474
gboolean xaccAccountGetReconcilePostponeDate(const Account *account, time64 *postpone_date)
DOCUMENT ME!
Definition: Account.cpp:4624
Account used to record multiple commodity transactions.
Definition: Account.h:155
gboolean xaccAccountGetLowerBalanceLimit(const Account *account, gnc_numeric *balance)
Get the lower balance limit for the account.
Definition: Account.cpp:4726
void xaccAccountDestroy(Account *account)
The xaccAccountDestroy() routine can be used to get rid of an account.
Definition: Account.cpp:1590
gboolean xaccAccountIsHidden(const Account *acc)
Should this account be "hidden".
Definition: Account.cpp:4202
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 s...
Definition: Account.cpp:3093
void gnc_account_remove_child(Account *parent, Account *child)
This function will remove the specified child account from the specified parent account.
Definition: Account.cpp:2898
int xaccAccountOrder(const Account *account_1, const Account *account_2)
The xaccAccountOrder() subroutine defines a sorting order on accounts.
Definition: Account.cpp:2375
Stock accounts will typically be shown in registers which show three columns: price, number of shares, and value.
Definition: Account.h:122
const char * xaccAccountGetColor(const Account *account)
Get the account's color.
Definition: Account.cpp:3350
Split * xaccAccountFindSplitByDesc(const Account *account, const char *description)
Returns a pointer to the split, not a copy.
Definition: Account.cpp:4908
gboolean xaccAccountIsAssetLiabType(GNCAccountType t)
Convenience function to check if the account is a valid Asset or Liability type, but not a business a...
Definition: Account.cpp:4481
void xaccClearMarkDown(Account *account, short val)
The xaccClearMarkDown will clear the mark only in this and in sub-accounts.
Definition: Account.cpp:2084
GList SplitList
GList of Split.
Definition: gnc-engine.h:207
GNCAccountType xaccAccountStringToEnum(const char *str)
Conversion routines for the account types to/from strings that are used in persistent storage...
Definition: Account.cpp:4318
bank account type – don't use this for now, see NUM_ACCOUNT_TYPES
Definition: Account.h:165
gchar * gnc_account_get_full_name(const Account *account)
The gnc_account_get_full_name routine returns the fully qualified name of the account using the given...
Definition: Account.cpp:3305
gnc_numeric xaccAccountGetReconciledBalanceAsOfDate(Account *account, time64 date)
Get the reconciled balance of the account at the end of the day of the date specified.
Definition: Account.cpp:3545
void xaccAccountSetPlaceholder(Account *account, gboolean val)
Set the "placeholder" flag for an account.
Definition: Account.cpp:4125
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: Account.cpp:4454
gnc_numeric xaccAccountGetNoclosingBalanceAsOfDateInCurrency(Account *acc, time64 date, gnc_commodity *report_commodity, gboolean include_children)
This function gets the balance at the end of the given date, ignoring closing entries, in the desired commodity.
Definition: Account.cpp:3861
gchar * gnc_account_name_violations_errmsg(const gchar *separator, GList *invalid_account_names)
Composes a translatable error message showing which account names clash with the current account sepa...
Definition: Account.cpp:235
void xaccAccountClearLowerBalanceLimit(Account *account)
Clear the lower balance limit for the account.
Definition: Account.cpp:4751
gboolean xaccTransactionTraverse(Transaction *trans, int stage)
xaccTransactionTraverse() checks the stage of the given transaction.
Definition: Account.cpp:5039
void xaccAccountSetColor(Account *account, const char *color)
Set the account's Color.
Definition: Account.cpp:2613
Transaction * xaccAccountFindTransByDesc(const Account *account, const char *description)
Returns a pointer to the transaction, not a copy.
Definition: Account.cpp:4921
void xaccAccountSetIncludeSubAccountBalances(Account *account, gboolean include)
Set whether to include balances of sub accounts.
Definition: Account.cpp:4763
void gnc_account_set_balance_dirty(Account *acc)
Tell the account that the running balances may be incorrect and need to be recomputed.
Definition: Account.cpp:1898
Income accounts are used to denote income.
Definition: Account.h:140
void gnc_account_foreach_child(const Account *account, AccountCb func, gpointer user_data)
This method will traverse the immediate children of this accounts, calling 'func' on each account...
Definition: Account.cpp:3225
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.
Definition: Account.cpp:3106
void gnc_account_tree_begin_staged_transaction_traversals(Account *acc)
gnc_account_tree_begin_staged_transaction_traversals() resets the traversal marker inside every trans...
Definition: Account.cpp:5054
void dxaccAccountSetPriceSrc(Account *account, const char *src)
Set a string that identifies the Finance::Quote backend that should be used to retrieve online prices...
Definition: Account.cpp:4835
void xaccAccountBeginStagedTransactionTraversals(const Account *account)
xaccAccountBeginStagedTransactionTraversals() resets the traversal marker for each transaction which ...
Definition: Account.cpp:5031
Implement Accounting Policy.
GNCPlaceholderType xaccAccountGetDescendantPlaceholder(const Account *account)
Returns PLACEHOLDER_NONE if account is NULL or neither account nor any descendant of account is a pla...
Definition: Account.cpp:4162
const char * xaccAccountGetDescription(const Account *account)
Get the account's description.
Definition: Account.cpp:3343
void gnc_account_set_start_reconciled_balance(Account *acc, const gnc_numeric start_baln)
This function will set the starting reconciled commodity balance for this account.
Definition: Account.cpp:3454
void gnc_account_delete_all_bayes_maps(Account *acc)
Delete all bayes entries for Account.
Definition: Account.cpp:5775
const char * dxaccAccountGetQuoteTZ(const Account *account)
Get the timezone to be used when interpreting the results from a given Finance::Quote backend...
Definition: Account.cpp:4871
time64 gnc_account_get_earliest_date(const Account *account)
Returns the date of the earliest split in the account, or INT64_MAX.
Definition: Account.cpp:5127
GType gnc_account_get_type(void)
Returns the GType type system description of the Account class.
line of credit – don't use this for now, see NUM_ACCOUNT_TYPES
Definition: Account.h:171
void xaccAccountClearReconcilePostpone(Account *account)
DOCUMENT ME!
Definition: Account.cpp:4674
const char * xaccAccountGetTaxUSPayerNameSource(const Account *account)
DOCUMENT ME!
Definition: Account.cpp:4059
void gnc_account_reset_convert_bayes_to_flat(void)
Reset the flag that indicates the function imap_convert_bayes_to_flat has been run.
Definition: Account.cpp:5493
GList * gnc_account_get_children_sorted(const Account *account)
This routine returns a GList of all children accounts of the specified account, ordered by xaccAccoun...
Definition: Account.cpp:2969
The bank account type denotes a savings or checking account held at a bank.
Definition: Account.h:107
LotList * xaccAccountGetLotList(const Account *account)
The xaccAccountGetLotList() routine returns a list of all lots in this account.
Definition: Account.cpp:3975
void xaccAccountRecomputeBalance(Account *)
The following recompute the partial balances (stored with the transaction) and the total balance...
Definition: Account.cpp:2275
GList * gnc_account_imap_get_info_bayes(Account *acc)
Returns a GList of structure imap_info of all Bayesian mappings for required Account.
Definition: Account.cpp:5692
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.
Definition: Account.cpp:5703
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.
Definition: Account.cpp:3163
gboolean gnc_account_get_defer_bal_computation(Account *acc)
Get the account's flag for deferred balance computation.
Definition: Account.cpp:1924
void xaccAccountSetReconcilePostponeDate(Account *account, time64 postpone_date)
DOCUMENT ME!
Definition: Account.cpp:4639
A/P account type.
Definition: Account.h:151
const char * xaccAccountGetTaxUSCode(const Account *account)
DOCUMENT ME!
Definition: Account.cpp:4047
gboolean xaccAccountIsAPARType(GNCAccountType t)
Convenience function to check if the account is a valid business account type (meaning an Accounts Pa...
Definition: Account.cpp:4527
bank account type – don't use this for now, see NUM_ACCOUNT_TYPES
Definition: Account.h:167
gboolean xaccAccountStringToType(const char *str, GNCAccountType *type)
Conversion routines for the account types to/from strings that are used in persistent storage...
Definition: Account.cpp:4284
void xaccAccountSetIsOpeningBalance(Account *account, gboolean val)
Set the "opening-balance" flag for an account.
Definition: Account.cpp:4153
void xaccAccountSetReconcilePostponeBalance(Account *account, gnc_numeric balance)
DOCUMENT ME!
Definition: Account.cpp:4664
gboolean xaccAccountEqual(const Account *a, const Account *b, gboolean check_guids)
Compare two accounts for equality - this is a deep compare.
Definition: Account.cpp:1666
gboolean xaccAccountGetTaxRelated(const Account *account)
DOCUMENT ME!
Definition: Account.cpp:4035
void gnc_account_set_start_cleared_balance(Account *acc, const gnc_numeric start_baln)
This function will set the starting cleared commodity balance for this account.
Definition: Account.cpp:3441
Account * xaccCloneAccount(const Account *source, QofBook *book)
The xaccCloneAccount() routine makes a simple copy of the indicated account, placing it in the indica...
Definition: Account.cpp:1301
gnc_numeric xaccAccountGetReconciledBalance(const Account *account)
Get the current balance of the account, only including reconciled transactions.
Definition: Account.cpp:3481
asset (and liability) accounts indicate generic, generalized accounts that are none of the above...
Definition: Account.h:116
gint gnc_account_n_children(const Account *account)
Return the number of children of the specified account.
Definition: Account.cpp:2976
void gnc_account_join_children(Account *to_parent, Account *from_parent)
The gnc_account_join_children() subroutine will move (reparent) all child accounts from the from_pare...
Definition: Account.cpp:4931
gnc_numeric xaccAccountGetBalanceAsOfDate(Account *account, time64 date)
Get the balance of the account at the end of the day before the date specified.
Definition: Account.cpp:3533
All type declarations for the whole Gnucash engine.
gnc_numeric xaccAccountGetBalance(const Account *account)
Get the current balance of the account, which may include future splits.
Definition: Account.cpp:3467
gboolean xaccAccountGetReconcileLastDate(const Account *account, time64 *last_date)
DOCUMENT ME!
Definition: Account.cpp:4566
void dxaccAccountSetQuoteTZ(Account *account, const char *tz)
Set the timezone to be used when interpreting the results from a given Finance::Quote backend...
Definition: Account.cpp:4860
The currency account type indicates that the account is a currency trading account.
Definition: Account.h:129
void xaccAccountSetCommoditySCU(Account *account, int frac)
Set the SCU for the account.
Definition: Account.cpp:2722
GNCAccountType
The account types are used to determine how the transaction data in the account is displayed...
Definition: Account.h:101
gnc_commodity * gnc_account_get_currency_or_parent(const Account *account)
Returns a gnc_commodity that is a currency, suitable for being a Transaction's currency.
Definition: Account.cpp:3415
Account * xaccAccountGetAssociatedAccount(const Account *acc, const char *tag)
Get the account's associated account e.g.
Definition: Account.cpp:3387
gboolean xaccAccountGetHidden(const Account *acc)
Get the "hidden" flag for an account.
Definition: Account.cpp:4190
void xaccAccountSetAppendText(Account *account, gboolean val)
Set the "import-append-text" flag for an account.
Definition: Account.cpp:4137
gboolean gnc_account_insert_split(Account *acc, Split *s)
Insert the given split from an account.
Definition: Account.cpp:1943
GList * gnc_account_get_descendants(const Account *account)
This routine returns a flat list of all of the accounts that are descendants of the specified account...
Definition: Account.cpp:3044
void xaccAccountSetAutoInterest(Account *acc, gboolean val)
Set the "auto interest" flag for an account.
Definition: Account.cpp:4181
void xaccAccountSetTaxUSCode(Account *account, const char *code)
DOCUMENT ME!
Definition: Account.cpp:4053
GNCPlaceholderType
DOCUMENT ME!
Definition: Account.h:1282
gboolean xaccAccountGetIsOpeningBalance(const Account *account)
Get the "opening-balance" flag for an account.
Definition: Account.cpp:4143
QofBook reference.
Definition: qofbook-p.hpp:46
guint32 xaccParentAccountTypesCompatibleWith(GNCAccountType type)
Return the bitmask of parent account types compatible with a given type.
Definition: Account.cpp:4407
gboolean xaccAccountGetReconcileChildrenStatus(const Account *account)
DOCUMENT ME!
Definition: Account.cpp:4895
gboolean xaccAccountGetReconcileLastInterval(const Account *account, int *months, int *days)
DOCUMENT ME!
Definition: Account.cpp:4593
gboolean xaccAccountGetIncludeSubAccountBalances(const Account *account)
Get whether to include balances of sub accounts.
Definition: Account.cpp:4757
Not a type.
Definition: Account.h:104
const char * dxaccAccountGetPriceSrc(const Account *account)
Get a string that identifies the Finance::Quote backend that should be used to retrieve online prices...
Definition: Account.cpp:4847
liability (and asset) accounts indicate generic, generalized accounts that are none of the above...
Definition: Account.h:119
const char * gnc_account_get_credit_string(GNCAccountType acct_type)
Get the credit string associated with this account type.
Definition: Account.cpp:4103
void xaccAccountDestroyAllTransactions(Account *acc)
Destroy all of the transactions that parent splits in an account.
Definition: Account.cpp:1600
GList * gnc_account_get_children(const Account *account)
This routine returns a GList of all children accounts of the specified account.
Definition: Account.cpp:2960
void xaccAccountSetHidden(Account *acc, gboolean val)
Set the "hidden" flag for an account.
Definition: Account.cpp:4196
void xaccAccountBeginEdit(Account *account)
The xaccAccountBeginEdit() subroutine is the first phase of a two-phase-commit wrapper for account up...
Definition: Account.cpp:1475
gboolean xaccAccountHasAncestor(const Account *acc, const Account *ancestor)
Returns true if the account is 'ancestor' or has 'ancestor' as an ancestor.
Definition: Account.cpp:4224
gnc_commodity * xaccAccountGetCommodity(const Account *account)
Get the account's commodity.
Definition: Account.cpp:3408
gboolean xaccAccountGetPlaceholder(const Account *account)
Get the "placeholder" flag for an account.
Definition: Account.cpp:4119
gint gnc_account_get_current_depth(const Account *account)
Return the number of levels of this account below the root account.
Definition: Account.cpp:3010
A/R account type.
Definition: Account.h:149
void xaccAccountSetSortReversed(Account *account, gboolean sortreversed)
Set the account's Sort Order direction.
Definition: Account.cpp:2631
bank account type – don't use this for now, see NUM_ACCOUNT_TYPES
Definition: Account.h:169
void xaccAccountSetLowerBalanceLimit(Account *account, gnc_numeric balance)
Set the lower balance limit for the account.
Definition: Account.cpp:4739
Account * xaccAccountGainsAccount(Account *acc, gnc_commodity *curr)
Retrieve the gains account used by this account for the indicated currency, creating and recording a ...
Definition: Account.cpp:4817
gboolean xaccAccountGetHigherBalanceLimit(const Account *account, gnc_numeric *balance)
Get the higher balance limit for the account.
Definition: Account.cpp:4719
Account * gnc_account_nth_child(const Account *parent, gint num)
Return the n'th child account of the specified parent account.
Definition: Account.cpp:2993
Account * xaccMallocAccount(QofBook *book)
Constructor.
Definition: Account.cpp:1270
gint gnc_account_child_index(const Account *parent, const Account *child)
Return the index of the specified child within the list of the parent's children. ...
Definition: Account.cpp:2983
gint64 time64
Most systems that are currently maintained, including Microsoft Windows, BSD-derived Unixes and Linux...
Definition: gnc-date.h:87
void xaccAccountSetTaxUSPayerNameSource(Account *account, const char *source)
DOCUMENT ME!
Definition: Account.cpp:4065
void xaccAccountSetDescription(Account *account, const char *desc)
Set the account's description.
Definition: Account.cpp:2497
void DxaccAccountSetCurrency(Account *account, gnc_commodity *currency)
Definition: Account.cpp:2785
void gnc_account_set_start_balance(Account *acc, const gnc_numeric start_baln)
This function will set the starting commodity balance for this account.
Definition: Account.cpp:3429
void xaccAccountSetNonStdSCU(Account *account, gboolean flag)
Set the flag indicating that this account uses a non-standard SCU.
Definition: Account.cpp:2758
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.
Definition: Account.cpp:3982
Account * gnc_account_get_root(Account *account)
This routine returns the root account of the account tree that the specified account belongs to...
Definition: Account.cpp:2942
Account * gnc_account_lookup_by_opening_balance(Account *account, gnc_commodity *commodity)
Find the opening balance account for the currency.
Definition: Account.cpp:3121
void xaccAccountClearHigherBalanceLimit(Account *account)
Clear the higher balance limit for the account.
Definition: Account.cpp:4745
void gnc_account_set_defer_bal_computation(Account *acc, gboolean defer)
Set the defer balance flag.
Definition: Account.cpp:1911
const char * xaccAccountGetName(const Account *account)
Get the account's name.
Definition: Account.cpp:3289
Equity account is used to balance the balance sheet.
Definition: Account.h:146
const char * xaccAccountGetTypeStr(GNCAccountType type)
The xaccAccountGetTypeStr() routine returns a string suitable for use in the GUI/Interface.
Definition: Account.cpp:4357
const char * xaccAccountGetSortOrder(const Account *account)
Get the account's Sort Order.
Definition: Account.cpp:3362
Not a type.
Definition: Account.h:105
The type used to store guids in C.
Definition: guid.h:75
int xaccAccountStagedTransactionTraversal(const Account *a, unsigned int stage, TransactionCallback thunk, void *data)
xaccAccountStagedTransactionTraversal() calls thunk on each transaction in account a whose current ma...
Definition: Account.cpp:5062
void xaccAccountCommitEdit(Account *account)
ThexaccAccountCommitEdit() subroutine is the second phase of a two-phase-commit wrapper for account u...
Definition: Account.cpp:1516
void xaccClearMark(Account *account, short val)
Get the mark set by xaccAccountSetMark short xaccAccountGetMark (const Account *account);.
Definition: Account.cpp:2073
void xaccAccountSetName(Account *account, const char *name)
Set the account's name.
Definition: Account.cpp:2458
The hidden root account of an account tree.
Definition: Account.h:153
GncGUID * gnc_account_get_map_guid_entry(Account *acc, const char *head, const char *category)
Returns the guid pointed to by head and category for the Account, free the returned guid...
Definition: Account.cpp:5740
GNCPolicy * gnc_account_get_policy(Account *account)
Get the account's lot order policy.
Definition: Account.cpp:2100
void gnc_account_merge_children(Account *parent)
The gnc_account_merge_children() subroutine will go through an account, merging all child accounts th...
Definition: Account.cpp:4953
gboolean xaccAccountIsEquityType(GNCAccountType t)
Convenience function to check if the account is a valid Equity type.
Definition: Account.cpp:4539
void xaccAccountSetReconcileChildrenStatus(Account *account, gboolean status)
DOCUMENT ME!
Definition: Account.cpp:4882
The Credit card account is used to denote credit (e.g.
Definition: Account.h:113
const gchar * gnc_get_account_separator_string(void)
Returns the account separation character chosen by the user.
Definition: Account.cpp:205
void xaccAccountSetCommodity(Account *account, gnc_commodity *comm)
Set the account's commodity.
Definition: Account.cpp:2678
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.
Definition: Account.cpp:3188
const char * xaccAccountGetNotes(const Account *account)
Get the account's notes.
Definition: Account.cpp:3374
gboolean xaccAccountGetReconcilePostponeBalance(const Account *account, gnc_numeric *balance)
DOCUMENT ME!
Definition: Account.cpp:4648
gint gnc_account_get_tree_depth(const Account *account)
Return the number of levels of descendants accounts below the specified account.
Definition: Account.cpp:3029
Account * gnc_account_imap_find_account_bayes(Account *acc, GList *tokens)
Look up an Account in the map using Baysian.
Definition: Account.cpp:5525
Account * xaccAccountLookup(const GncGUID *guid, QofBook *book)
The xaccAccountLookup() subroutine will return the account associated with the given id...
Definition: Account.cpp:2050
void xaccAccountSetTaxUSCopyNumber(Account *account, gint64 copy_number)
Saves copy_number in KVP if it is greater than 1; if copy_number is zero, deletes KVP...
Definition: Account.cpp:4078