## BonoboRunningContext

BonoboRunningContext — a live object tracker

## Synopsis

                        BonoboRunningContext;
                        BonoboRunningContextClass;
    BonoboObject *      bonobo_running_context_new          (void);
    void                bonobo_running_context_ignore_object
                                                            (CORBA_Object object);
    void                bonobo_running_context_at_exit_unref
                                                            (CORBA_Object object);

## Description

BonoboRunningContext implements the `Bonobo::RunningContext` IDL interface, depicted in Figure 1, “The Bonobo::RunningContext interface”.

Figure 1. The Bonobo::RunningContext interface

The purpose of this object is to keep track of currently running objects. This is useful in, for example, exe type factories, in order to know when it is safe to quit from the main loop.

BonoboRunningContext is a singleton. There is at most one instance running at all times. All BonoboObject's are automatically registered with the running context as part of their normal initialization procedure.

To find out when all objects have been destroyed, just connect a handler to the "last-unref" signal.

## Details

### BonoboRunningContext

    typedef struct {
    	BonoboObject parent;

    	BonoboRunningContextPrivate *priv;
    } BonoboRunningContext;

the running context data

### BonoboRunningContextClass

    typedef struct {
    	BonoboObjectClass parent;

    	POA_Bonobo_RunningContext__epv epv;

    	void (*last_unref) (void);
    } BonoboRunningContextClass;

the running context class

### bonobo_running_context_new ()

    BonoboObject *      bonobo_running_context_new          (void);

Returns : |

### bonobo_running_context_ignore_object ()

    void                bonobo_running_context_ignore_object
                                                            (CORBA_Object object);

`object` : |

### bonobo_running_context_at_exit_unref ()

    void                bonobo_running_context_at_exit_unref
                                                            (CORBA_Object object);

`object` : |

## See Also

BonoboGenericFactory(3)