aqbanking5 support of gnucash
jralls at ceridwen.us
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
>> 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
> 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?
More information about the gnucash-devel