using ORBit_small_listen_for_broken() with bonobo objects



I have a fairly simple server implemented as a Bonobo factory. Each client causes the factory to create one instance of a trivial BonoboObject subclass. The factory uses bonobo_running_context_auto_exit_unref() to exit when the last client shuts down. This works fine when clients exit properly, but not when clients die abruptly, e.g. by crashing.

It seems that ORBit_small_listen_for_broken() is the thing to use here. But I don't see how to hook that up properly:

Given an instance of a BonoboObject subclass, how do I obtain the corresponding CORBA_Object to use in the call to ORBit_small_listen_for_broken()? Is that even a meaningful thing to ask for, or is the BonoboObject/CORBA_Object relationship more subtle?

Suppose ORBit_small_listen_for_broken() calls me back, and tells me that a connection has indeed been broken. What should I do with the BonoboObject instance in the server? How do I inform this instance (and its factory) that it should go away? Do I use bonobo_object_unref(), bonobo_object_release_unref(), ... ?

Thank you for your help!



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]