36 #ifndef XACC_SCHEDXACTION_H
37 #define XACC_SCHEDXACTION_H
44 #include "Recurrence.h"
48 #define GNC_TYPE_SCHEDXACTION (gnc_schedxaction_get_type ())
49 #define GNC_SCHEDXACTION(o) \
50 (G_TYPE_CHECK_INSTANCE_CAST ((o), GNC_TYPE_SCHEDXACTION, SchedXaction))
51 #define GNC_SCHEDXACTION_CLASS(k) \
52 (G_TYPE_CHECK_CLASS_CAST((k), GNC_TYPE_SCHEDXACTION, SchedXactionClass))
53 #define GNC_IS_SCHEDXACTION(o) \
54 (G_TYPE_CHECK_INSTANCE_TYPE ((o), GNC_TYPE_SCHEDXACTION))
55 #define GNC_IS_SCHEDXACTION_CLASS(k) \
56 (G_TYPE_CHECK_CLASS_TYPE ((k), GNC_TYPE_SCHEDXACTION))
57 #define GNC_SCHEDXACTION_GET_CLASS(o) \
58 (G_TYPE_INSTANCE_GET_CLASS ((o), GNC_TYPE_SCHEDXACTION, SchedXactionClass))
59 GType gnc_schedxaction_get_type(
void);
61 #define GNC_IS_SX(obj) GNC_IS_SCHEDXACTION(obj)
62 #define GNC_SX(obj) GNC_SCHEDXACTION(obj)
101 gint num_occurances_total;
103 gint num_occurances_remain;
109 gboolean autoCreateOption;
110 gboolean autoCreateNotify;
111 gint advanceCreateDays;
112 gint advanceRemindDays;
134 #define xaccSchedXactionSetGUID(X,G) qof_instance_set_guid(QOF_INSTANCE(X),(G))
157 gchar *xaccSchedXactionGetName(
const SchedXaction *sx );
163 const GDate* xaccSchedXactionGetStartDate(
const SchedXaction *sx );
164 void xaccSchedXactionSetStartDate(
SchedXaction *sx,
const GDate* newStart );
166 int xaccSchedXactionHasEndDate(
const SchedXaction *sx );
176 const GDate* xaccSchedXactionGetLastOccurDate(
const SchedXaction *sx );
177 void xaccSchedXactionSetLastOccurDate(
SchedXaction *sx,
const GDate* newLastOccur );
184 gint xaccSchedXactionGetNumOccur(
const SchedXaction *sx );
189 gint xaccSchedXactionGetRemOccur(
const SchedXaction *sx );
190 void xaccSchedXactionSetRemOccur(
SchedXaction *sx, gint numRemain );
212 GList *xaccSchedXactionGetSplits(
const SchedXaction *sx );
213 void xaccSchedXactionSetSplits(
SchedXaction *sx, GList *newSplits );
215 gboolean xaccSchedXactionGetEnabled(
const SchedXaction *sx );
216 void xaccSchedXactionSetEnabled(
SchedXaction *sx, gboolean newEnabled );
218 void xaccSchedXactionGetAutoCreate(
const SchedXaction *sx,
219 gboolean *outAutoCreate,
220 gboolean *outNotify );
222 gboolean newAutoCreate,
223 gboolean newNotify );
225 gint xaccSchedXactionGetAdvanceCreation(
const SchedXaction *sx );
226 void xaccSchedXactionSetAdvanceCreation(
SchedXaction *sx, gint createDays );
228 gint xaccSchedXactionGetAdvanceReminder(
const SchedXaction *sx );
229 void xaccSchedXactionSetAdvanceReminder(
SchedXaction *sx, gint reminderDays );
273 GDate xaccSchedXactionGetInstanceAfter(
const SchedXaction *sx,
307 #define GNC_SX_SHARES "shares"
308 #define GNC_SX_FREQ_SPEC "scheduled-frequency"
309 #define GNC_SX_NAME "sched-xname"
310 #define GNC_SX_START_DATE "sched-start-date"
311 #define GNC_SX_LAST_DATE "sched-last-date"
312 #define GNC_SX_NUM_OCCUR "sx-total-number"
313 #define GNC_SX_REM_OCCUR "sx-remaining-num"
319 #define xaccSchedXactionIsDirty(X) qof_instance_is_dirty (QOF_INSTANCE(X))
321 #define xaccSchedXactionGetGUID(X) qof_entity_get_guid(QOF_INSTANCE(X))
323 #define xaccSchedXactionGetSlots(X) qof_instance_get_slots(QOF_INSTANCE(X))
const GDate * xaccSchedXactionGetEndDate(const SchedXaction *sx)
void gnc_sx_set_schedule(SchedXaction *sx, GList *schedule)
void gnc_sx_set_instance_count(SchedXaction *sx, gint instanceNum)
GList * gnc_sx_get_schedule(const SchedXaction *sx)
void gnc_sx_destroy_temporal_state(SXTmpStateData *stateData)
void xaccSchedXactionSetNumOccur(SchedXaction *sx, gint numNum)
SXTmpStateData * gnc_sx_create_temporal_state(const SchedXaction *sx)
GDate xaccSchedXactionGetNextInstance(const SchedXaction *sx, SXTmpStateData *stateData)
Returns the next occurrence of a scheduled transaction.
gboolean SXRegister(void)
QOF registration.
void gnc_sx_incr_temporal_state(const SchedXaction *sx, SXTmpStateData *stateData)
struct _SXTmpStateData SXTmpStateData
void gnc_sx_add_defer_instance(SchedXaction *sx, void *deferStateData)
Adds an instance to the deferred list of the SX.
gint gnc_sx_get_num_occur_daterange(const SchedXaction *sx, const GDate *start_date, const GDate *end_date)
SXTmpStateData * gnc_sx_clone_temporal_state(SXTmpStateData *stateData)
Allocates and returns a one-by-one copy of the given temporal state.
void xaccSchedXactionSetTemplateTrans(SchedXaction *sx, GList *t_t_list, QofBook *book)
Set the schedxaction's template transaction.
All type declarations for the whole Gnucash engine.
void xaccSchedXactionSetName(SchedXaction *sx, const gchar *newName)
void gnc_sx_remove_defer_instance(SchedXaction *sx, void *deferStateData)
Removes an instance from the deferred list.
SchedXaction * xaccSchedXactionMalloc(QofBook *book)
gboolean xaccSchedXactionHasOccurDef(const SchedXaction *sx)
void xaccSchedXactionSetEndDate(SchedXaction *sx, const GDate *newEnd)
void xaccSchedXactionDestroy(SchedXaction *sx)
GList * gnc_sx_get_defer_instances(SchedXaction *sx)
Returns the defer list from the SX.
gint gnc_sx_get_instance_count(const SchedXaction *sx, SXTmpStateData *stateData)
Get the instance count.