GC architecture for backends
Derek Atkins
warlord at MIT.EDU
Wed Nov 1 10:12:14 EST 2006
The QOFBackend interface is documented in the Doxygen docs.
The rest of it, however, hasn't been well documented.
I do not believe that gnc-engine.c should load the module -- it should
get loaded elsewhere. If that's where stuff is being loaded now then
I think that's a bug.
I dont think there's currently a plugin registry of URI types. We
might want to fix that, maybe.
Also, we'll need to make changes to handle the fact that file://
should get redirected to sqlite:// -- but the code will need to
test the file first to see what kind of file it is, so that File -> Open
does the "right thing". I.e., the fact that we're using SQLite
should get hidden from the user when we migrate to it.
-derek
Phil Longstaff <plongstaff at rogers.com> writes:
> I've started to look at what is needed to put a new backend into GC. My
> first questions is if this is documented anywhere. I've needed to
> update a few different files, and wonder if it couldn't be improved so
> that each backend only needs to be known about in one place. For
> example, gnc_engine_init() in engine/gnc-engine.c needs to be modified
> to ensure the backend module is loaded and registered with qof. Then,
> xaccResolveURLs() in engine/gnc-filepath-utils.c needs to be modified to
> know about any new URI types (mysql://, sqlite://). Seems to me that
> after all of the backends are loaded, the engine should query all of the
> providers so it would know about the URI types.
>
> Phil
--
Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
Member, MIT Student Information Processing Board (SIPB)
URL: http://web.mit.edu/warlord/ PP-ASEL-IA N1NWH
warlord at MIT.EDU PGP key available
More information about the gnucash-devel
mailing list