r19443 - gnucash/trunk/src/import-export/aqbanking - Check for upgrading an older aqbanking configuration to its current version.

Christian Stimming cstim at code.gnucash.org
Tue Aug 17 16:16:18 EDT 2010


Author: cstim
Date: 2010-08-17 16:16:18 -0400 (Tue, 17 Aug 2010)
New Revision: 19443
Trac: http://svn.gnucash.org/trac/changeset/19443

Modified:
   gnucash/trunk/src/import-export/aqbanking/gnc-ab-utils.c
Log:
Check for upgrading an older aqbanking configuration to its current version.

This way, an older configuration is now updated automatically.

Patch by Bill Nottingham, confirmed by Martin Preuss, adapted to aqbanking5 by myself.

Modified: gnucash/trunk/src/import-export/aqbanking/gnc-ab-utils.c
===================================================================
--- gnucash/trunk/src/import-export/aqbanking/gnc-ab-utils.c	2010-08-17 19:52:24 UTC (rev 19442)
+++ gnucash/trunk/src/import-export/aqbanking/gnc-ab-utils.c	2010-08-17 20:16:18 UTC (rev 19443)
@@ -134,6 +134,49 @@
         api = AB_Banking_new("gnucash", NULL, 0);
         g_return_val_if_fail(api, NULL);
 
+#ifdef AQBANKING_VERSION_4_PLUS
+        /* Check for config migration */
+        if (AB_Banking_HasConf4(api
+# ifndef AQBANKING_VERSION_5_PLUS
+                                , 0
+# endif
+                ) != 0)
+        {
+            if (AB_Banking_HasConf3(api
+# ifndef AQBANKING_VERSION_5_PLUS
+                                    , 0
+# endif
+                    ) == 0)
+            {
+                g_message("gnc_AB_BANKING_new: importing aqbanking3 configuration\n");
+                if (AB_Banking_ImportConf3(api
+# ifndef AQBANKING_VERSION_5_PLUS
+                                           , 0
+# endif
+                        ) < 0)
+                {
+                    g_message("gnc_AB_BANKING_new: unable to import aqbanking3 configuration\n");
+                }
+            }
+            else if (AB_Banking_HasConf2(api
+# ifndef AQBANKING_VERSION_5_PLUS
+                                         , 0
+# endif
+                         ) == 0)
+            {
+                g_message("gnc_AB_BANKING_new: importing aqbanking2 configuration\n");
+                if (AB_Banking_ImportConf2(api
+# ifndef AQBANKING_VERSION_5_PLUS
+                                           , 0
+# endif
+                        ) < 0)
+                {
+                    g_message("gnc_AB_BANKING_new: unable to import aqbanking2 configuration\n");
+                }
+            }
+        } 
+#endif /* AQBANKING_VERSION_4_PLUS */        
+        
         /* Init the API */
         g_return_val_if_fail(AB_Banking_Init(api) == 0, NULL);
 



More information about the gnucash-changes mailing list