34 #include <glib/gi18n.h> 35 #include <aqbanking/banking.h> 36 # include <aqbanking/types/transaction.h> 44 G_GNUC_UNUSED
static QofLogModule log_module =
G_LOG_DOMAIN;
50 GNC_AB_ACCOUNT_SPEC *ab_acc;
51 GNC_AB_JOB *job = NULL;
52 GNC_AB_JOB_LIST2 *job_list = NULL;
53 GncGWENGui *gui = NULL;
54 AB_IMEXPORTER_CONTEXT *context = NULL;
55 GncABImExContextImport *ieci = NULL;
56 GNC_AB_JOB_STATUS job_status;
58 g_return_if_fail(parent && gnc_acc);
64 g_warning(
"gnc_ab_gettrans: Couldn't get AqBanking API");
72 g_warning(
"gnc_ab_getbalance: No AqBanking account found");
73 gnc_error_dialog (GTK_WINDOW (parent), _(
"No valid online banking account assigned."));
78 if (!AB_AccountSpec_GetTransactionLimitsForCommand(ab_acc, AB_Transaction_CommandGetBalance))
80 g_warning(
"gnc_ab_getbalance: JobGetBalance not available for this " 82 gnc_error_dialog (GTK_WINDOW (parent), _(
"Online action \"Get Balance\" not available for this account."));
85 job = AB_Transaction_new();
86 AB_Transaction_SetCommand(job, AB_Transaction_CommandGetBalance);
87 AB_Transaction_SetUniqueAccountId(job, AB_AccountSpec_GetUniqueId(ab_acc));
89 job_list = AB_Transaction_List2_new();
90 AB_Transaction_List2_PushBack(job_list, job);
95 g_warning(
"gnc_ab_getbalance: Couldn't initialize Gwenhywfar GUI");
100 context = AB_ImExporterContext_new();
103 AB_Banking_SendCommands(api, job_list, context);
109 job_status = AB_Transaction_GetStatus(job);
110 if (job_status != AB_Transaction_StatusEnqueued
111 && job_status != AB_Transaction_StatusPending
112 && job_status != AB_Transaction_StatusAccepted)
114 g_warning(
"gnc_ab_getbalance: Error on executing job: %d", job_status);
115 gnc_error_dialog (GTK_WINDOW (parent),
116 _(
"Error on executing job.\n\nStatus: %s"),
117 AB_Transaction_Status_toString(job_status));
128 AB_ImExporterContext_free(context);
132 AB_Transaction_List2_free(job_list);
134 AB_Transaction_free(job);
#define G_LOG_DOMAIN
Functions providing the SX List as a plugin page.
GncGWENGui * gnc_GWEN_Gui_get(GtkWidget *parent)
When called for the first time, create a unique GncGWENGui object featuring a GWEN_GUI with all neces...
AqBanking getbalance functions.
void gnc_GWEN_Gui_release(GncGWENGui *gui)
Currently a no-op.
AB_BANKING * gnc_AB_BANKING_new(void)
If there is a cached AB_BANKING object, return it initialized.
gint gnc_AB_BANKING_fini(AB_BANKING *api)
Finish the AB_BANKING api.
GncABImExContextImport * gnc_ab_import_context(AB_IMEXPORTER_CONTEXT *context, guint awaiting, gboolean execute_txns, AB_BANKING *api, GtkWidget *parent)
Import balances and transactions found in a AB_IMEXPORTER_CONTEXT into GnuCash.
GNC_AB_ACCOUNT_SPEC * gnc_ab_get_ab_account(const AB_BANKING *api, Account *gnc_acc)
Get the corresponding AqBanking account to the GnuCash account gnc_acc.
void gnc_ab_getbalance(GtkWidget *parent, Account *gnc_acc)
Execute a GetBalance job, show the resulting balance and offer to reconcile the GnuCash account...
GUI callbacks for AqBanking.
AqBanking utility functions.