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 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) 153 void xaccFreeSplit (Split *split);
155 Split *xaccSplitCloneNoKvp (
const Split *s);
156 void xaccSplitCopyKvp (
const Split *from, Split *to);
158 Split *xaccDupeSplit (
const Split *s);
159 void mark_split (Split *s);
161 void xaccSplitVoid(Split *split);
162 void xaccSplitUnvoid(Split *split);
163 void xaccSplitCommitEdit(Split *s);
164 void xaccSplitRollbackEdit(Split *s);
168 gnc_numeric xaccSplitsComputeValue (GList *splits,
const Split * skip_me,
169 const gnc_commodity * base_currency);
172 gboolean xaccSplitRegister (
void);
180 void xaccSplitDetermineGainStatus (Split *split);
184 void DxaccSplitSetSharePriceAndAmount (Split *split,
187 void 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...