MateComponentRunningContext

MateComponentRunningContext — a live object tracker

Synopsis

struct              MateComponentRunningContext;
                    MateComponentRunningContextClass;
MateComponentObject * matecomponent_running_context_new (void);
void                matecomponent_running_context_ignore_object
                                                        (CORBA_Object object);
void                matecomponent_running_context_at_exit_unref
                                                        (CORBA_Object object);

Description

MateComponentRunningContext implements the MateComponent::RunningContext IDL interface, depicted in Figure 1, “The MateComponent::RunningContext interface”.

Figure 1. The MateComponent::RunningContext interface

The MateComponent::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.

MateComponentRunningContext is a singleton. There is at most one instance running at all times. All MateComponentObject'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

struct MateComponentRunningContext

struct MateComponentRunningContext {
	MateComponentObject parent;

	MateComponentRunningContextPrivate *priv;
};

the running context data


MateComponentRunningContextClass

typedef struct {
	MateComponentObjectClass parent;

	POA_MateComponent_RunningContext__epv epv;

	void (*last_unref) (void);
} MateComponentRunningContextClass;

the running context class


matecomponent_running_context_new ()

MateComponentObject * matecomponent_running_context_new (void);


matecomponent_running_context_ignore_object ()

void                matecomponent_running_context_ignore_object
                                                        (CORBA_Object object);


matecomponent_running_context_at_exit_unref ()

void                matecomponent_running_context_at_exit_unref
                                                        (CORBA_Object object);

See Also

MateComponentGenericFactory(3)