diff options
-rw-r--r-- | src/pop-transaction.c | 34 |
1 files changed, 31 insertions, 3 deletions
diff --git a/src/pop-transaction.c b/src/pop-transaction.c index c8891be..65dfeae 100644 --- a/src/pop-transaction.c +++ b/src/pop-transaction.c @@ -90,12 +90,40 @@ static void pop_transaction_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec); -static void pop_transaction_fail (PopTransaction *transaction); +static void pop_transaction_set_status (PopTransaction *transaction, + PopTransactionStatus status); +static PopAction *pop_action_new (PopActionProcessFunc action_process_func, + PopActionRollbackFunc action_rollback_func, + gpointer user_data, + GDestroyNotify free_func); +static void pop_action_free (PopAction *action); +static PopActionProcessStatus +pop_transaction_process_subtransaction (PopTransaction *transaction, + PopTransaction *subtransaction); +static PopActionRollbackStatus +pop_transaction_rollback_subtransaction (PopTransaction *transaction, + PopTransaction *subtransaction); +static gboolean pop_transaction_is_in_action (PopTransaction *transaction); +static gboolean pop_transaction_on_fd_ready_resume (GIOChannel *channel, + GIOCondition condition, + gpointer data); +static gboolean pop_transaction_on_timeout_resume (gpointer data); +static guint pop_transaction_call_on_idle (PopTransaction *transaction, + PopTransactionIdleFunc callback); +static gboolean pop_transaction_is_at_first_action (PopTransaction *transaction); +static gboolean pop_transaction_rewind (PopTransaction *transaction); +static gboolean pop_transaction_seek_forward (PopTransaction *transaction); +static void pop_transaction_finish (PopTransaction *transaction); +static gboolean pop_transaction_run_action_and_seek_forward (PopTransaction *transaction); static void pop_transaction_process_on_idle (PopTransaction *transaction); +static gboolean pop_transaction_rollback_action_and_rewind (PopTransaction *transaction); static void pop_transaction_rollback_on_idle (PopTransaction *transaction); -static gboolean pop_transaction_rewind (PopTransaction *transaction); -static void pop_action_free (PopAction *action); +static void pop_transaction_rollback_and_finish (PopTransaction *transaction); +static void pop_transaction_fail (PopTransaction *transaction); +static gboolean pop_transaction_is_attached (PopTransaction *transaction); +static gboolean pop_transaction_is_empty (PopTransaction *transaction); static gboolean pop_transaction_is_committed (PopTransaction *transaction); +static gboolean pop_transaction_is_finished (PopTransaction *transaction); enum { |