[interfacekit] Re: PortThief
- From: DarkWyrm <bpmagic@xxxxxxxxxxxxxxx>
- To: interfacekit@xxxxxxxxxxxxx
- Date: Mon, 29 Oct 2001 16:39:30 -0500
>Why? We control app_server *and* the IK/App kits -- the protocol is
>whatever we choose to make it! We're no longer operating under the
>assumption that we can drop app_server in by itself; reverse engineering
>the protocols will take far more time than it's worth. As far as I'm
>concerned, any apps out there that communicate directly with app_server
>via those protocols were written by psychotics. ;) I'm not worried
>about supporting any app that isn't using app_server via the kits, which
>constitute app_server's public API. Be has apparently changed this
>protocol -- sometimes a little, sometimes a lot -- with nearly every
>release of BeOS.
Oh, DUH! <smacks forehead> I forgot that we're not just dropping in the
app_server, but *also* libbe.so and the input server. In a perfect world,
we'd be able to drop in any one of those three and have things work the same
way. Reversing the protocol will take a lot of time, so I'll probably be
asking you guys about what you think the protocol should be as I get working
on it.
>Maybe I'm not following you here -- it (basically) sounds like you're
>saying each BView has a client-side bitmap that it draws on and which
>the app_server blits to the frame buffer. Am I understanding you
>correctly?
Yep.
>Now I'm confused (only just now, you ask? ;). I can definitively say
>that all drawing is done in the app_server -- each BView drawing method
>essentially marshalls its parameters and sends them to app_server, which
>does the actual drawing. The interface kit basically acts as a proxy
>for the app_server; AtheOS does it this way as well.
If I didn't make myself very clear, the BView actually owns the bitmap (I
think), but the app_server does all the rendering. I know I didn't word
things very well - I had a long day yesterday, so my English degraded into my
native tongue, Gibberish. ;)
>While I agree that knowing the full app_server protocol would be
>helpful, I think the time necessary to decode it will be much better
>spent designing and implementing it ourselves. I think the basic
>question is this: what elements does the protocol consist of? These
>things certainly:
>
>* Registering and unregistering the application with the
>app_server/roster.
>* Registering and unregistering each window with the app_server
>* Communicating drawing commands to the app_server
>* Sending updated window & view information to the server-side windows
>* Retrieving window & view information from the server-side windows
>(only a few things are cached on the client side)
>* Retrieving system/roster information from the app_server
>
>I don't think there's much else, is there? If there is, surely we'll
>figure it out as our technical specs get fleshed out, no?
It's definitely a start, if not complete. While I'm thinking of it, which do
you think would be more efficient, using read/write port or BMessages?
--DW
- Follow-Ups:
- [interfacekit] What makes a good IDE?
- From: DarkWyrm
- [interfacekit] Re: PortThief
- From: Erik Jakowatz
- References:
- [interfacekit] Re: PortThief
- From: Erik Jakowatz
Other related posts:
- » [interfacekit] PortThief
- » [interfacekit] Re: PortThief
- » [interfacekit] Re: PortThief
- » [interfacekit] Re: PortThief
- » [interfacekit] Re: PortThief
- » [interfacekit] Re: PortThief
- » [interfacekit] Re: PortThief
- » [interfacekit] Re: PortThief
- » [interfacekit] Re: PortThief
- » [interfacekit] Re: PortThief
- » [interfacekit] Re: PortThief
- » [interfacekit] Re: PortThief
- [interfacekit] What makes a good IDE?
- From: DarkWyrm
- [interfacekit] Re: PortThief
- From: Erik Jakowatz
- [interfacekit] Re: PortThief
- From: Erik Jakowatz