From 28d961fccc21e6d48073758d1d4998f1b025fccb Mon Sep 17 00:00:00 2001 From: Vidhoon Vishwanathan Date: Sat, 20 Jul 2013 13:47:40 +0000 Subject: [COMPDICT] Implement composite_provider_create_dict API The composite_provider_create_dict method creates composite dictionary using a list of enchant dicts and maps all methods for dictionary operations. Signed-off-by: Vidhoon Viswanathan git-svn-id: svn+ssh://svn.abisource.com/svnroot/enchant/branches/gsoc2013cdict@33278 bcba8976-2d24-0410-9c9c-aab3bd5fdfd6 --- src/composite_provider.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/src/composite_provider.c b/src/composite_provider.c index bc402ae..98b062d 100644 --- a/src/composite_provider.c +++ b/src/composite_provider.c @@ -72,9 +72,34 @@ composite_dict_store_replacement (EnchantDict * me, { } +/** + * composite_provider_create_dict + * @list_of_dicts: A non-null list of #EnchantDicts + * + * Remarks: creates a composite dictionary that composes of EnchantDicts in @list_of_dicts + * and maps all methods to composite provider methods for dictionary operations. + */ EnchantDict * composite_provider_create_dict (GSList* list_of_dicts) { + EnchantDict *dict; + CompositeDict *comp_dict; + + g_return_if_fail (list_of_dicts); + + comp_dict = g_new0 (CompositeDict, 1); + comp_dict->dict_list = list_of_dicts; + + dict = g_new0 (EnchantDict, 1); + dict->user_data = (void *) comp_dict; + + dict->check = composite_dict_check; + dict->suggest = composite_dict_suggest; + dict->add_to_personal = composite_dict_add_to_personal; + dict->add_to_session = composite_dict_add_to_session; + dict->store_replacement = composite_dict_store_replacement; + + return dict; } #ifdef __cplusplus -- cgit v1.2.1