gnucash maint: Get aqbanking code to compile again with current aqbanking's git master version.

Christian Stimming cstim at code.gnucash.org
Sun Jun 30 10:10:16 EDT 2019


Updated	 via  https://github.com/Gnucash/gnucash/commit/98959f86 (commit)
	from  https://github.com/Gnucash/gnucash/commit/d42695e7 (commit)



commit 98959f86d98952be65e7423dd868cab9355bd9ef
Author: Christian Stimming <christian at cstimming.de>
Date:   Sun Jun 30 16:09:34 2019 +0200

    Get aqbanking code to compile again with current aqbanking's git master version.
    
    Not yet tested, though, only successfully compile and link.

diff --git a/gnucash/import-export/aqb/assistant-ab-initial.c b/gnucash/import-export/aqb/assistant-ab-initial.c
index e40832614..133e3a70d 100644
--- a/gnucash/import-export/aqb/assistant-ab-initial.c
+++ b/gnucash/import-export/aqb/assistant-ab-initial.c
@@ -352,10 +352,10 @@ banking_has_accounts(AB_BANKING *banking)
 
 #ifdef AQBANKING6
     if (AB_Banking_GetAccountSpecList (banking, &accl) >= 0 &&
-        accl && AV_AccountSpec_List_GetCount (accl))
+        accl && AB_AccountSpec_List_GetCount (accl))
         result = TRUE;
     if (accl)
-        AB_AccountSpec_List_Free (accl);
+        AB_AccountSpec_List_free (accl);
 #else
     AB_Banking_OnlineInit(banking);
 
@@ -394,7 +394,7 @@ ab_account_longname(const GNC_AB_ACCOUNT_SPEC *ab_acc)
 
 #ifdef AQBANKING6
     bankcode = AB_AccountSpec_GetBankCode(ab_acc);
-    subAccountId = AB_AccountSpec_GetSubAccountId(ab_acc);
+    subAccountId = AB_AccountSpec_GetSubAccountNumber(ab_acc);
     account_number = AB_AccountSpec_GetAccountNumber (ab_acc);
 #else
     ab_bankname = AB_Account_GetBankName(ab_acc);
diff --git a/gnucash/import-export/aqb/dialog-ab-trans.c b/gnucash/import-export/aqb/dialog-ab-trans.c
index ef12efb3e..d3c0e54da 100644
--- a/gnucash/import-export/aqb/dialog-ab-trans.c
+++ b/gnucash/import-export/aqb/dialog-ab-trans.c
@@ -32,20 +32,21 @@
 #include <config.h>
 
 #include <glib/gi18n.h>
-#include <aqbanking/jobsingletransfer.h>
-#include <aqbanking/jobsingledebitnote.h>
-#include <aqbanking/jobinternaltransfer.h>
-#include <aqbanking/jobsepatransfer.h>
-#include <aqbanking/jobsepadebitnote.h>
+#include "gnc-ab-utils.h" /* for AQBANKING6 */
 #ifdef AQBANKING6
 # include <aqbanking/types/transaction.h>
+#else
+# include <aqbanking/jobsingletransfer.h>
+# include <aqbanking/jobsingledebitnote.h>
+# include <aqbanking/jobinternaltransfer.h>
+# include <aqbanking/jobsepatransfer.h>
+# include <aqbanking/jobsepadebitnote.h>
 #endif
 
 #include <gnc-aqbanking-templates.h>
 #include "dialog-ab-trans.h"
 #include "dialog-transfer.h"
 #include "dialog-utils.h"
-#include "gnc-ab-utils.h"
 #include "gnc-amount-edit.h"
 #include "gnc-ui.h"
 
@@ -185,7 +186,7 @@ gnc_ab_trans_dialog_fill_values(GncABTransDialog *td)
     AB_TRANSACTION *trans = AB_Transaction_new();
     AB_VALUE *value;
 
-#ifdef AQBNKING6
+#ifdef AQBANKING6
     AB_Banking_FillTransactionFromAccountSpec(trans, td->ab_acc);
 #else
     AB_Transaction_FillLocalFromAccount(trans, td->ab_acc);
