45 #ifndef XACC_SPLIT_P_H 46 #define XACC_SPLIT_P_H 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 gchar * split_type;
128 gnc_numeric noclosing_balance;
129 gnc_numeric cleared_balance;
130 gnc_numeric reconciled_balance;
135 QofInstanceClass parent_class;
142 #define xaccSplitSetGUID(s,g) qof_instance_set_guid(QOF_INSTANCE(s),g) 150 void xaccFreeSplit (Split *split);
152 Split *xaccSplitCloneNoKvp (
const Split *s);
153 void xaccSplitCopyKvp (
const Split *from, Split *to);
155 Split *xaccDupeSplit (
const Split *s);
156 void mark_split (Split *s);
158 void xaccSplitVoid(Split *split);
159 void xaccSplitUnvoid(Split *split);
160 void xaccSplitCommitEdit(Split *s);
161 void xaccSplitRollbackEdit(Split *s);
165 gnc_numeric xaccSplitsComputeValue (GList *splits,
const Split * skip_me,
166 const gnc_commodity * base_currency);
169 gboolean xaccSplitRegister (
void);
177 void xaccSplitDetermineGainStatus (Split *split);
181 void DxaccSplitSetSharePriceAndAmount (Split *split,
184 void DxaccSplitSetShareAmount (Split *split,
double amount);
208 #define CHECK_GAINS_STATUS(s) \ 209 if (GAINS_STATUS_UNKNOWN == s->gains) xaccSplitDetermineGainStatus(s); 211 #define SET_GAINS_DIRTY(s,flg) do { \ 212 if (FALSE == (GAINS_STATUS_GAINS & s->gains)) { \ 215 if (s->gains_split) s->gains_split->gains |= flg; \ 219 #define SET_GAINS_ADIRTY(s) SET_GAINS_DIRTY(s,GAINS_STATUS_ADIRTY); 220 #define SET_GAINS_A_VDIRTY(s) SET_GAINS_DIRTY(s,GAINS_STATUS_A_VDIRTY); 221 #define SET_GAINS_VDIRTY(s) SET_GAINS_DIRTY(s,GAINS_STATUS_VDIRTY); 226 gboolean (*xaccSplitEqualCheckBal) (
const char *tag, gnc_numeric a,
228 int (*get_currency_denom) (
const Split *s);
229 int (*get_commodity_denom) (
const Split *s);
230 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...