On Monday 19 August 2002 12:22 am, Duncan Simpson wrote: > Do I understand the design? I think the design is that an event invokes the > local inset's dispatch() function, which either handles it or passes it up > to it's parent inset.
That's exactly the design that André is implementing at the moment. My idea is complimentary to this in that the LyXServer (ie the outside world) would access a global LyX::dispatch(). This global dispatch() would handle LFUNs that do not require a Buffer itself. If the LFUN requires a Buffer, it would strip off the Buffer name from the string, find the Buffer with this name and pass the remaining string to Buffer::dispatch(). This process continues all the way through to the dispatch() best able to handle the request. Since dispatch() returns a SUCCESS/FAIL flag, we could end up informing the Client whether the request had succeeded or failed. Angus