## IBusProxy IBusProxy — Base proxy object. |

## Stability Level

Stable, unless otherwise indicated

## Functions

#define | IBUS_PROXY_FLAGS()
#define | IBUS_PROXY_SET_FLAGS()
#define | IBUS_PROXY_UNSET_FLAGS()
#define | IBUS_PROXY_DESTROYED()
void | ibus_proxy_destroy ()

## Signals

void | destroy | Run Last

## Types and Values

struct | IBusProxy

## Object Hierarchy

        GObject
        ╰── GDBusProxy
            ╰── IBusProxy
                ├── IBusConfig
                ╰── IBusInputContext

## Implemented Interfaces

IBusProxy implements GDBusInterface, GInitable and GAsyncInitable.

## Description

An IBusProxy is the base of all proxy objects, which communicate the corresponding IBusServices on the other end of IBusConnection. For example, IBus clients (such as editors, web browsers) invoke the proxy object, IBusInputContext to communicate with the InputContext service of the ibus-daemon.

Almost all services have corresponding proxies, except very simple services.

## Functions

### IBUS_PROXY_FLAGS()

    #define IBUS_PROXY_FLAGS(obj)             (IBUS_PROXY (obj)->flags)

### IBUS_PROXY_SET_FLAGS()

    #define IBUS_PROXY_SET_FLAGS(obj,flag)    G_STMT_START{ (IBUS_PROXY_FLAGS (obj) |= (flag)); }G_STMT_END

### IBUS_PROXY_UNSET_FLAGS()

    #define IBUS_PROXY_UNSET_FLAGS(obj,flag)  G_STMT_START{ (IBUS_PROXY_FLAGS (obj) &= ~(flag)); }G_STMT_END

### IBUS_PROXY_DESTROYED()

    #define IBUS_PROXY_DESTROYED(obj)         (IBUS_PROXY_FLAGS (obj) & IBUS_DESTROYED)

### ibus_proxy_destroy ()

    void
    ibus_proxy_destroy (IBusProxy *proxy);

Dispose the proxy object. If the dbus connection is alive and the own variable above is TRUE (which is the default), org.freedesktop.IBus.Service.Destroy method will be called. Note that "destroy" signal might be emitted when ibus_proxy_destroy is called or the underlying dbus connection for the proxy is terminated. In the callback of the destroy signal, you might have to call something like 'g_object_unref(the_proxy);'.

#### Parameters

proxy | An IBusProxy |

## Types and Values

### struct IBusProxy

    struct IBusProxy;

An opaque data type representing an IBusProxy.

## Signal Details

### The `“destroy”` signal

    void
    user_function (IBusProxy *object,
                   gpointer   user_data)

Destroy and free an IBusProxy

See also: `ibus_proxy_destroy()`.

Argument `user_data` is ignored in this function.

#### Parameters

object | An IBusProxy. |
user_data | user data set when the signal handler was connected. |

Flags: Run Last