Re: Latest changes...OFX partner server

Robin Cook <[email protected]> Tue, 28 Feb 2006 18:23:19 -0600
Newsgroups gmane.comp.finance.libofx.devel
Message-ID <1141172599.23549.8.camel@localhost>
Is there some way to disable the QT requirement?  I don't use QT at all
and was able to use this library with gnucash until this change.

Thanks
CuZnDragon
Robin Cook

On Tue, 2006-02-21 at 16:49 -0800, Ace Jones wrote:
> Ah, yeah, that's a good idea.  I would likely want to use this same
> context for posting the request files to the bank server too.  The same
> members would be needed.  So it would really become more of a "transport
> context."
> 
> I suppose I could also create a context with callbacks for passing the 
> partner data back.  The problem there is I deal
> in vector<string>'s all over the place, which is a pain to duplicate
> in C.  Or at least, so I seem to remember :-)  It's been over a decade
> since I wrote any C code.
> 
> </Ace>
> 
> On Tue, Feb 21, 2006 at 09:28:11PM +0100, Martin Preuss wrote:
> > Hi,
> > 
> > On Tuesday 21 February 2006 18:34, Ace Jones wrote:
> > [...]
> > > I am starting to lean toward the idea of libofx handling the transport
> > > for online banking internally instead of leaving it to the caller.  As I
> > > get further with online banking, it will be something to consider.
> > [...]
> > 
> > I would propose another way. I studied your implementation in KMyMoney, and as 
> > I see it the HTTP-transfer can be very easily encapsulated: In your code you 
> > call a function which sends a HTTP post request.
> > 
> > I think the best would be to define a OfxPartnerContext (see above) which 
> > includes a callback.
> > 
> > We could let it point initially to a function which sends a request using 
> > libcurl internally, but the application would have the possibility to do th 
> > transfer itself.
> > 
> > There are two important reasons: 
> > 
> > 1) the two main users are KMyMoney (KDE) and AqBanking.
> > KMYMoney uses KDE/QT which have nice functions for HTTP requests which 
> > integrate seemlessly into the KDE framework.
> > 
> > AqBanking uses its own transfer management (mainly because we want to avoid 
> > GUI freezes without having to deal with multithreading).
> > 
> > So it would be very nice if the callers would keep control over the transfers.
> > 
> > 2) the second reason is that the application needs to be in control over where 
> > the index files etc are to be stored. This could also be stored within the 
> > OfxPartnerContext.
> > 
> > What I suggest is something along the line of the following:
> > 
> > /** function prototype */
> > typedef int (*OFX_PARTNER_POST_FN)(OfxPartnerContext *ctx,
> >   const char *url, const char postBody, const char *fileName);
> > 
> > struct OfxPartnerContext {
> >   char *folder; /* donwload folder for index file etc */
> >   OFX_PARTNER_POST_FN postFn;
> > };
> > 
> > 
> > We could even provide a default postFn which calls curl or whatever you like, 
> > but still the application would have full control over:
> > - where files are stored
> > - how they are retrieved from the partner server.
> > 
> > 
> > Kind regards
> > Martin Preuss
> 
> 
> 
> -------------------------------------------------------
> This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
> for problems?  Stop!  Download the new AJAX search engine that makes
> searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
> http://sel.as-us.falkag.net/sel?cmd=lnk&kid3432&bid#0486&dat1642
> _______________________________________________
> Libofx-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/libofx-devel
>
signature.asc (application/pgp-signature, 829 B)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2.1 (GNU/Linux)

iQIVAwUARATpd0R0KI3mhyXmAQI4qBAAo3w13AjRhtxA1SfKCbXb/ly2AA21z8eE
1VmJgX2E3xcI2lSD85N4MSJssCDEtdVqMwkhkAqWVAUxEfxisEPfM+Ag0Eb8e6Wi
UQ2t9KbNAsLSH9AmI3o0+9J/GZ1ZIRQqUZLg/TSQFsHWX0e7nfR3unZycKlsJks8
s5PDfeODFIZYHOLQv3DBPMm87v/YQso49Bx3ipZY6Lm46iTXWXyKypN/aB4W3Fyn
vJDNN5KlCFX6jZH9FvK+kDYzar1wKJ23v9JPg5ZBODX7s5Tfg8Vcqz04Uv9chNP6
LAAeKV9qSj4u0MG96uPkz0enyFCPom7LiJG80yeyRxWRca0ylyLWc6vREmM6s72G
UaRb/5QpE8ZJhZNF67MKB9YZHlx4RUXDGBdM2OsVuWMtaXPO/y9ouFkQ62waHiEd
TfucVGcqqk+F/C7RMCad5Q3jXnPLbHPCyqv1ecYq+EDdj5u1Ufs20CI2AIVg8hxR
rYaFCXMCzXB9yqYAI5G0Km6+8jVJdiM2Jn0tGUlkiuouzBpwGMvH9lnCXoKL2Srz
1bxfTWhzCWTv2dc+x3aj5B5Qjdkuq05haXlFKCsNFgsDsyAHIg8KFX/K9iRiPYfB
5D/oh77eeQCx2pOMcWDRXVG9PAXiAMgCMGHbAtw5HlzVVdEsocYvKa88g5zYxTak
37XHey1Ep08=
=GOee
-----END PGP SIGNATURE-----