[interfacekit] Re: Fwd: Preliminary registrar info

>The only thing I don't understand about it is why?
>Oh, wait a second, probably I have an idea: The registrar implements the
>roster functionality and thus one can't address it using the app signature
>constructor of BMessenger, but rather has to send the message directly to
>a named port. Right?
>
>CU, Ingo
Yup.

>PS: Does anyone know how to get the port id and token from a BMessenger.
>    For the BQuery implementation I used a pretty dirty hack. I guess, it
>    must have to do something with the friend class _TRoster_.
There isn't a way for us to access Be's BMessenger tokens AFAIK. Then again, 
Erik knows way more about tokenspace stuff than I do. Ports for classes are 
normally given a default name, like, for example, every BApplication has 3 
ports - AppLooperPort, snd, and rcv. The only way you can access a 
BMessenger's port is to jump through some flaming hoops either using 
find_port and praying that it'll find multiple ports with multiple calls 
(unlikely IMO - never did that before) or doing it the slow way with 
get_port_info_etc and matching the port name before doing anything else. Ick.

TRoster is a class I saw in the registrar's symbol table - shadow of the 
BRoster class just like the app_server shadows BViews, BWindows, and 
BApplications. This one might be a little tougher to make a binary compatible 
without the help of other OBOS classes. *shrug*  HTH

--DW


Other related posts: