45 #ifndef XACC_SPLIT_P_H 46 #define XACC_SPLIT_P_H 64 #define GAINS_STATUS_UNKNOWN 0xff 65 #define GAINS_STATUS_CLEAN 0x0 66 #define GAINS_STATUS_GAINS 0x3 67 #define GAINS_STATUS_DATE_DIRTY 0x10 68 #define GAINS_STATUS_AMNT_DIRTY 0x20 69 #define GAINS_STATUS_VALU_DIRTY 0x40 70 #define GAINS_STATUS_LOT_DIRTY 0x80 71 #define GAINS_STATUS_ADIRTY (GAINS_STATUS_AMNT_DIRTY|GAINS_STATUS_LOT_DIRTY) 72 #define GAINS_STATUS_VDIRTY (GAINS_STATUS_VALU_DIRTY) 73 #define GAINS_STATUS_A_VDIRTY (GAINS_STATUS_AMNT_DIRTY|GAINS_STATUS_VALU_DIRTY|GAINS_STATUS_LOT_DIRTY) 84 Transaction *orig_parent;
122 const gchar * split_type;
132 gnc_numeric noclosing_balance;
133 gnc_numeric cleared_balance;
134 gnc_numeric reconciled_balance;
139 QofInstanceClass parent_class;
146 #define xaccSplitSetGUID(s,g) qof_instance_set_guid(QOF_INSTANCE(s),g) 154 void xaccFreeSplit (Split *split);
156 Split *xaccSplitCloneNoKvp (
const Split *s);
157 void xaccSplitCopyKvp (
const Split *from, Split *to);
159 Split *xaccDupeSplit (
const Split *s);
160 void mark_split (Split *s);
162 void xaccSplitVoid(Split *split);
163 void xaccSplitUnvoid(Split *split);
164 void xaccSplitCommitEdit(Split *s);
165 void xaccSplitRollbackEdit(Split *s);
169 gnc_numeric xaccSplitsComputeValue (GList *splits,
const Split * skip_me,
170 const gnc_commodity * base_currency);
173 gboolean xaccSplitRegister (
void);
181 void xaccSplitDetermineGainStatus (Split *split);
185 void DxaccSplitSetSharePriceAndAmount (Split *split,
188 void DxaccSplitSetShareAmount (Split *split,
double amount);
212 #define CHECK_GAINS_STATUS(s) \ 213 if (GAINS_STATUS_UNKNOWN == s->gains) xaccSplitDetermineGainStatus(s); 215 #define SET_GAINS_DIRTY(s,flg) do { \ 216 if (FALSE == (GAINS_STATUS_GAINS & s->gains)) { \ 219 if (s->gains_split) s->gains_split->gains |= flg; \ 223 #define SET_GAINS_ADIRTY(s) SET_GAINS_DIRTY(s,GAINS_STATUS_ADIRTY); 224 #define SET_GAINS_A_VDIRTY(s) SET_GAINS_DIRTY(s,GAINS_STATUS_A_VDIRTY); 225 #define SET_GAINS_VDIRTY(s) SET_GAINS_DIRTY(s,GAINS_STATUS_VDIRTY); 230 gboolean (*xaccSplitEqualCheckBal) (
const char *tag, gnc_numeric a,
232 int (*get_currency_denom) (
const Split *s);
233 int (*get_commodity_denom) (
const Split *s);
234 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...