60#define GAINS_STATUS_UNKNOWN 0xff
61#define GAINS_STATUS_CLEAN 0x0
62#define GAINS_STATUS_GAINS 0x3
63#define GAINS_STATUS_DATE_DIRTY 0x10
64#define GAINS_STATUS_AMNT_DIRTY 0x20
65#define GAINS_STATUS_VALU_DIRTY 0x40
66#define GAINS_STATUS_LOT_DIRTY 0x80
67#define GAINS_STATUS_ADIRTY (GAINS_STATUS_AMNT_DIRTY|GAINS_STATUS_LOT_DIRTY)
68#define GAINS_STATUS_VDIRTY (GAINS_STATUS_VALU_DIRTY)
69#define GAINS_STATUS_A_VDIRTY (GAINS_STATUS_AMNT_DIRTY|GAINS_STATUS_VALU_DIRTY|GAINS_STATUS_LOT_DIRTY)
80 Transaction *orig_parent;
118 const char *split_type;
128 gnc_numeric noclosing_balance;
129 gnc_numeric cleared_balance;
130 gnc_numeric reconciled_balance;
133 gnc_numeric adjusted_amount;
138 QofInstanceClass parent_class;
145#define xaccSplitSetGUID(s,g) qof_instance_set_guid(QOF_INSTANCE(s),g)
153void xaccFreeSplit (Split *split);
155Split *xaccSplitCloneNoKvp (
const Split *s);
156void xaccSplitCopyKvp (
const Split *from, Split *to);
158Split *xaccDupeSplit (
const Split *s);
159void mark_split (Split *s);
161void xaccSplitVoid(Split *split);
162void xaccSplitUnvoid(Split *split);
163void xaccSplitCommitEdit(Split *s);
164void xaccSplitRollbackEdit(Split *s);
168gnc_numeric xaccSplitsComputeValue (GList *splits,
const Split * skip_me,
169 const gnc_commodity * base_currency);
172gboolean xaccSplitRegister (
void);
180void xaccSplitDetermineGainStatus (Split *split);
184void DxaccSplitSetSharePriceAndAmount (Split *split,
187void DxaccSplitSetShareAmount (Split *split,
double amount);
211#define CHECK_GAINS_STATUS(s) \
212 if (GAINS_STATUS_UNKNOWN == s->gains) xaccSplitDetermineGainStatus(s);
214#define SET_GAINS_DIRTY(s,flg) do { \
215 if (FALSE == (GAINS_STATUS_GAINS & s->gains)) { \
218 if (s->gains_split) s->gains_split->gains |= flg; \
222#define SET_GAINS_ADIRTY(s) SET_GAINS_DIRTY(s,GAINS_STATUS_ADIRTY);
223#define SET_GAINS_A_VDIRTY(s) SET_GAINS_DIRTY(s,GAINS_STATUS_A_VDIRTY);
224#define SET_GAINS_VDIRTY(s) SET_GAINS_DIRTY(s,GAINS_STATUS_VDIRTY);
229 gboolean (*xaccSplitEqualCheckBal) (
const char *tag, gnc_numeric a,
231 int (*get_currency_denom) (
const Split *s);
232 int (*get_commodity_denom) (
const Split *s);
233 gboolean (*get_corr_account_split) (
const Split *sa,
const Split **retval);
All type declarations for the whole Gnucash engine.
gint64 time64
Most systems that are currently maintained, including Microsoft Windows, BSD-derived Unixes and Linux...