matecomponent-shlib-factory

## matecomponent-shlib-factory matecomponent-shlib-factory |

## Synopsis

                        MateComponentShlibFactory;
                        MateComponentShlibFactoryClass;
    MateComponentShlibFactory * matecomponent_shlib_factory_construct     (MateComponentShlibFactory *factory,
                                                             const char *act_iid,
                                                             PortableServer_POA poa,
                                                             gpointer act_impl_ptr,
                                                             GClosure *closure);
    MateComponentShlibFactory * matecomponent_shlib_factory_new           (const char *component_id,
                                                             PortableServer_POA poa,
                                                             gpointer act_impl_ptr,
                                                             MateComponentFactoryCallback factory_cb,
                                                             gpointer user_data);
    MateComponentShlibFactory * matecomponent_shlib_factory_new_closure   (const char *act_iid,
                                                             PortableServer_POA poa,
                                                             gpointer act_impl_ptr,
                                                             GClosure *factory_closure);
    MateComponent_Unknown      matecomponent_shlib_factory_std            (const char *component_id,
                                                             PortableServer_POA poa,
                                                             gpointer act_impl_ptr,
                                                             MateComponentFactoryCallback factory_cb,
                                                             gpointer user_data,
                                                             CORBA_Environment *ev);
    #define             MATECOMPONENT_OAF_SHLIB_FACTORY            (oafiid,
                                                             descr,
                                                             fn,
                                                             data)
    #define             MATECOMPONENT_OAF_SHLIB_FACTORY_MULTI      (oafiid,
                                                             descr,
                                                             fn,
                                                             data)
    #define             MATECOMPONENT_ACTIVATION_SHLIB_FACTORY     (oafiid,
                                                             descr,
                                                             fn,
                                                             data)

## Object Hierarchy

      GObject
       +----MateComponentObject
             +----MateComponentGenericFactory
                   +----MateComponentShlibFactory

## Description

## Details

### MateComponentShlibFactory

    typedef struct _MateComponentShlibFactory MateComponentShlibFactory;

### MateComponentShlibFactoryClass

    typedef struct {
    	MateComponentGenericFactoryClass parent_class;
    } MateComponentShlibFactoryClass;

### matecomponent_shlib_factory_construct ()

    MateComponentShlibFactory * matecomponent_shlib_factory_construct     (MateComponentShlibFactory *factory,
                                                             const char *act_iid,
                                                             PortableServer_POA poa,
                                                             gpointer act_impl_ptr,
                                                             GClosure *closure);

Initializes `c_factory` with the supplied data.

`factory` : | The object to be initialized.
`act_iid` : | The GOAD id that the new factory will implement.
`poa` : | the poa.
`act_impl_ptr` : | Activation shlib handle
`closure` : | The closure used to create new MateShlib object instances.
Returns : | The initialized MateComponentShlibFactory object.

### matecomponent_shlib_factory_new ()

    MateComponentShlibFactory * matecomponent_shlib_factory_new           (const char *component_id,
                                                             PortableServer_POA poa,
                                                             gpointer act_impl_ptr,
                                                             MateComponentFactoryCallback factory_cb,
                                                             gpointer user_data);

This is a helper routine that simplifies the creation of factory objects for MATE objects. The `factory` function will be invoked by the CORBA server when a request arrives to create a new instance of an object supporting the MateComponent::Shlib interface. The factory callback routine is passed the `data` pointer to provide the creation function with some state information.

`component_id` : | The GOAD id that this factory implements
`poa` : | the poa.
`act_impl_ptr` : | Activation shlib handle
`factory_cb` : | A callback which is used to create new MateComponentObject instances.
`user_data` : | The closure data to be passed to the `factory` callback routine.
Returns : | A MateComponentShlibFactory object that has an activated MateComponent::ShlibFactory object that has registered with the MATE name server.

### matecomponent_shlib_factory_new_closure ()

    MateComponentShlibFactory * matecomponent_shlib_factory_new_closure   (const char *act_iid,
                                                             PortableServer_POA poa,
                                                             gpointer act_impl_ptr,
                                                             GClosure *factory_closure);

This is a helper routine that simplifies the creation of factory objects for MATE objects. The `factory_closure` closure will be invoked by the CORBA server when a request arrives to create a new instance of an object supporting the MateComponent::Shlib interface. The factory callback routine is passed the `data` pointer to provide the creation function with some state information.

`act_iid` : | The GOAD id that this factory implements
`poa` : | the poa.
`act_impl_ptr` : | Activation shlib handle
`factory_closure` : | A closure which is used to create new MateComponentObject instances.
Returns : | A MateComponentShlibFactory object that has an activated MateComponent::ShlibFactory object that has registered with the MATE name server.

### matecomponent_shlib_factory_std ()

    MateComponent_Unknown      matecomponent_shlib_factory_std            (const char *component_id,
                                                             PortableServer_POA poa,
                                                             gpointer act_impl_ptr,
                                                             MateComponentFactoryCallback factory_cb,
                                                             gpointer user_data,
                                                             CORBA_Environment *ev);

A Generic std shlib routine so we don't stick a load of code inside a public macro.

Returns : | 0 on success, 1 on failure.

### MATECOMPONENT_OAF_SHLIB_FACTORY()

    #define             MATECOMPONENT_OAF_SHLIB_FACTORY(oafiid, descr, fn, data)

Deprecated. See `MATECOMPONENT_ACTIVATION_SHLIB_FACTORY()`.

`oafiid` : |
`descr` : |
`fn` : |
`data` : |

### MATECOMPONENT_OAF_SHLIB_FACTORY_MULTI()

    #define             MATECOMPONENT_OAF_SHLIB_FACTORY_MULTI(oafiid, descr, fn, data)

Deprecated. See `MATECOMPONENT_ACTIVATION_SHLIB_FACTORY()`.

`oafiid` : |
`descr` : |
`fn` : |
`data` : |

### MATECOMPONENT_ACTIVATION_SHLIB_FACTORY()

    #define             MATECOMPONENT_ACTIVATION_SHLIB_FACTORY(oafiid, descr, fn, data)

Macro that includes all boiler-plate code necessary to create an shlib type factory.

`oafiid` : | The factory's OAFIID
`descr` : | Description of the factory
`fn` : | Function (MateComponentFactoryCallback) responsible for intantiating components
`data` : | Additional data to be passed to the callback