Moin Christian, wie besprochen also als CC an die Liste.
On Wednesday 24 January 2007 17:52, you wrote: [...] > Bisher wird der einzelne Job per Banking_EnqueueJob an aqbanking > übergeben, mit Banking_DelPending_Job (bei Abbruch) wieder gelöscht, und > per Banking_ExecuteQueue abgeschickt. Jetzt seh ich nur > Banking_ExecuteJobs und da brauch ich einen ImExporterContext, den ich > bisher in gnucash aber noch nicht habe (die Ergebnisse der Jobs hole ich > bisher aus den Jobs selber wieder raus). Wie ist das vorgesehen? [...] Wie beschrieben verwaltet AqBanking keine Queue mehr. Du uebergibst nun stattdessen einfach eine Liste von Jobs, die Du jetzt ausgefuehrt wissen moechtest. Inzwischen gibt es nur noch die Funktion mit einem ImExporterContext, warum hatte ich ja damals bei deren Einfuehrung beschrieben. In der alten Version hatte ich noch Kompatibilitaetsfunktionen eingebaut, die versucht haben, Dir das alte Interface vorzugaukeln. Da dies auch in der 2er Version schon deprecated war, habe ich es in AqBanking3 nicht mehr portiert. Ich hatte Dir allerdings mal geschrieben, wie Du die Daten aus einem solchen Kontext bekommen kannst. Das ist ja auch gar nicht so schwierig, denn die Daten sind ja auch in einem solchen Kontext nach Konto sortiert. Wenn Du also weiterhin nur die Daten herausfiltern willst, die zu einem bestimmten Job gehoeren (und die eventuell gesendeten anderen Daten verwerfen willst), kannst Du das immer noch leicht tun. Die einfachste Moeglichkeit, das so zu handhaben, wie frueher - auch, wenn ich es nicht empfehlen mag - waere einfach die Jobs ausfuehren zu lassen, und fuer jeden Job anschliessend die Daten aus den Kontext heraussuchen, die zu dem Account passen, fuer den der Job ausgefuehrt wurde (alle Jobs sind ja an Konten gekoppelt). [...] > gnc-hbci-utils.c: In function 'gnc_AB_BANKING_new_currentbook': > gnc-hbci-utils.c:60: error: too few arguments to function 'AB_Banking_new' > > Wie soll der neue Aufruf aussehen? Im Doku-Text zu dieser Funktion ist > etwas von AB_Banking_newExtended geschrieben, aber die Funktion hab ich > nicht gefunden. [...] Gibt es auch nicht mehr, und die APIDOC habe ich noch nicht angepasst. Du kannst hier einfach 0 uebergeben. Dies soll spaeter mal dazu dienen, AqBanking mitzuteilen, wenn die Anwendung irgendwelche Besonderheiten/Erweiterungen unterstuetzt. Bisher gibt es ja keine Erweiterungen, daher ist hier der Wert 0 richtig. [...] > gnc-hbci-utils.c:427: warning: implicit declaration of function > 'AB_Banking_SetPinCacheEnabled' > > Ist das einfach ersatzlos gestrichen, d.h. es verhält sich immer wie mit > abgeschaltetem PinCache? Dann muss ich also in gnucash wieder einen > eigenen cache implementieren? [...] Ich denke, Du bist sowieso gegen Pincaching? Du hattest doch selber eine Funktion zum abschalten des Pincache gefordert? Allerdings cached inzwischen das Medium seine eigene Pin, solange ein Medium gemounted ist. Damit entfaellt beispielsweise die ueberhaeufige Nachfrage im Pin/Tan-Modus. Ich werde daher auch bei jetzt nicht mehr verfuegbarem Pincache nicht oefter von QBankManager nach der Pin gefragt als vorher. [...] > Kannst du eine Anleitung geben, wie eine bisher auf AB_Banking > basierende callback-GUI nun ins gwen3-framework umgesetzt wird? [...] Das ist ziemlich einfach: Die Funktionen heissen grundsaetzlich genauso wie vorher (inclusive Flags), nur, dass jetzt die Praefixe anders lauten: z.B. GWEN_Gui_ProgressStart() statt AB_Banking_ProgressStart(). Genauso verhaelt es sich mit den Flags fuer die einzelnen Funktionen. Grundsaetzlich kannst Du also einfach z.B. sed s/AB_BANKING_MSG/GWEN_GUI_MSG/g machen, analog dazu auch mit den anderen Flags. Grundsaetzlich muss die Anwendung (und nur diese) am Beginn eine GUI implementieren und setzen. Schaue Dir dazu mal das QT-Frontend an, und fuer Dich vermutlich interessanter die Consolen-GUI-Implementierung in Gwen. Du musst im einfachsten Fall lediglich ein Objekt mittels GWEN_Gui_new() erstellen, dann die einzelnen Callbacks setzen (z.B. GWEN_Gui_SetMessageBoxFn), und anschliessend GWEN_Gui_SetGui() aufrufen, um diese GUI-Implementierung zur aktiven zu machen. Frueher hat das jeweilige Frontend dies selber gemacht, aber das konnte in Konflikt mit der Anwendung geraten. Daher ist es nun an der Anwendung, die GUI-Implementierung zu setzen. [...] > Was ist aus dem Rückgabewert von Banking_ActivateProvider geworden? Der > war für bereits aktivierte providers AB_ERROR_FOUND, was ist er nun? [...] Musst Du mal im Sourcecode nachschauen, ich vermute aber stark, es ist nun GWEN_ERROR_FOUND. Ich habe ja in AqBanking die Fehlercodes geaendert: Es gab in der Vergangenheit Fehlercodes, fuer die es auch schon aehnliche Codes in Gwen gab. Da es hier aber zwei Werteraeume gab - den von Gwen und den von AqBanking - musste man haeufig die Fehlercodes von Gwen nach AqBanking uebersetzen. Das entfaellt nun, weil AqBanking jetzt nur noch eigene Fehlercodes verwendet, wenn es dazu kein Aequivalent in Gwen gibt. Ausserdem erweitert AqBanking jetzt den Werteraum fuer GWE's Fehlercodes: AqBanking verwendet daher jetzt Fehlercodes wie (GWEN_ERROR_USEROFFSET-1) etc. Damit kann man nun Fehlercodes aus Gwen auch direkt aus AqBanking-Funktionen an die Anwendung weiterreichen, ohne die Codes uebersetzen zu muessen. Die Anwendung kann diesen Werteraum dann auch noch erweitern, wenn sie will, dafuer muss sie einfach Fehlercodes als (AB_ERROR_USEROFFSET-x) deklarieren. Gruss Martin -- "Things are only impossible until they're not" AqBanking - http://www.aqbanking.de/ LibChipcard - http://www.libchipcard.de/ ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ Aqbanking-devel mailing list Aqbanking-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/aqbanking-devel