[haiku-development] Re: Comments on these possible OptionalPackages

Axel Dörfler ha scritto:
Pier Luigi Fiorini <pierluigi.fiorini@xxxxxxxxx> wrote:
Axel Dörfler ha scritto:
I wasn't particularly targeting at InfoPopper here - I haven't had a look at its API, maybe it already fits perfectly, maybe not.
If you have time, here's the library:
http://svn.osdrawer.net/infopopper/trunk/libinfopopper/

Basically, IPConnection is a connection to the server, the Send method sends a properly formatted message. The message information is taken from a IPMessage which contains notification type (information, error, etc...), progress, title, content, application name and icon.

Some programs, like Vision directly send messages to infopopper_server. This is not a bad behaviour, but if InfoPopper will be integrated with Haiku it will be better to use libinfopopper which will take into account possible changes in the message format.

Please, provide me all the indications you think are needed to get InfoPopper integrated with Haiku - even the little ones.

IMO integration in this case would mean that "libinfopopper" would be assimilated by libbe.so. It's classes and constants would need to follow the general style, ie. B_INFORMATION_TYPE instead of InfoPopper::Information. I would also find a more general name for the info/notification service, and I guess I would completely get rid of IPMessage, and would just use a BMessage with predefined fields.
The functionality of IPConnection could probably be moved into BRoster.

That's what I would understand under "integration", but that would also pretty much mean the end of InfoPopper as a separate project (in this case). If InfoPopper were a larger project, I would have the above loosely drafted API as a wrapper around what InfoPopper delivers.
InfoPopper is not a large project, it used to be part of IM Kit but was separated during the last year. It is used by some applications like Vision and by IM Kit with a specific client, so due to its architecture two clients can be made (one for Haiku and one for Zeta's own notification API) for example.

If you and the other developers agree, I will start writing a patch to integrate InfoPopper as you indicated. In the meanwhile I sent a mail to slaad and indicated two possible ways to do the integration. One is to close InfoPopper without care about the projects that are using it, the other is to make InfoPopper a sort of compatibility layer: on Haiku it will build a new libinfopopper which will be a wrapper around the Haiku API, on other platforms it will build the current version. This way external applications like Vision can get notifications on R5, Zeta and Haiku, new applications that don't care about the past or applications in the Haiku tree can use the new API provided by Haiku itself.

So, if it's not a problem for the core developers I will be happy to send a patch for Haiku integration.


Other related posts: