IBusFactory

## IBusFactory IBusFactory — Factory for creating engine instances. |

## Stability Level

Stable, unless otherwise indicated

## Synopsis

    struct              IBusFactory;
    struct              IBusFactoryClass;
    IBusFactory *       ibus_factory_new                    (GDBusConnection *connection);
    void                ibus_factory_add_engine             (IBusFactory *factory,
                                                             const gchar *engine_name,
                                                             GType engine_type);

## Object Hierarchy

      GObject
       +----GInitiallyUnowned
             +----IBusObject
                   +----IBusService
                         +----IBusFactory

## Signals

      "create-engine"                                  : Run Last

## Description

An IBusFactory is an IBusService that creates input method engine (IME) instance. It provides CreateEngine remote method, which creates an IME instance by name, and returns the D-Bus object path to IBus daemon.

`see_also`: IBusEngine

## Details

### struct IBusFactory

    struct IBusFactory;

An opaque data type representing an IBusFactory.

### struct IBusFactoryClass

    struct IBusFactoryClass {
    };

### ibus_factory_new ()

    IBusFactory *       ibus_factory_new                    (GDBusConnection *connection);

New an IBusFactory.

`connection` : | An GDBusConnection.
Returns : | A newly allocated IBusFactory.

### ibus_factory_add_engine ()

    void                ibus_factory_add_engine             (IBusFactory *factory,
                                                             const gchar *engine_name,
                                                             GType engine_type);

Add an engine to the factory.

`factory` : | An IBusFactory.
`engine_name` : | Name of an engine.
`engine_type` : | GType of an engine.

## Signal Details

### The `"create-engine"` signal

    IBusEngine*         user_function                      (IBusFactory *ibusfactory,
                                                            gchar       *arg1,
                                                            gpointer     user_data)        : Run Last

`ibusfactory` : | the object which received the signal.
`user_data` : | user data set when the signal handler was connected.