当前位置: 首页>>代码示例>>C++>>正文


C++ IBUS_OBJECT_CLASS函数代码示例

本文整理汇总了C++中IBUS_OBJECT_CLASS函数的典型用法代码示例。如果您正苦于以下问题:C++ IBUS_OBJECT_CLASS函数的具体用法?C++ IBUS_OBJECT_CLASS怎么用?C++ IBUS_OBJECT_CLASS使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了IBUS_OBJECT_CLASS函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: bus_dbus_impl_class_init

static void
bus_dbus_impl_class_init (BusDBusImplClass *klass)
{
    GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
    IBusServiceClass *service_class = IBUS_SERVICE_CLASS (klass);

    parent_class = (IBusServiceClass *) g_type_class_peek_parent (klass);

    IBUS_OBJECT_CLASS (gobject_class)->destroy = (IBusObjectDestroyFunc) bus_dbus_impl_destroy;

    service_class->ibus_message = (ServiceIBusMessageFunc) bus_dbus_impl_ibus_message;

    klass->name_owner_changed = bus_dbus_impl_name_owner_changed;

    /* install signals */
    dbus_signals[NAME_OWNER_CHANGED] =
        g_signal_new (I_("name-owner-changed"),
            G_TYPE_FROM_CLASS (klass),
            G_SIGNAL_RUN_FIRST,
            G_STRUCT_OFFSET (BusDBusImplClass, name_owner_changed),
            NULL, NULL,
            ibus_marshal_VOID__STRING_STRING_STRING,
            G_TYPE_NONE,
            3,
            G_TYPE_STRING,
            G_TYPE_STRING,
            G_TYPE_STRING);

}
开发者ID:iwaim,项目名称:ibus,代码行数:29,代码来源:dbusimpl.c

示例2: ibus_config_service_class_init

static void
ibus_config_service_class_init (IBusConfigServiceClass *klass)
{
    GObjectClass *gobject_class = G_OBJECT_CLASS (klass);

    parent_class = (IBusServiceClass *) g_type_class_peek_parent (klass);

    gobject_class->set_property = (GObjectSetPropertyFunc) ibus_config_service_set_property;
    gobject_class->get_property = (GObjectGetPropertyFunc) ibus_config_service_get_property;

    IBUS_OBJECT_CLASS (gobject_class)->destroy = (IBusObjectDestroyFunc) ibus_config_service_destroy;

    IBUS_SERVICE_CLASS (klass)->ibus_message = (ServiceIBusMessageFunc) ibus_config_service_ibus_message;

    klass->set_value = ibus_config_service_set_value;
    klass->get_value = ibus_config_service_get_value;

    /* install properties */
    /**
     * IBusConfigService:connection:
     *
     * Connection of this IBusConfigService.
     */
    g_object_class_install_property (gobject_class,
                    PROP_CONNECTION,
                    g_param_spec_object ("connection",
                        "connection",
                        "The connection of config object",
                        IBUS_TYPE_CONNECTION,
                        G_PARAM_READWRITE |  G_PARAM_CONSTRUCT_ONLY));
}
开发者ID:colorant,项目名称:ibus,代码行数:31,代码来源:ibusconfigservice.c

示例3: ibus_property_destroy

static void
ibus_property_destroy (IBusProperty *prop)
{
    g_free (prop->key);
    prop->key = NULL;

    g_free (prop->icon);
    prop->icon = NULL;

    if (prop->label) {
        g_object_unref (prop->label);
        prop->label = NULL;
    }

    if (prop->tooltip) {
        g_object_unref (prop->tooltip);
        prop->tooltip = NULL;
    }

    if (prop->sub_props) {
        g_object_unref (prop->sub_props);
        prop->sub_props = NULL;
    }

    IBUS_OBJECT_CLASS (ibus_property_parent_class)->destroy ((IBusObject *)prop);
}
开发者ID:BBIO,项目名称:ibus,代码行数:26,代码来源:ibusproperty.c

示例4: ibus_keymap_class_init

static void
ibus_keymap_class_init (IBusKeymapClass *klass)
{
    IBusObjectClass *object_class = IBUS_OBJECT_CLASS (klass);

    object_class->destroy = (IBusObjectDestroyFunc) ibus_keymap_destroy;
}
开发者ID:BBIO,项目名称:ibus,代码行数:7,代码来源:ibuskeymap.c

示例5: bus_engine_proxy_real_destroy

static void
bus_engine_proxy_real_destroy (BusEngineProxy *engine)
{
    if (engine->prop_list) {
        g_object_unref (engine->prop_list);
        engine->prop_list = NULL;
    }

    if (ibus_proxy_get_connection ((IBusProxy *) engine)) {
        ibus_proxy_call ((IBusProxy *) engine,
                         "Destroy",
                         G_TYPE_INVALID);
    }

    if (engine->desc) {
        g_object_unref (engine->desc);
        engine->desc = NULL;
    }

    if (engine->keymap) {
        g_object_unref (engine->keymap);
        engine->keymap = NULL;
    }

    IBUS_OBJECT_CLASS(parent_class)->destroy (IBUS_OBJECT (engine));
}
开发者ID:XueWei,项目名称:ibus,代码行数:26,代码来源:engineproxy.c

示例6: ibus_connection_destroy

static void
ibus_connection_destroy (IBusConnection *connection)
{
    IBusConnectionPrivate *priv;
    priv = IBUS_CONNECTION_GET_PRIVATE (connection);

    if (priv->connection) {
        dbus_connection_remove_filter (priv->connection,
                    (DBusHandleMessageFunction) _connection_handle_message_cb,
                    connection);
    }

    do {
        if (!priv->shared && priv->connection) {
            dbus_connection_close (priv->connection);
            dbus_connection_unref (priv->connection);
            priv->connection = NULL;
            break;
        }

        if (priv->shared && priv->connection) {
            g_warn_if_fail (_connections != NULL);
            if (_connections != NULL) {
                g_hash_table_remove (_connections, priv->connection);
            }
            dbus_connection_unref (priv->connection);
            priv->connection = NULL;
            break;
        }
    } while (0);

    IBUS_OBJECT_CLASS (ibus_connection_parent_class)->destroy (IBUS_OBJECT (connection));
}
开发者ID:definite,项目名称:ibus,代码行数:33,代码来源:ibusconnection.c

示例7: ibus_m17n_engine_destroy

static void
ibus_m17n_engine_destroy (IBusM17NEngine *m17n)
{
    if (m17n->prop_list) {
        g_object_unref (m17n->prop_list);
        m17n->prop_list = NULL;
    }

    if (m17n->status_prop) {
        g_object_unref (m17n->status_prop);
        m17n->status_prop = NULL;
    }

#if HAVE_SETUP
    if (m17n->setup_prop) {
        g_object_unref (m17n->setup_prop);
        m17n->setup_prop = NULL;
    }
#endif  /* HAVE_SETUP */

    if (m17n->table) {
        g_object_unref (m17n->table);
        m17n->table = NULL;
    }

    if (m17n->context) {
        minput_destroy_ic (m17n->context);
        m17n->context = NULL;
    }

    IBUS_OBJECT_CLASS (parent_class)->destroy ((IBusObject *)m17n);
}
开发者ID:Nomad280279,项目名称:ibus-m17n,代码行数:32,代码来源:engine.c

示例8: ibus_factory_class_init

static void
ibus_factory_class_init (IBusFactoryClass *klass)
{
    GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
    IBusObjectClass *ibus_object_class = IBUS_OBJECT_CLASS (klass);

    g_type_class_add_private (klass, sizeof (IBusFactoryPrivate));

    gobject_class->set_property = (GObjectSetPropertyFunc) ibus_factory_set_property;
    gobject_class->get_property = (GObjectGetPropertyFunc) ibus_factory_get_property;


    ibus_object_class->destroy = (IBusObjectDestroyFunc) ibus_factory_destroy;

    IBUS_SERVICE_CLASS (klass)->ibus_message = (ServiceIBusMessageFunc) ibus_factory_ibus_message;

    /**
     * IBusFactory:connection:
     *
     * Connection of this IBusFactory.
     **/
    g_object_class_install_property (gobject_class,
                PROP_CONNECTION,
                g_param_spec_object ("connection",
                "connection",
                "The connection of factory object",
                IBUS_TYPE_CONNECTION,
                G_PARAM_READWRITE |  G_PARAM_CONSTRUCT_ONLY));


}
开发者ID:hychen,项目名称:ibus,代码行数:31,代码来源:ibusfactory.c

示例9: ibus_handwrite_engine_class_init

static void ibus_handwrite_engine_class_init(IBusHandwriteEngineClass *klass)
{
	//init global class data
	IBusObjectClass *ibus_object_class = IBUS_OBJECT_CLASS (klass);
	IBusEngineClass *engine_class = IBUS_ENGINE_CLASS (klass);

//	parent_class = (IBusEngineClass *) g_type_class_peek_parent(klass);

	ibus_object_class->destroy
			= (IBusObjectDestroyFunc) ibus_handwrite_engine_destroy;

	engine_class->process_key_event = ibus_handwrite_engine_process_key_event;

	engine_class->disable
			= (ibus_engine_callback) ibus_handwrite_engine_disable;
	engine_class->enable = (ibus_engine_callback) ibus_handwrite_engine_enable;
	engine_class->focus_in
			= (ibus_engine_callback) ibus_handwrite_engine_focus_in;
	engine_class->focus_out
			= (ibus_engine_callback) ibus_handwrite_engine_focus_out;
	engine_class->reset = (ibus_engine_callback) ibus_handwrite_engine_reset;

	engine_class->property_activate = ibus_handwrite_property_activate;

	klass->commit_text = ibus_handwrite_engine_commit_text;
}
开发者ID:abc881858,项目名称:ibus-handwrite,代码行数:26,代码来源:engine.c

示例10: ibus_sunpinyin_engine_class_init

// initialize the meta class object
void
ibus_sunpinyin_engine_class_init (IBusSunPinyinEngineClass *klass)
{
    IBusObjectClass *ibus_object_class = IBUS_OBJECT_CLASS (klass);
    IBusEngineClass *engine_class = IBUS_ENGINE_CLASS (klass);
    
    parent_class = (IBusEngineClass *) g_type_class_peek_parent (klass);
    
    ibus_object_class->destroy = (IBusObjectDestroyFunc) ibus_sunpinyin_engine_destroy;
    
    engine_class->process_key_event = ibus_sunpinyin_engine_process_key_event;
    engine_class->focus_in          = ibus_sunpinyin_engine_focus_in;
    engine_class->focus_out         = ibus_sunpinyin_engine_focus_out;
    engine_class->reset             = ibus_sunpinyin_engine_reset;
    engine_class->enable            = ibus_sunpinyin_engine_enable;
    engine_class->disable           = ibus_sunpinyin_engine_disable;
    engine_class->focus_in          = ibus_sunpinyin_engine_focus_in;
    engine_class->focus_out         = ibus_sunpinyin_engine_focus_out;
    engine_class->page_up           = ibus_sunpinyin_engine_page_up;
    engine_class->page_down         = ibus_sunpinyin_engine_page_down;
    engine_class->cursor_up         = ibus_sunpinyin_engine_cursor_up;
    engine_class->cursor_down       = ibus_sunpinyin_engine_cursor_down;
    engine_class->property_activate = ibus_sunpinyin_engine_property_activate;
    engine_class->candidate_clicked = ibus_sunpinyin_engine_candidate_clicked;
}
开发者ID:XueWei,项目名称:sunpinyin,代码行数:26,代码来源:engine.cpp

示例11: bus_registry_destroy

static void
bus_registry_destroy (BusRegistry *registry)
{
#ifdef G_THREADS_ENABLED
    if (registry->thread) {
        g_mutex_lock (registry->mutex);
        registry->thread_running = FALSE;
        g_mutex_unlock (registry->mutex);
        g_cond_signal (registry->cond);
        g_thread_join (registry->thread);
        registry->thread = NULL;
    }
#endif

    bus_registry_remove_all (registry);

    g_hash_table_destroy (registry->engine_table);
    registry->engine_table = NULL;

#ifdef G_THREADS_ENABLED
    g_cond_free (registry->cond);
    registry->cond = NULL;

    g_mutex_free (registry->mutex);
    registry->mutex = NULL;
#endif

    IBUS_OBJECT_CLASS (bus_registry_parent_class)->destroy (IBUS_OBJECT (registry));
}
开发者ID:lpoijk,项目名称:ibus,代码行数:29,代码来源:registry.c

示例12: ibus_hotkey_profile_destroy

static void
ibus_hotkey_profile_destroy (IBusHotkeyProfile *profile)
{
    IBusHotkeyProfilePrivate *priv;
    priv = IBUS_HOTKEY_PROFILE_GET_PRIVATE (profile);

    /* free events */
    if (priv->events) {
        IBusHotkeyEvent *p;
        gint i;
        p = (IBusHotkeyEvent *)g_array_free (priv->events, FALSE);
        priv->events = NULL;

        for (i = 0; p[i].event != 0; i++) {
            g_list_free (p[i].hotkeys);
        }
        g_free (p);
    }

    if (priv->hotkeys) {
        g_tree_destroy (priv->hotkeys);
        priv->hotkeys = NULL;
    }

    IBUS_OBJECT_CLASS (parent_class)->destroy ((IBusObject *)profile);
}
开发者ID:lpoijk,项目名称:ibus,代码行数:26,代码来源:ibushotkey.c

示例13: ibus_hangul_engine_destroy

static void
ibus_hangul_engine_destroy (IBusHangulEngine *hangul)
{
    if (hangul->prop_hanja_mode) {
        g_object_unref (hangul->prop_hanja_mode);
        hangul->prop_hanja_mode = NULL;
    }

    if (hangul->prop_list) {
        g_object_unref (hangul->prop_list);
        hangul->prop_list = NULL;
    }

    if (hangul->table) {
        g_object_unref (hangul->table);
        hangul->table = NULL;
    }

    if (hangul->context) {
        hangul_ic_delete (hangul->context);
        hangul->context = NULL;
    }

    IBUS_OBJECT_CLASS (parent_class)->destroy ((IBusObject *)hangul);
}
开发者ID:kleopatra999,项目名称:ibus-hangul,代码行数:25,代码来源:engine.c

示例14: ibus_factory_destroy

static void
ibus_factory_destroy (IBusFactory *factory)
{
    GList *list;
    IBusFactoryPrivate *priv;
    priv = IBUS_FACTORY_GET_PRIVATE (factory);

    list = g_list_copy (priv->engine_list);
    g_list_foreach (list, (GFunc) ibus_object_destroy, NULL);
    g_list_free (priv->engine_list);
    g_list_free (list);
    priv->engine_list = NULL;

    if (priv->engine_table) {
        g_hash_table_destroy (priv->engine_table);
    }

    if (priv->connection) {
        ibus_service_remove_from_connection ((IBusService *)factory,
                                             priv->connection);
        g_object_unref (priv->connection);
    }

    IBUS_OBJECT_CLASS(factory_parent_class)->destroy (IBUS_OBJECT (factory));
}
开发者ID:iwaim,项目名称:ibus,代码行数:25,代码来源:ibusfactory.c

示例15: ibus_bus_destroy

static void
ibus_bus_destroy (IBusObject *object)
{
    IBusBus *bus;
    IBusBusPrivate *priv;

    bus = IBUS_BUS (object);
    priv = IBUS_BUS_GET_PRIVATE (bus);

    if (priv->monitor) {
        g_object_unref (priv->monitor);
        priv->monitor = NULL;
    }

    if (priv->config) {
        ibus_object_destroy ((IBusObject *) priv->config);
        priv->config = NULL;
    }

    if (priv->connection) {
        ibus_object_destroy ((IBusObject *) priv->connection);
        priv->connection = NULL;
    }

    IBUS_OBJECT_CLASS (ibus_bus_parent_class)->destroy (object);
}
开发者ID:BBIO,项目名称:ibus,代码行数:26,代码来源:ibusbus.c


注:本文中的IBUS_OBJECT_CLASS函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。