@@ -428,8 +429,8 @@ gnc_ab_trans_dialog_new(GtkWidget *parent, GNC_AB_ACCOUNT_SPEC *ab_acc,
     {
         gtk_widget_set_sensitive(GTK_WIDGET(td->orig_name_entry), TRUE);
 #if AQBANKING6
-        ab_accountnumber = AB_AccountSpec_GetIBAN(ab_acc);
-        ab_bankcode = AB_AccountSpec_GetBIC(ab_acc);
+        ab_accountnumber = AB_AccountSpec_GetIban(ab_acc);
+        ab_bankcode = AB_AccountSpec_GetBic(ab_acc);
 #else
         ab_accountnumber = AB_Account_GetIBAN(ab_acc);
         ab_bankcode = AB_Account_GetBIC(ab_acc);
@@ -813,7 +814,7 @@ gnc_ab_trans_dialog_get_available_empty_job(GNC_AB_ACCOUNT_SPEC *ab_acc, GncABTr
 
      switch (trans_type)
      {
-     case SINGLE_DEBITNOTE:
+     case SINGLE_DEBITNOTE: /* no longer in use */
          cmd=AB_Transaction_CommandDebitNote;
          break;
      case SINGLE_INTERNAL_TRANSFER:
@@ -825,9 +826,8 @@ gnc_ab_trans_dialog_get_available_empty_job(GNC_AB_ACCOUNT_SPEC *ab_acc, GncABTr
      case SEPA_DEBITNOTE:
          cmd=AB_Transaction_CommandSepaDebitNote;
          break;
-     case SEPA_TRANSFER:
      default:
-        cmd=AB_Transaction_CommandTransfer;
+        cmd=AB_Transaction_CommandTransfer; /* no longer in use */
          break;
      };
      if (!AB_AccountSpec_GetTransactionLimitsForCommand(ab_acc, cmd))
diff --git a/gnucash/import-export/aqb/gnc-ab-getbalance.c b/gnucash/import-export/aqb/gnc-ab-getbalance.c
index 03164c57f..dc0394a2b 100644
--- a/gnucash/import-export/aqb/gnc-ab-getbalance.c
+++ b/gnucash/import-export/aqb/gnc-ab-getbalance.c
@@ -134,13 +134,17 @@ gnc_ab_getbalance(GtkWidget *parent, Account *gnc_acc)
      * https://lists.gnucash.org/pipermail/gnucash-de/2008-September/006389.html
      */
 #ifdef AQBANKING6
+    job_status = AB_Transaction_GetStatus(job);
+    if (job_status != AB_Transaction_StatusEnqueued
+            && job_status != AB_Transaction_StatusPending
+            && job_status != AB_Transaction_StatusAccepted)
 #else
     job_status = AB_Job_GetStatus(job);
     if (job_status != AB_Job_StatusFinished
             && job_status != AB_Job_StatusPending)
 #endif
     {
-        g_warning("gnc_ab_getbalance: Error on executing job");
+        g_warning("gnc_ab_getbalance: Error on executing job: %d", job_status);
 #ifdef AQBANKING6
         gnc_error_dialog (GTK_WINDOW (parent),
                           _("Error on executing job.\n\nStatus: %s"),
diff --git a/gnucash/import-export/aqb/gnc-ab-utils.c b/gnucash/import-export/aqb/gnc-ab-utils.c
index ad6cba201..cec2a5766 100644
--- a/gnucash/import-export/aqb/gnc-ab-utils.c
+++ b/gnucash/import-export/aqb/gnc-ab-utils.c
@@ -50,7 +50,11 @@
 #include "import-utilities.h"
 #include "qof.h"
 #include "engine-helpers.h"
-#include <aqbanking/abgui.h>
+#ifdef AQBANKING6
+# include <aqbanking/gui/abgui.h>
+#else
+# include <aqbanking/abgui.h>
+#endif
 
 /* This static indicates the debugging module that this .o belongs to.  */
 G_GNUC_UNUSED static QofLogModule log_module = G_LOG_DOMAIN;
@@ -155,6 +159,7 @@ gnc_AB_BANKING_new(void)
         api = AB_Banking_new("gnucash", NULL, 0);
         g_return_val_if_fail(api, NULL);
 
+#ifndef AQBANKING6
         /* Check for config migration */
         if (AB_Banking_HasConf4(api) != 0)
         {
@@ -175,6 +180,7 @@ gnc_AB_BANKING_new(void)
                 }
             }
         }
+#endif
 
         /* Init the API */
         g_return_val_if_fail(AB_Banking_Init(api) == 0, NULL);
@@ -332,7 +338,10 @@ join_ab_strings_cb(const gchar *str, gpointer user_data)
 gchar *
 gnc_ab_get_remote_name(const AB_TRANSACTION *ab_trans)
 {
-#ifndef AQBANKING6
+#ifdef AQBANKING6
+    const char* ab_remote_name;
+    const char* ab_transactionText;
+#else
     const GWEN_STRINGLIST *ab_remote_name;
 #endif
     gchar *gnc_other_name = NULL;
@@ -368,7 +377,11 @@ gnc_ab_get_remote_name(const AB_TRANSACTION *ab_trans)
 gchar *
 gnc_ab_get_purpose(const AB_TRANSACTION *ab_trans, gboolean is_ofx)
 {
+#ifdef AQBANKING6
+    const char* ab_purpose;
+#else
     const GWEN_STRINGLIST *ab_purpose;
+#endif
     const char *ab_transactionText = NULL;
     gchar *gnc_description = NULL;
 
@@ -385,12 +398,16 @@ gnc_ab_get_purpose(const AB_TRANSACTION *ab_trans, gboolean is_ofx)
     }
 
     ab_purpose = AB_Transaction_GetPurpose(ab_trans);
+#ifdef AQBANKING6
+    gnc_description = g_strdup(ab_purpose ? ab_purpose : "");
+#else
     if (ab_purpose)
         GWEN_StringList_ForEach(ab_purpose, join_ab_strings_cb,
                                 &gnc_description);
 
     if (!gnc_description)
         gnc_description = g_strdup("");
+#endif
 
     return gnc_description;
 }
@@ -717,7 +734,9 @@ txn_transaction_cb(const AB_TRANSACTION *element, gpointer user_data)
             /* trans_type = SINGLE_INTERNAL_TRANSFER;
              * break; */
         case AB_Transaction_TypeTransfer:
+#ifndef AQBANKING6
         case AB_Transaction_TypeEuTransfer:
+#endif
         default:
             trans_type = SEPA_TRANSFER;
             break;
@@ -754,7 +773,7 @@ txn_transaction_cb(const AB_TRANSACTION *element, gpointer user_data)
             gnc_gen_trans_list_add_trans_with_ref_id(data->generic_importer,
                                                      gnc_trans,
 #ifdef AQBANKING6
-                                                     AB_Transaction_GetUniqueId));
+                                                     AB_Transaction_GetUniqueId(job));
 #else
                                                      AB_Job_GetJobId(job));
 #endif
@@ -899,11 +918,13 @@ txn_accountinfo_cb(AB_IMEXPORTER_ACCOUNTINFO *element, gpointer user_data)
 
     /* Iterate through all transactions */
 #ifdef AQBANKING6
-   ab_trans_list = AB_ImExporterAccountInfo_GetTransactionList(element);
-   if (ab_trans_list)
-       AB_Transaction_List_ForEachByType(ab_trans_list,
-                                         txn_transaction_cb, data,
-                                         AB_Transaction_TypeStatement, 0);
+    {
+        AB_TRANSACTION_LIST *ab_trans_list = AB_ImExporterAccountInfo_GetTransactionList(element);
+        if (ab_trans_list)
+            AB_Transaction_List_ForEachByType(ab_trans_list,
+                                              txn_transaction_cb, data,
+                                              AB_Transaction_TypeStatement, 0);
+    }
 #else
     AB_ImExporterAccountInfo_TransactionsForEach(element, txn_transaction_cb,
                                                  data);
@@ -916,8 +937,6 @@ bal_accountinfo_cb(AB_IMEXPORTER_ACCOUNTINFO *element, gpointer user_data)
 {
     GncABImExContextImport *data = user_data;
     Account *gnc_acc;
-    AB_ACCOUNT_STATUS *item, *best = NULL;
-    const GWEN_TIME *best_time = NULL;
     const AB_BALANCE *booked_bal, *noted_bal;
     const AB_VALUE *booked_val = NULL, *noted_val = NULL;
     gdouble booked_value, noted_value;
@@ -947,6 +966,9 @@ bal_accountinfo_cb(AB_IMEXPORTER_ACCOUNTINFO *element, gpointer user_data)
     booked_bal=AB_Balance_List_GetLatestByType(AB_ImExporterAccountInfo_GetBalanceList(element),
                                                AB_Balance_TypeBooked);
 #else
+    {
+    AB_ACCOUNT_STATUS *item, *best = NULL;
+    const GWEN_TIME *best_time = NULL;
     /* Lookup the most recent ACCOUNT_STATUS available */
     item = AB_ImExporterAccountInfo_GetFirstAccountStatus(element);
     while (item)
@@ -961,6 +983,7 @@ bal_accountinfo_cb(AB_IMEXPORTER_ACCOUNTINFO *element, gpointer user_data)
     }
 
     booked_bal = AB_AccountStatus_GetBookedBalance(best);
+    }
 #endif
 
     if (!(data->awaiting & AWAIT_BALANCES))
@@ -993,11 +1016,15 @@ bal_accountinfo_cb(AB_IMEXPORTER_ACCOUNTINFO *element, gpointer user_data)
     /* Lookup booked balance and time */
     if (booked_bal)
     {
+#ifdef AQBANKING6
+        const GWEN_DATE *ti = AB_Balance_GetDate(booked_bal);
+#else
         const GNC_GWEN_DATE *ti = AB_Balance_GetTime(booked_bal);
+#endif
         if (ti)
         {
 #ifdef AQBANKING6
-            time64 secs = GWEN_Date_toLocalTime_t(dt);
+            time64 secs = GWEN_Date_toLocalTime(ti);
 #else
             time64 secs = GWEN_Time_toTime_t(ti);
 #endif
diff --git a/gnucash/import-export/aqb/gnc-file-aqb-import.c b/gnucash/import-export/aqb/gnc-file-aqb-import.c
index 2a247bd22..cda6befe3 100644
--- a/gnucash/import-export/aqb/gnc-file-aqb-import.c
+++ b/gnucash/import-export/aqb/gnc-file-aqb-import.c
@@ -73,7 +73,9 @@ gnc_file_aqbanking_import(GtkWindow *parent,
     AB_BANKING *api = NULL;
     gboolean online = FALSE;
     GncGWENGui *gui = NULL;
+#ifndef AQBANKING6
     AB_IMEXPORTER *importer;
+#endif
     GWEN_DB_NODE *db_profiles = NULL;
     GWEN_DB_NODE *db_profile;
     AB_IMEXPORTER_CONTEXT *context = NULL;
@@ -266,13 +268,17 @@ gnc_file_aqbanking_import(GtkWindow *parent,
 #endif
             if (jit)
             {
+#ifdef AQBANKING6
+                job = AB_Transaction_List2Iterator_Data(jit);
+#else
                 job = AB_Job_List2Iterator_Data(jit);
+#endif
                 while (job)
                 {
                     num_jobs += 1;
 #ifdef AQBANKING6
                     job_status = AB_Transaction_GetStatus(job);
-                    if (job_status != AB_Transaction_StatusFinished &&
+                    if (job_status != AB_Transaction_StatusAccepted &&
                         job_status != AB_Transaction_StatusPending)
 #else
                     job_status = AB_Job_GetStatus(job);
@@ -319,7 +325,7 @@ gnc_file_aqbanking_import(GtkWindow *parent,
 #endif
                 } /* while */
 #ifdef AQBANKING6
-                AB_Job_List2Iterator_free(jit);
+                AB_Transaction_List2Iterator_free(jit);
 #else
                 AB_Job_List2Iterator_free(jit);
 #endif
@@ -359,7 +365,7 @@ gnc_file_aqbanking_import(GtkWindow *parent,
 cleanup:
     if (job_list)
 #ifdef AQBANKING6
-        AB_Transaction_List2_FreeAll(job_list);
+        AB_Transaction_List2_freeAll(job_list);
 #else
         AB_Job_List2_FreeAll(job_list);
     if (io)



Summary of changes:
 gnucash/import-export/aqb/assistant-ab-initial.c |  6 +--
 gnucash/import-export/aqb/dialog-ab-trans.c      | 24 ++++++------
 gnucash/import-export/aqb/gnc-ab-getbalance.c    |  6 ++-
 gnucash/import-export/aqb/gnc-ab-utils.c         | 49 ++++++++++++++++++------
 gnucash/import-export/aqb/gnc-file-aqb-import.c  | 12 ++++--
 5 files changed, 67 insertions(+), 30 deletions(-)



More information about the gnucash-changes mailing list