[interfacekit] Re: PortThief
- From: "Erik Jakowatz" <erik@xxxxxxxxxxxxxx>
- To: interfacekit@xxxxxxxxxxxxx
- Date: Sun, 28 Oct 2001 20:22:00 -0800
> Well, this stuff I'm currently working on has to do with screen
updates
>and such. I've got a small part of the app_server's interface spec
done, and
That's nice to hear. =)
>this happens to be the next bit which needs researched and written. If
we
>want binary compatibility, we're going to need to reverse engineer the
>app_server protocol for BView reasons.
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.
> If I understand things correctly, BViews have the bitmap which is
blasted
>to the screen and the app_server (somehow) has access to it. BViews
talk to
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?
>the app_server, but the average joe developer sees none of it on the
surface
>- the messages are done via various methods, like FillRect, StrokeArc,
etc.
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.
Maybe I'm way out in left field; if so, please forgive and try to
enlighten me. ;)
> I probably could figure out quite a bit if I understood how to
interpret
>data passed in port messages. Understanding this seems to me as
something
>pivotal for our team - if we can see what the servers are saying to
each
>other, it'd be a cinch, relatively speaking, to duplicate it.
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?
Anyway, unless I'm *grossly* missing the point, I don't think decoding
the app_server protocol is a good use of your time (in case I hadn't
made that abundantly clear already =P).
e
Data is not information, and information is not knowledge: knowledge is
not understanding, and understanding is not wisdom.
- Philip Adams
- Follow-Ups:
- [interfacekit] Re: PortThief
- From: DarkWyrm
- References:
- [interfacekit] Re: PortThief
- From: DarkWyrm
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] Re: PortThief
- From: DarkWyrm
- [interfacekit] Re: PortThief
- From: DarkWyrm