aqbanking5 support of gnucash

John Ralls jralls at
Fri Aug 13 00:07:11 EDT 2010

On Aug 12, 2010, at 1:13 PM, Christian Stimming wrote:

> Am Thursday 12 August 2010 schrieb Martin Preuss:
>>> The normal online banking usage still works, as the aqbanking4-style
>>> GWEN_GUI implementation of gnucash still seems to be sufficient for
>>> those operations. But the setup doesn't work. 
>> [...]
>> Thats correct. The old callbacks GnuCash implemented are still present and
>> are still used for GUI implementations not supporting the dialog
>> framework.
>> However, it should be fairly easy to adapt to the Gtk2Gui provided by gwen:
>> - create the Gtk2Gui object
>> ...
> Thanks, Martin, for the explanation and the detailed advice on how this should 
> be implemented in gnucash. Unfortunately there is a small source code 
> organization problem here, which is why I'm hesitating to spending time on 
> this. I'll explain it in detail because for me this is the reason why I didn't 
> start with this for quite some time by now:
> The gnucash code in src/import-export/aqbanking/ currently compiles and works 
> fine with aqbanking4. Implementing the changes you described for aqbanking5 
> will clearly make the code of that directory incompatible with aqbanking4. I'm 
> afraid one has to add too many #ifdef USING_AQBANKING5 (a convenience macro we 
> would define in import-export/aqbanking/gnc-ab-utils.h) conditionals, which 
> always look quite ugly. The only other source code organization possibility 
> would be to copy the import-export/aqbanking directory to a new second-
> export/aqbanking5 directory, where we could remove all the aqbanking4 stuff 
> and write solely for aqbanking5. But that would duplicate a lot of code as 
> well.
> Hm... While writing this, it occurred to me the copying to import-
> export/aqbanking5 might indeed be the better way in the long run. That 
> solution would be the only one that ensures the old aqbanking4 code will 
> continue to work as expected. So that's probably what I would recommend for 
> anyone who wants to implement correct support of aqbanking5 in gnucash. And, 
> as Martin explained, in that new directory one can benefit from all the GUI-
> handling simplifications which are now implemented by Martin in aqbanking5.
> This should just give the correct picture for anyone who wants to deal with 
> that task. After all, the task might be solved within 2-3 days of work... 
> volunteers, anyone?

If you refactor the code so that the bits that will be different between aqb4 and 5 are isolated into separate functions, then those functions can move into separate .c files -- one for aqb4 and one for aqb5 -- which can be selected by Makefile and a configure option.

Perhaps it would be wise to make a branch for this so that we don't risk any regressions on trunk that would affect 2.4?

John Ralls

More information about the gnucash-devel mailing list