GnuCash  2.6.99
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
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 [email protected] *
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 typedef gnc_numeric (*xaccGetBalanceFn)( const Account *account );
52 
53 typedef gnc_numeric (*xaccGetBalanceInCurrencyFn) (
54  const Account *account, const gnc_commodity *report_commodity,
55  gboolean include_children);
56 
57 typedef gnc_numeric (*xaccGetBalanceAsOfDateFn) (
58  Account *account, time64 date);
59 
60 typedef void (*AccountCb)(Account *a, gpointer data);
61 typedef gpointer (*AccountCb2)(Account *a, gpointer data);
62 
63 typedef struct
64 {
65  QofInstanceClass parent_class;
66 } AccountClass;
67 
68 /* --- type macros --- */
69 #define GNC_TYPE_ACCOUNT (gnc_account_get_type ())
70 #define GNC_ACCOUNT(o) \
71  (G_TYPE_CHECK_INSTANCE_CAST ((o), GNC_TYPE_ACCOUNT, Account))
72 #define GNC_ACCOUNT_CLASS(k) \
73  (G_TYPE_CHECK_CLASS_CAST((k), GNC_TYPE_ACCOUNT, AccountClass))
74 #define GNC_IS_ACCOUNT(o) \
75  (G_TYPE_CHECK_INSTANCE_TYPE ((o), GNC_TYPE_ACCOUNT))
76 #define GNC_IS_ACCOUNT_CLASS(k) \
77  (G_TYPE_CHECK_CLASS_TYPE ((k), GNC_TYPE_ACCOUNT))
78 #define GNC_ACCOUNT_GET_CLASS(o) \
79  (G_TYPE_INSTANCE_GET_CLASS ((o), GNC_TYPE_ACCOUNT, AccountClass))
80 
84 GType gnc_account_get_type(void);
85 
96 typedef enum
97 {
158  /* bank account types */
167  ACCT_TYPE_LAST
169 
170 
171 
177 
180 
189 Account * xaccCloneAccount (const Account *source, QofBook *book);
190 
193 void xaccAccountBeginEdit (Account *account);
194 
197 void xaccAccountCommitEdit (Account *account);
198 
202 void xaccAccountDestroy (Account *account);
203 
205 gboolean xaccAccountEqual(const Account *a, const Account* b,
206  gboolean check_guids);
207 
217 int xaccAccountOrder (const Account *account_1, const Account *account_2);
218 
221 /* ------------------ */
222 
230 const gchar *gnc_get_account_separator_string (void);
231 gunichar gnc_get_account_separator (void);
232 void gnc_set_account_separator (const gchar *separator);
233 
234 /*@ dependent @*/
235 Account *gnc_book_get_root_account(QofBook *book);
236 void gnc_book_set_root_account(QofBook *book, Account *root);
237 
239 #define xaccAccountGetGUID(X) qof_entity_get_guid(QOF_INSTANCE(X))
240 #define xaccAccountReturnGUID(X) (X ? *(qof_entity_get_guid(QOF_INSTANCE(X))) : *(guid_null()))
241 
245 /*@ dependent @*/ Account * xaccAccountLookup (const GncGUID *guid, QofBook *book);
246 #define xaccAccountLookupDirect(g,b) xaccAccountLookup(&(g),b)
247 
262 gchar *gnc_account_name_violations_errmsg (const gchar *separator, GList* invalid_account_names);
263 
274 GList *gnc_account_list_name_violations (QofBook *book, const gchar *separator);
275 
276 /* ------------------ */
277 
281 QofBook *gnc_account_get_book(const Account *account);
283 void xaccAccountSetType (Account *account, GNCAccountType);
285 void xaccAccountSetName (Account *account, const char *name);
287 void xaccAccountSetCode (Account *account, const char *code);
289 void xaccAccountSetDescription (Account *account, const char *desc);
291 void xaccAccountSetColor (Account *account, const char *color);
293 void xaccAccountSetFilter (Account *account, const char *filter);
295 void xaccAccountSetSortOrder (Account *account, const char *sortorder);
297 void xaccAccountSetNotes (Account *account, const char *notes);
299 void xaccAccountSetLastNum (Account *account, const char *num);
301 void gnc_account_set_policy (Account *account, GNCPolicy *policy);
306 GNCAccountType xaccAccountGetType (const Account *account);
309 gboolean xaccAccountIsPriced(const Account *acc);
310 
319  const gnc_numeric start_baln);
320 
329  const gnc_numeric start_baln);
330 
339  const gnc_numeric start_baln);
340 
346 
352 
362 gboolean gnc_account_insert_split (Account *acc, Split *s);
363 
373 gboolean gnc_account_remove_split (Account *acc, Split *s);
374 
376 const char * xaccAccountGetName (const Account *account);
378 const char * xaccAccountGetCode (const Account *account);
380 const char * xaccAccountGetDescription (const Account *account);
382 const char * xaccAccountGetColor (const Account *account);
384 const char * xaccAccountGetFilter (const Account *account);
386 const char * xaccAccountGetSortOrder (const Account *account);
388 const char * xaccAccountGetNotes (const Account *account);
390 const char * xaccAccountGetLastNum (const Account *account);
393 
398 
403 void xaccAccountSortSplits (Account *acc, gboolean force);
404 
418 gchar * gnc_account_get_full_name (const Account *account);
419 
437 void dxaccAccountSetPriceSrc (Account *account, const char *src);
444 const char * dxaccAccountGetPriceSrc (const Account *account);
445 
450 gboolean xaccAccountGetAutoInterestXfer (const Account *account,
451  gboolean default_value);
456 void xaccAccountSetAutoInterestXfer (Account *account, gboolean value);
491 void xaccAccountSetCommodity (Account *account, gnc_commodity *comm);
492 
494 /*@ dependent @*/
496 
504 
509 int xaccAccountGetCommoditySCU (const Account *account);
510 
513 int xaccAccountGetCommoditySCUi (const Account *account);
514 
519 void xaccAccountSetCommoditySCU (Account *account, int frac);
520 
522 void xaccAccountSetNonStdSCU (Account *account, gboolean flag);
523 
526 gboolean xaccAccountGetNonStdSCU (const Account *account);
535 gnc_numeric xaccAccountGetBalance (const Account *account);
542 gnc_numeric xaccAccountGetPresentBalance (const Account *account);
543 gnc_numeric xaccAccountGetProjectedMinimumBalance (const Account *account);
546  time64 date);
547 
548 /* These two functions convert a given balance from one commodity to
549  another. The account argument is only used to get the Book, and
550  may have nothing to do with the supplied balance. Likewise, the
551  date argument is only used for commodity conversion and may have
552  nothing to do with supplied balance.
553 
554  Since they really have nothing to do with Accounts, there's
555  probably some better place for them, but where? gnc-commodity.h?
556 */
557 gnc_numeric xaccAccountConvertBalanceToCurrency(
558  const Account *account, /* for book */
559  gnc_numeric balance,
560  const gnc_commodity *balance_currency,
561  const gnc_commodity *new_currency);
562 gnc_numeric xaccAccountConvertBalanceToCurrencyAsOfDate(
563  const Account *account, /* for book */
564  gnc_numeric balance, gnc_commodity *balance_currency,
565  gnc_commodity *new_currency, time64 date);
566 
567 /* These functions get some type of balance in the desired commodity.
568  'report_commodity' may be NULL to use the account's commodity. */
569 gnc_numeric xaccAccountGetBalanceInCurrency (
570  const Account *account, const gnc_commodity *report_commodity,
571  gboolean include_children);
572 gnc_numeric xaccAccountGetClearedBalanceInCurrency (
573  const Account *account, const gnc_commodity *report_commodity,
574  gboolean include_children);
575 gnc_numeric xaccAccountGetReconciledBalanceInCurrency (
576  const Account *account, const gnc_commodity *report_commodity,
577  gboolean include_children);
578 gnc_numeric xaccAccountGetPresentBalanceInCurrency (
579  const Account *account, const gnc_commodity *report_commodity,
580  gboolean include_children);
581 gnc_numeric xaccAccountGetProjectedMinimumBalanceInCurrency (
582  const Account *account, const gnc_commodity *report_commodity,
583  gboolean include_children);
584 
585 /* This function gets the balance as of the given date in the desired
586  commodity. */
587 gnc_numeric xaccAccountGetBalanceAsOfDateInCurrency(
588  Account *account, time64 date, gnc_commodity *report_commodity,
589  gboolean include_children);
590 
591 gnc_numeric xaccAccountGetBalanceChangeForPeriod (
592  Account *acc, time64 date1, time64 date2, gboolean recurse);
593 
624 void gnc_account_append_child (Account *new_parent, Account *child);
625 
636 void gnc_account_remove_child (Account *parent, Account *child);
637 
646 /*@ dependent @*/
647 Account * gnc_account_get_parent (const Account *account);
648 
659 
666 gboolean gnc_account_is_root (const Account *account);
667 
682 GList *gnc_account_get_children (const Account *account);
683 
687 GList *gnc_account_get_children_sorted (const Account *account);
688 
695 gint gnc_account_n_children (const Account *account);
696 
708 gint gnc_account_child_index (const Account *parent, const Account *child);
709 
720 Account *gnc_account_nth_child (const Account *parent, gint num);
721 
737 GList * gnc_account_get_descendants (const Account *account);
738 
757 GList *gnc_account_get_descendants_sorted (const Account *account);
758 
765 gint gnc_account_n_descendants (const Account *account);
766 
773 gint gnc_account_get_current_depth (const Account *account);
774 
782 gint gnc_account_get_tree_depth (const Account *account);
783 
800 void gnc_account_foreach_child (const Account *account,
801  AccountCb func, /*@ null @*/ gpointer user_data);
802 
816 void gnc_account_foreach_descendant (const Account *account,
817  AccountCb func, /*@ null @*/ gpointer user_data);
818 
834 gpointer gnc_account_foreach_descendant_until (const Account *account,
835  AccountCb2 func, /*@ null @*/ gpointer user_data);
836 
837 
850 void gnc_account_join_children (Account *to_parent, Account *from_parent);
851 
857 void gnc_account_merge_children (Account *parent);
858 
862 void xaccAccountSetReconcileChildrenStatus(Account *account, gboolean status);
863 
865 gboolean xaccAccountGetReconcileChildrenStatus(const Account *account);
866 
872 gboolean xaccAccountHasAncestor(const Account *acc, const Account *ancestor);
873 
888 Account *gnc_account_lookup_by_name (const Account *parent, const char *name);
889 
894 Account *gnc_account_lookup_by_full_name (const Account *any_account,
895  const gchar *name);
896 
901  const char *code);
902 
905 /* ------------------ */
906 
915 const char * xaccAccountTypeEnumAsString (GNCAccountType type);
921 gboolean xaccAccountStringToType (const char* str, GNCAccountType *type);
927 GNCAccountType xaccAccountStringToEnum (const char* str);
928 
932 const char * xaccAccountGetTypeStr (GNCAccountType type);
933 
936 
939 gboolean xaccAccountTypesCompatible (GNCAccountType parent_type,
940  GNCAccountType child_type);
941 
944 guint32 xaccAccountTypesValid(void);
945 
950 
955 
959 
960 
963 /* ------------------ */
964 
972 #define xaccAccountInsertSplit(acc, s) xaccSplitSetAccount((s), (acc))
973 
985 SplitList* xaccAccountGetSplitList (const Account *account);
986 
987 
995 gint64 xaccAccountCountSplits (const Account *acc, gboolean include_children);
996 
999 void xaccAccountMoveAllSplits (Account *accfrom, Account *accto);
1000 
1029 gint xaccAccountForEachTransaction(const Account *account,
1030  TransactionCallback proc,
1031  void *data);
1032 
1035  const char *description);
1036 
1038 Split * xaccAccountFindSplitByDesc(const Account *account,
1039  const char *description);
1040 
1043 /* ------------------ */
1044 
1053 void xaccAccountInsertLot (Account *, GNCLot *);
1054 void xaccAccountRemoveLot (Account *, GNCLot *);
1055 
1064 LotList* xaccAccountGetLotList (const Account *account);
1065 
1072 gpointer xaccAccountForEachLot(
1073  const Account *acc,
1074  gpointer (*proc)(GNCLot *lot, gpointer user_data), /*@ null @*/ gpointer user_data);
1075 
1076 
1083  gboolean (*match_func)(GNCLot *lot,
1084  gpointer user_data),
1085  /*@ null @*/ gpointer user_data, GCompareFunc sort_func);
1086 
1088 /* ------------------ */
1089 
1094 gboolean xaccAccountGetReconcileLastDate (const Account *account,
1095  time64 *last_date);
1097 void xaccAccountSetReconcileLastDate (Account *account, time64 last_date);
1098 
1100 gboolean xaccAccountGetReconcileLastInterval (const Account *account,
1101  int *months, int *days);
1104  int months, int days);
1106 gboolean xaccAccountGetReconcilePostponeDate (const Account *account,
1107  time64 *postpone_date);
1110  time64 postpone_date);
1111 
1113 gboolean xaccAccountGetReconcilePostponeBalance (const Account *account,
1114  gnc_numeric *balance);
1117  gnc_numeric balance);
1118 
1125 typedef enum
1126 {
1127  PLACEHOLDER_NONE,
1128  PLACEHOLDER_THIS,
1129  PLACEHOLDER_CHILD,
1131 
1142 gboolean xaccAccountGetPlaceholder (const Account *account);
1143 
1150 void xaccAccountSetPlaceholder (Account *account, gboolean val);
1151 
1171 gboolean xaccAccountGetHidden (const Account *acc);
1172 
1180 void xaccAccountSetHidden (Account *acc, gboolean val);
1181 
1191 gboolean xaccAccountIsHidden (const Account *acc);
1199 gboolean xaccAccountGetTaxRelated (const Account *account);
1201 void xaccAccountSetTaxRelated (Account *account, gboolean tax_related);
1203 const char * xaccAccountGetTaxUSCode (const Account *account);
1205 void xaccAccountSetTaxUSCode (Account *account, const char *code);
1207 const char * xaccAccountGetTaxUSPayerNameSource (const Account *account);
1209 void xaccAccountSetTaxUSPayerNameSource (Account *account, const char *source);
1211 gint64 xaccAccountGetTaxUSCopyNumber (const Account *account);
1213 void xaccAccountSetTaxUSCopyNumber (Account *account, gint64 copy_number);
1226 void xaccAccountSetMark (Account *account, short mark);
1227 
1233 void xaccClearMark (Account *account, short val);
1234 
1237 void xaccClearMarkDown (Account *account, short val);
1285 
1291 
1297 
1303 gboolean xaccTransactionTraverse(Transaction *trans, int stage);
1304 
1319  unsigned int stage,
1320  TransactionCallback thunk,
1321  void *data);
1322 
1337  unsigned int stage,
1338  TransactionCallback thunk,
1339  void *data);
1340 
1373  TransactionCallback proc, void *data);
1374 
1387 void DxaccAccountSetCurrency (Account *account, gnc_commodity *currency);
1388 
1392 gnc_commodity * DxaccAccountGetCurrency (const Account *account);
1393 
1401 void dxaccAccountSetQuoteTZ (Account *account, const char *tz);
1408 const char * dxaccAccountGetQuoteTZ (const Account *account);
1415 #define ACCOUNT_KVP "kvp"
1416 #define ACCOUNT_NAME_ "name"
1417 #define ACCOUNT_CODE_ "code"
1418 #define ACCOUNT_DESCRIPTION_ "desc"
1419 #define ACCOUNT_COLOR_ "color"
1420 #define ACCOUNT_FILTER_ "filter"
1421 #define ACCOUNT_SORT_ORDER_ "sort-order"
1422 #define ACCOUNT_NOTES_ "notes"
1423 #define ACCOUNT_BALANCE_ "balance"
1424 #define ACCOUNT_CLEARED_ "cleared"
1425 #define ACCOUNT_RECONCILED_ "reconciled"
1426 #define ACCOUNT_PRESENT_ "present"
1427 #define ACCOUNT_FUTURE_MINIMUM_ "future-minimum"
1428 #define ACCOUNT_TAX_RELATED "tax-related-p"
1429 #define ACCOUNT_TYPE_ "account-type"
1430 #define ACCOUNT_SCU "smallest-commodity-unit"
1431 #define ACCOUNT_NSCU "non-standard-scu"
1432 #define ACCOUNT_PARENT "parent-account"
1433 
1438 #define ACCOUNT_MATCH_ALL_TYPE "account-match-all"
1439 
1440 #endif /* XACC_ACCOUNT_H */
1441 
void xaccAccountSetType(Account *account, GNCAccountType)
Definition: Account.c:2208
Account * gnc_account_get_parent(const Account *account)
Definition: Account.c:2623
void xaccAccountSetFilter(Account *account, const char *filter)
Definition: Account.c:2308
void xaccAccountSetSortOrder(Account *account, const char *sortorder)
Definition: Account.c:2329
gint xaccAccountForEachTransaction(const Account *account, TransactionCallback proc, void *data)
Definition: Account.c:4996
int xaccAccountTreeForEachTransaction(Account *acc, TransactionCallback proc, void *data)
int gnc_account_tree_staged_transaction_traversal(const Account *account, unsigned int stage, TransactionCallback thunk, void *data)
Definition: Account.c:4939
const char * xaccAccountGetLastNum(const Account *account)
Definition: Account.c:4472
GList LotList
Definition: gnc-engine.h:201
void gnc_account_append_child(Account *new_parent, Account *child)
Definition: Account.c:2525
gpointer xaccAccountForEachLot(const Account *acc, gpointer(*proc)(GNCLot *lot, gpointer user_data), gpointer user_data)
GList * gnc_account_get_descendants_sorted(const Account *account)
Definition: Account.c:2777
gint gnc_account_n_descendants(const Account *account)
Definition: Account.c:2698
gint64 xaccAccountGetTaxUSCopyNumber(const Account *account)
Definition: Account.c:3876
gboolean gnc_account_is_root(const Account *account)
Definition: Account.c:2647
SplitList * xaccAccountGetSplitList(const Account *account)
Definition: Account.c:3717
gboolean xaccAccountGetNonStdSCU(const Account *account)
Definition: Account.c:2487
int xaccAccountGetCommoditySCUi(const Account *account)
Definition: Account.c:2451
gnc_commodity * DxaccAccountGetCurrency(const Account *account)
Definition: Account.c:3128
void gnc_account_foreach_descendant(const Account *account, AccountCb func, gpointer user_data)
Definition: Account.c:2958
void xaccAccountSetNotes(Account *account, const char *notes)
Definition: Account.c:2368
gboolean xaccAccountIsPriced(const Account *acc)
Definition: Account.c:4249
const char * xaccAccountGetFilter(const Account *account)
Definition: Account.c:3107
GNCAccountType xaccAccountGetType(const Account *account)
Definition: Account.c:3009
void xaccAccountSetMark(Account *account, short mark)
Definition: Account.c:1839
int xaccAccountGetCommoditySCU(const Account *account)
Definition: Account.c:2458
const char * xaccAccountGetCode(const Account *account)
Definition: Account.c:3086
void xaccAccountSetReconcileLastDate(Account *account, time64 last_date)
Definition: Account.c:4285
Account * gnc_account_create_root(QofBook *book)
Definition: Account.c:1097
void xaccAccountSetTaxRelated(Account *account, gboolean tax_related)
Definition: Account.c:3815
void xaccAccountSortSplits(Account *acc, gboolean force)
Definition: Account.c:1781
void xaccAccountSetCode(Account *account, const char *code)
Definition: Account.c:2249
gpointer gnc_account_foreach_descendant_until(const Account *account, AccountCb2 func, gpointer user_data)
Definition: Account.c:2979
void gnc_account_set_policy(Account *account, GNCPolicy *policy)
Definition: Account.c:1888
void xaccAccountSetReconcileLastInterval(Account *account, int months, int days)
Definition: Account.c:4326
gboolean gnc_account_remove_split(Account *acc, Split *s)
Definition: Account.c:1756
guint32 xaccAccountTypesValid(void)
Definition: Account.c:4203
const char * xaccAccountTypeEnumAsString(GNCAccountType type)
Definition: Account.c:4027
GList * gnc_account_list_name_violations(QofBook *book, const gchar *separator)
Definition: Account.c:196
void xaccAccountInsertLot(Account *, GNCLot *)
Definition: Account.c:1920
void xaccAccountMoveAllSplits(Account *accfrom, Account *accto)
Definition: Account.c:1980
void gnc_account_set_sort_dirty(Account *acc)
Definition: Account.c:1689
void xaccAccountSetLastNum(Account *account, const char *num)
Definition: Account.c:4481
gnc_numeric xaccAccountGetClearedBalance(const Account *account)
Definition: Account.c:3236
Definition: guid.h:65
gboolean xaccAccountGetReconcilePostponeDate(const Account *account, time64 *postpone_date)
Definition: Account.c:4348
void xaccAccountDestroy(Account *account)
Definition: Account.c:1400
gboolean xaccAccountIsHidden(const Account *acc)
Definition: Account.c:3982
Account * gnc_account_lookup_by_name(const Account *parent, const char *name)
Definition: Account.c:2803
void gnc_account_remove_child(Account *parent, Account *child)
Definition: Account.c:2587
int xaccAccountOrder(const Account *account_1, const Account *account_2)
Definition: Account.c:2132
const char * xaccAccountGetColor(const Account *account)
Definition: Account.c:3100
Split * xaccAccountFindSplitByDesc(const Account *account, const char *description)
Definition: Account.c:4711
gboolean xaccAccountIsAssetLiabType(GNCAccountType t)
Definition: Account.c:4212
void xaccClearMarkDown(Account *account, short val)
Definition: Account.c:1861
GList SplitList
Definition: gnc-engine.h:203
GNCAccountType xaccAccountStringToEnum(const char *str)
Definition: Account.c:4098
gchar * gnc_account_get_full_name(const Account *account)
Definition: Account.c:3038
void xaccAccountSetPlaceholder(Account *account, gboolean val)
Definition: Account.c:3923
gboolean xaccAccountTypesCompatible(GNCAccountType parent_type, GNCAccountType child_type)
Definition: Account.c:4194
gchar * gnc_account_name_violations_errmsg(const gchar *separator, GList *invalid_account_names)
Definition: Account.c:159
gboolean xaccTransactionTraverse(Transaction *trans, int stage)
Definition: Account.c:4862
void xaccAccountSetColor(Account *account, const char *color)
Definition: Account.c:2287
Transaction * xaccAccountFindTransByDesc(const Account *account, const char *description)
Definition: Account.c:4726
void gnc_account_set_balance_dirty(Account *acc)
Definition: Account.c:1703
void gnc_account_foreach_child(const Account *account, AccountCb func, gpointer user_data)
Definition: Account.c:2940
Account * gnc_account_lookup_by_code(const Account *parent, const char *code)
Definition: Account.c:2836
void gnc_account_tree_begin_staged_transaction_traversals(Account *acc)
Definition: Account.c:4889
void dxaccAccountSetPriceSrc(Account *account, const char *src)
Definition: Account.c:4569
void xaccAccountBeginStagedTransactionTraversals(const Account *account)
Definition: Account.c:4851
Implement Accounting Policy.
GNCPlaceholderType xaccAccountGetDescendantPlaceholder(const Account *account)
Definition: Account.c:3935
const char * xaccAccountGetDescription(const Account *account)
Definition: Account.c:3093
void gnc_account_set_start_reconciled_balance(Account *acc, const gnc_numeric start_baln)
Definition: Account.c:3216
const char * dxaccAccountGetQuoteTZ(const Account *account)
Definition: Account.c:4627
GType gnc_account_get_type(void)
void xaccAccountClearReconcilePostpone(Account *account)
Definition: Account.c:4423
const char * xaccAccountGetTaxUSPayerNameSource(const Account *account)
Definition: Account.c:3856
void xaccSplitsBeginStagedTransactionTraversals(SplitList *splits)
Definition: Account.c:4835
GList * gnc_account_get_children_sorted(const Account *account)
Definition: Account.c:2661
LotList * xaccAccountGetLotList(const Account *account)
Definition: Account.c:3744
void xaccAccountRecomputeBalance(Account *)
Definition: Account.c:2058
Account * gnc_account_lookup_by_full_name(const Account *any_account, const gchar *name)
Definition: Account.c:2915
void xaccAccountSetReconcilePostponeDate(Account *account, time64 postpone_date)
Definition: Account.c:4368
const char * xaccAccountGetTaxUSCode(const Account *account)
Definition: Account.c:3833
gboolean xaccAccountIsAPARType(GNCAccountType t)
Definition: Account.c:4225
gboolean xaccAccountStringToType(const char *str, GNCAccountType *type)
Definition: Account.c:4064
void xaccAccountSetReconcilePostponeBalance(Account *account, gnc_numeric balance)
Definition: Account.c:4407
gboolean xaccAccountEqual(const Account *a, const Account *b, gboolean check_guids)
Definition: Account.c:1475
gboolean xaccAccountGetTaxRelated(const Account *account)
Definition: Account.c:3808
void gnc_account_set_start_cleared_balance(Account *acc, const gnc_numeric start_baln)
Definition: Account.c:3203
Account * xaccCloneAccount(const Account *source, QofBook *book)
Definition: Account.c:1114
gnc_numeric xaccAccountGetReconciledBalance(const Account *account)
Definition: Account.c:3243
gint gnc_account_n_children(const Account *account)
Definition: Account.c:2676
void gnc_account_join_children(Account *to_parent, Account *from_parent)
Definition: Account.c:4739
gnc_numeric xaccAccountGetBalanceAsOfDate(Account *account, time64 date)
Definition: Account.c:3288
All type declarations for the whole Gnucash engine.
gnc_numeric xaccAccountGetBalance(const Account *account)
Definition: Account.c:3229
gboolean xaccAccountGetReconcileLastDate(const Account *account, time64 *last_date)
Definition: Account.c:4264
void dxaccAccountSetQuoteTZ(Account *account, const char *tz)
Definition: Account.c:4607
void xaccAccountSetCommoditySCU(Account *account, int frac)
Definition: Account.c:2435
GNCAccountType
Definition: Account.h:96
struct _gnc_numeric gnc_numeric
An rational-number type.
Definition: gnc-numeric.h:68
gnc_commodity * gnc_account_get_currency_or_parent(const Account *account)
Definition: Account.c:3155
gboolean xaccAccountGetHidden(const Account *acc)
Definition: Account.c:3959
gint64 xaccAccountCountSplits(const Account *acc, gboolean include_children)
Definition: Account.c:3725
gboolean gnc_account_insert_split(Account *acc, Split *s)
Definition: Account.c:1720
GList * gnc_account_get_descendants(const Account *account)
Definition: Account.c:2755
void xaccAccountSetTaxUSCode(Account *account, const char *code)
Definition: Account.c:3840
GNCPlaceholderType
Definition: Account.h:1125
guint32 xaccParentAccountTypesCompatibleWith(GNCAccountType type)
Definition: Account.c:4147
gboolean xaccAccountGetReconcileChildrenStatus(const Account *account)
Definition: Account.c:4660
gboolean xaccAccountGetReconcileLastInterval(const Account *account, int *months, int *days)
Definition: Account.c:4300
const char * dxaccAccountGetPriceSrc(const Account *account)
Definition: Account.c:4590
GList * gnc_account_get_children(const Account *account)
Definition: Account.c:2654
Definition: SplitP.h:71
void xaccAccountSetHidden(Account *acc, gboolean val)
Definition: Account.c:3970
void xaccAccountBeginEdit(Account *account)
Definition: Account.c:1280
gboolean xaccAccountHasAncestor(const Account *acc, const Account *ancestor)
Definition: Account.c:4004
gnc_commodity * xaccAccountGetCommodity(const Account *account)
Definition: Account.c:3148
gboolean xaccAccountGetPlaceholder(const Account *account)
Definition: Account.c:3912
gint gnc_account_get_current_depth(const Account *account)
Definition: Account.c:2715
Account * xaccAccountGainsAccount(Account *acc, gnc_commodity *curr)
Definition: Account.c:4537
Account * gnc_account_nth_child(const Account *parent, gint num)
Definition: Account.c:2691
Account * xaccMallocAccount(QofBook *book)
Definition: Account.c:1083
gint gnc_account_child_index(const Account *parent, const Account *child)
Definition: Account.c:2683
void xaccAccountSetAutoInterestXfer(Account *account, gboolean value)
Definition: Account.c:4455
gint64 time64
Definition: gnc-date.h:83
void xaccAccountSetTaxUSPayerNameSource(Account *account, const char *source)
Definition: Account.c:3864
void xaccAccountSetDescription(Account *account, const char *desc)
Definition: Account.c:2268
void DxaccAccountSetCurrency(Account *account, gnc_commodity *currency)
Definition: Account.c:2498
void gnc_account_set_start_balance(Account *acc, const gnc_numeric start_baln)
Definition: Account.c:3191
void xaccAccountSetNonStdSCU(Account *account, gboolean flag)
Definition: Account.c:2471
LotList * xaccAccountFindOpenLots(const Account *acc, gboolean(*match_func)(GNCLot *lot, gpointer user_data), gpointer user_data, GCompareFunc sort_func)
Definition: Account.c:3751
Account * gnc_account_get_root(Account *account)
Definition: Account.c:2630
const char * xaccAccountGetName(const Account *account)
Definition: Account.c:3031
const char * xaccAccountGetTypeStr(GNCAccountType type)
Definition: Account.c:4137
const char * xaccAccountGetSortOrder(const Account *account)
Definition: Account.c:3114
int xaccAccountStagedTransactionTraversal(const Account *a, unsigned int stage, TransactionCallback thunk, void *data)
Definition: Account.c:4899
void xaccAccountCommitEdit(Account *account)
Definition: Account.c:1321
void xaccClearMark(Account *account, short val)
Definition: Account.c:1850
void xaccAccountSetName(Account *account, const char *name)
Definition: Account.c:2229
gboolean xaccAccountGetAutoInterestXfer(const Account *account, gboolean default_value)
Definition: Account.c:4441
GNCPolicy * gnc_account_get_policy(Account *account)
Definition: Account.c:1880
void gnc_account_merge_children(Account *parent)
Definition: Account.c:4764
gboolean xaccAccountIsEquityType(GNCAccountType t)
Definition: Account.c:4237
void xaccAccountSetReconcileChildrenStatus(Account *account, gboolean status)
Definition: Account.c:4643
const gchar * gnc_get_account_separator_string(void)
Definition: Account.c:129
void xaccAccountSetCommodity(Account *account, gnc_commodity *comm)
Definition: Account.c:2389
const char * xaccAccountGetNotes(const Account *account)
Definition: Account.c:3121
gboolean xaccAccountGetReconcilePostponeBalance(const Account *account, gnc_numeric *balance)
Definition: Account.c:4385
gint gnc_account_get_tree_depth(const Account *account)
Definition: Account.c:2734
Account * xaccAccountLookup(const GncGUID *guid, QofBook *book)
Definition: Account.c:1827
void xaccAccountSetTaxUSCopyNumber(Account *account, gint64 copy_number)
Definition: Account.c:3887