Moin Martin,
die Kopie an Gnucash-de hab ich jetzt mal weg gelassen: Das hat jetzt
doch zu wenig mit Gnucash zu tun... :-)
Martin Preuss schrieb:
> On Mittwoch, 18. Juni 2008, Micha Lenk wrote:
>> Ein Ansatz wäre, dass AqBanking, wenn es keine konfigurierten Accounts
>> findet, über die Gwen-GUI anbietet, die alte Konfiguration einzulesen
>> und als neue Konfiguration zu speichern. Nur mal so als Idee...
>> Was hältst du von dieser Idee?
>
> Wie gesagt, ich finde immer noch nicht, dass so etwas in die Bibliothek
> gehoert. Eine Anwendung koennte soetwas einbauen, aber die Bibliothek sollte
> das nicht tun. [...]
Okay, akzeptiert. Allerdings sehe ich es genauso als Aufgabe der
AqBanking-Bibliothek, die (veraltete) Konfiguration zu parsen. Insofern
wäre es sehr geschickt, wenn AqBanking zumindest etwas mehr
Unterstützung anbietet, die Konfiguration von einem alten Pfad zu lesen
(gibt es schon, in dem man einfach einen anderen Pfad in
AB_Banking_new() angibt), und diese dann in einem neuen Pfad zu
schreiben (gibt es noch nicht).
Ich habe mal versucht, eine Funktion AB_Banking_SetUserDataDir
hinzuzufügen (siehe Patch im Anhang), die von einer Anwendung genutzt
werden könnte. Aber anscheinend kriegen die Backends nix vom geänderten
dataDir mit: Nach einem anschließenden AB_Banking_Save() hat AqBanking
trotzdem die Konfiguration der Konten vergessen. Vermutlich muss man
noch in den Backends dafür sorgen, dass bei jeder Nutzung dieses Werts
AB_Banking_GetUserDataDir aufgerufen wird, oder zumindest kurz vor dem
Speichern der aktuelle Wert von AB_Banking_GetUserDataDir geholt wird.
Aber für heute reicht's mir...
> [...]
> Denn wie schon auf der Mailingliste von AqBanking beschrieben: Man muesste
> hier zu viele moegliche Sonderfaelle beruecksichtigen, und das erfordert
> Benutzer-Interaktion (z.B. wie soll vorgegangen werden, wenn der Benutzer
> beim Aufruf ein anderes AqBanking-Verzeichnis angegeben hat, will der
> Benutzer ueberhaupt das vorige .banking-Verzeichnis kopieren oder hat er
> danach noch ein anderes Verzeichnis verwendet und will lieber das kopieren,
> will er auch die Logs alle kopieren, und welche Anwendungen sind schon
> portiert auf AqBanking3, so dass also deren Daten ebanfalls kopiert werden
> koennen etc).
Es geht mir ja erstmal nur darum, dass eine vorhandene und
funktionierende Konfiguration (d. h. auch alle Konten) nicht einfach so
flöten geht. Den ganzen anderen Rest (Logfiles usw.) würde ich erstmal
ignorieren. Und wenn die Anwendung noch andere Daten retten will, ist
das natürlich ihr überlassen, wie sie das macht.
Schöne Grüße
Micha
Index: src/libs/aqbanking/banking.c
===================================================================
--- src/libs/aqbanking/banking.c (Revision 1506)
+++ src/libs/aqbanking/banking.c (Arbeitskopie)
@@ -887,6 +887,17 @@
+void AB_Banking_SetUserDataDir(AB_BANKING *ab, const char *newDataDir){
+ assert(ab);
+ free(ab->dataDir);
+ ab->dataDir=NULL;
+ if (newDataDir) {
+ ab->dataDir=strdup(newDataDir);
+ }
+}
+
+
+
int AB_Banking_GetSharedDataDir(const AB_BANKING *ab,
const char *name,
GWEN_BUFFER *buf){
Index: src/libs/aqbanking/banking.h
===================================================================
--- src/libs/aqbanking/banking.h (Revision 1506)
+++ src/libs/aqbanking/banking.h (Arbeitskopie)
@@ -444,6 +444,19 @@
int AB_Banking_GetUserDataDir(const AB_BANKING *ab, GWEN_BUFFER *buf);
/**
+ * Sets the name of the user folder for AqBanking's data.
+ * After having called AB_Banking_Init() this can be used to change
+ * the folder to which (maybe changed) data should be stored in.
+ * The intended purpose is for import of old AqBanking configurations.
+ * @param ab pointer to the AB_BANKING object
+ * @param newDataDir char array containing the new folder path.
+ * If NULL the default path (something like "/home/me/.aqbanking")
+ * will be used.
+ */
+AQBANKING_API
+void AB_Banking_SetUserDataDir(AB_BANKING *ab, const char *newDataDir);
+
+/**
* Returns the name of the user folder for application data.
* Normally this is something like "/home/me/.banking/apps".
* Your application may choose to create folders below this one to store
-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
Aqbanking-devel mailing list
Aqbanking-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/aqbanking-devel