in case you didn't see this

linas@linas.org linas@linas.org
Fri, 16 Mar 2001 10:37:00 -0600 (CST)


It's been rumoured that Derek Atkins said:
> 
> linas@linas.org writes:
> 
> > This is a bug; the calls are meant to be balanced.  However, the fix
> > is not entirely obvious; pulling the backend out of a global would
> > suffice, but I've tried really hard to avoid globals elsewhere ...
> 
> Globals are evil.  They are especially evil in my case, because the
> server may be dealing with multiple 'books' at one time.  Indeed, if I
> could, I'd go through and change EVERY function call to require either
> a GNCBook * or an AccountGroup *, therefore removing the entity
> database from being a global.  That way I could have multiple books
> opened up together, or theoretically have multiple people 'opening'
> the same book.

The plan is to move most remaining globals into gnc-book.

> The way I would fix this would be to change xaccMallocTransaction() to
> take either an AccountGroup or a a GNCBook argument.  Then you could
> obtain the Backend from there.

Between these two, GNCBook, of course.  Any other possiblities? 
Opinions, anyone?

> True.  However currently I still need to go through the engine, since
> there is no way to have one Backend call another Backend directly..
> The backends are specifically designed to interface to an engine.

Right. Now you're confusing me.  On the client side, you've implemented
rpc versions of the backend callbacks, right?

One the server side, you've implemented the called functions with calls
to the engine, right?


--linas