From: MyoungJune Park Date: Fri, 22 Jan 2016 07:10:26 +0000 (+0900) Subject: add 'set language function', fontlist, fontsize with buf fix. X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=a861c2078a38313dbda56faaf6de2227c0b920a8;p=platform%2Fframework%2Fnative%2Ftizen-config-fw.git add 'set language function', fontlist, fontsize with buf fix. Change-Id: Ia7eef787cc15f3c8b9b86a8c6d220addeac6d31a Signed-off-by: MyoungJune Park --- diff --git a/data/tizen-config-fw.xml b/data/tizen-config-fw.xml index dfd195a..21fbd9b 100644 --- a/data/tizen-config-fw.xml +++ b/data/tizen-config-fw.xml @@ -16,6 +16,8 @@ + + diff --git a/plugin_model/config_header.xsl b/plugin_model/config_header.xsl index 644c8c5..4c6eed7 100644 --- a/plugin_model/config_header.xsl +++ b/plugin_model/config_header.xsl @@ -62,6 +62,13 @@ char* _(char int _(char* key, char* value); + + +int _(char* key, char* value); +int __list(char* key, void (*callback)(int,void* , void*), void* data); + + + @@ -133,8 +140,8 @@ int _(char* + int _(); @@ -148,14 +155,12 @@ int _();__list(char* key, void (*callback)(int,void* , void*), void* data); - + - - + --> diff --git a/plugin_model/config_impl.xsl b/plugin_model/config_impl.xsl index b04957a..e16a3c0 100644 --- a/plugin_model/config_impl.xsl +++ b/plugin_model/config_impl.xsl @@ -82,6 +82,23 @@ int _(char* return 0; } + + +int __list(char* key, void (*tcf_iterator)(int,void*, void*), void* data) +{ + PluginTizenConfig* (*fn)(int *); + fn = config_manager(_plugin_path(), ""); + int val = config_manager_get_list(fn, key, tcf_iterator, data); + config_manager_close(); + return val; +} + + + + + + + @@ -211,8 +228,8 @@ int _(char* + int _() @@ -228,7 +245,7 @@ int _() - + int __list(char* key, void (*tcf_iterator)(int,void*, void*), void* data) { PluginTizenConfig* (*fn)(int *); @@ -238,23 +255,9 @@ int __list(c return val; } - - - - +--> diff --git a/plugin_model/config_manager.c b/plugin_model/config_manager.c index 594558c..56de0f4 100644 --- a/plugin_model/config_manager.c +++ b/plugin_model/config_manager.c @@ -108,7 +108,6 @@ int config_manager_set_float(PluginTizenConfig* (*fn)(),char* key, float value) return 0; } - int config_manager_get_list(PluginTizenConfig* (*fn)(),char* key, void tcf_iterator(void (*callback)(int,void*, void*)), void* data) { PluginTizenConfig* pt_table = (*fn)(); @@ -137,5 +136,6 @@ int config_manager_set_float(PluginTizenConfig* (*fn)(),char* key, float value) void config_manager_close() { dlclose(lib_handle); + lib_handle = NULL; } diff --git a/plugin_model/config_table.c b/plugin_model/config_table.c index f2d6251..c6da0ed 100644 --- a/plugin_model/config_table.c +++ b/plugin_model/config_table.c @@ -58,42 +58,121 @@ char *get_simple_text_get(char *key) return val; } -char *get_language_list_version_plugin_path() +char *get_font_list_version_plugin_path() { return "/usr/lib/libhelloworld_plugin.so"; } -int get_language_list_version_get_list(char *key, void (*tcf_iterator) (int, +char *get_font_list_version_get(char *key) +{ + PluginTizenConfig *(*fn) (int *); + + fn = config_manager(get_font_list_version_plugin_path(), + "get_plugin_font_object"); + char *val = config_manager_get(fn, key); + + config_manager_close(); + return val; +} + +int get_font_list_version_set(char *key, char *value) +{ + PluginTizenConfig *(*fn) (int *); + + fn = config_manager(get_font_list_version_plugin_path(), + "get_plugin_font_object"); + config_manager_set(fn, key, value); + config_manager_close(); + return 0; +} + +int get_font_list_version_list_list(char *key, void (*tcf_iterator) (int, void *, void *), void *data) { PluginTizenConfig *(*fn) (int *); - fn = config_manager(get_language_list_version_plugin_path(), - "get_plugin_langlist_object"); + fn = config_manager(get_font_list_version_plugin_path(), + "get_plugin_font_object"); int val = config_manager_get_list(fn, key, tcf_iterator, data); config_manager_close(); return val; } -char *get_list_version_plugin_path() +char *get_font_size_version_plugin_path() +{ + return "/usr/lib/libhelloworld_plugin.so"; +} + +int get_font_size_version_get(char *key) +{ + PluginTizenConfig *(*fn) (int *); + + fn = config_manager(get_font_size_version_plugin_path(), + "get_plugin_fontsize_object"); + int val = config_manager_get_int(fn, key); + + config_manager_close(); + return val; +} + +int get_font_size_version_set(char *key, int value) +{ + PluginTizenConfig *(*fn) (int *); + + fn = config_manager(get_font_size_version_plugin_path(), + "get_plugin_fontsize_object"); + config_manager_set_int(fn, key, value); + config_manager_close(); + return 0; +} + +char *get_language_list_version_plugin_path() { return "/usr/lib/libhelloworld_plugin.so"; } -int get_list_version_get_list(char *key, void (*tcf_iterator) (int, void *, - void *), void *data) +char *get_language_list_version_get(char *key) +{ + PluginTizenConfig *(*fn) (int *); + + fn = config_manager(get_language_list_version_plugin_path(), + "get_plugin_langlist_object"); + char *val = config_manager_get(fn, key); + + config_manager_close(); + return val; +} + +int get_language_list_version_set(char *key, char *value) { PluginTizenConfig *(*fn) (int *); - fn = config_manager(get_list_version_plugin_path(), - "get_plugin_hellolist_object"); + fn = config_manager(get_language_list_version_plugin_path(), + "get_plugin_langlist_object"); + config_manager_set(fn, key, value); + config_manager_close(); + return 0; +} + +int get_language_list_version_list_list(char *key, void (*tcf_iterator) (int, + void *, void *), void *data) +{ + PluginTizenConfig *(*fn) (int *); + + fn = config_manager(get_language_list_version_plugin_path(), + "get_plugin_langlist_object"); int val = config_manager_get_list(fn, key, tcf_iterator, data); config_manager_close(); return val; } +char *get_list_version_plugin_path() +{ + return "/usr/lib/libhelloworld_plugin.so"; +} + char *get_float_version_plugin_path() { return "/usr/lib/libhelloworld_plugin.so"; diff --git a/plugin_model/config_table.h b/plugin_model/config_table.h index a1d3035..1961c99 100644 --- a/plugin_model/config_table.h +++ b/plugin_model/config_table.h @@ -32,12 +32,22 @@ char *get_complex_string_plugin_path(); char *get_complex_string_get(char *key); char *get_simple_text_plugin_path(); char *get_simple_text_get(char *key); +char *get_font_list_version_plugin_path(); +char *get_font_list_version_get(char *key); +int get_font_list_version_set(char *key, char *value); +int get_font_list_version_list(char *key, char *value); +int get_font_list_version_list_list(char *key, void (*callback) (int, void *, + void *), void *data); +char *get_font_size_version_plugin_path(); +int get_font_size_version_get(char *key); +int get_font_size_version_set(char *key, int value); char *get_language_list_version_plugin_path(); -int get_language_list_version_get_list(char *key, void (*callback) (int, +char *get_language_list_version_get(char *key); +int get_language_list_version_set(char *key, char *value); +int get_language_list_version_list(char *key, char *value); +int get_language_list_version_list_list(char *key, void (*callback) (int, void *, void *), void *data); char *get_list_version_plugin_path(); -int get_list_version_get_list(char *key, void (*callback) (int, void *, - void *), void *data); char *get_float_version_plugin_path(); float get_float_version_get(char *key); int get_float_version_set(char *key, float value); diff --git a/plugin_model/config_table.xml b/plugin_model/config_table.xml index 5feccfe..280029c 100644 --- a/plugin_model/config_table.xml +++ b/plugin_model/config_table.xml @@ -15,9 +15,30 @@ simple text example - + + + + + + + get_plugin_fontlist_object + + + + + + + + + get_plugin_fontsize_object + + + + + + get_plugin_langlist_object diff --git a/plugin_model/plugin1/CMakeLists.txt b/plugin_model/plugin1/CMakeLists.txt index f1a5fad..64e2a94 100644 --- a/plugin_model/plugin1/CMakeLists.txt +++ b/plugin_model/plugin1/CMakeLists.txt @@ -18,4 +18,5 @@ SET(PLUGIN1_VERSION_MINOR 1) SET(PLUGIN1_VERSION_PATCH 0) SET(PLUGIN1_VERSION_STR ${PLUGIN1_VERSION_MAJOR}.${PLUGIN1_VERSION_MINOR}.${PLUGIN1_VERSION_PATCH}) SET_TARGET_PROPERTIES(plugin1 PROPERTIES VERSOIN ${PLUGIN1_VERSION_STR} SOVERSION ${PLUGIN1_VERSION_STR}) +TARGET_LINK_LIBRARIES(plugin1 ${pkgs_plugin1_LDFLAGS}) INSTALL(TARGETS plugin1 DESTINATION ${DEST_PATH}) diff --git a/plugin_model/plugin3/CMakeLists.txt b/plugin_model/plugin3/CMakeLists.txt index febce3c..05b04e1 100644 --- a/plugin_model/plugin3/CMakeLists.txt +++ b/plugin_model/plugin3/CMakeLists.txt @@ -18,4 +18,5 @@ SET(PLUGIN3_VERSION_MINOR 1) SET(PLUGIN3_VERSION_PATCH 0) SET(PLUGIN3_VERSION_STR ${PLUGIN3_VERSION_MAJOR}.${PLUGIN3_VERSION_MINOR}.${PLUGIN3_VERSION_PATCH}) SET_TARGET_PROPERTIES(plugin3 PROPERTIES VERSOIN ${PLUGIN3_VERSION_STR} SOVERSION ${PLUGIN3_VERSION_STR}) +TARGET_LINK_LIBRARIES(plugin3 ${pkgs_plugin3_LDFLAGS}) INSTALL(TARGETS plugin3 DESTINATION ${DEST_PATH}) diff --git a/plugin_model/plugin_hello/CMakeLists.txt b/plugin_model/plugin_hello/CMakeLists.txt index 1e49c77..e96be57 100644 --- a/plugin_model/plugin_hello/CMakeLists.txt +++ b/plugin_model/plugin_hello/CMakeLists.txt @@ -3,7 +3,7 @@ #----------------------------------------------------------------------------------- INCLUDE(FindPkgConfig) -PKG_CHECK_MODULES(pkgs_helloworld_plugin REQUIRED eina) +PKG_CHECK_MODULES(pkgs_helloworld_plugin REQUIRED eina capi-system-system-settings vconf) FOREACH(flag ${pkgs_helloworld_plugin_CFLAGS}) SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}") @@ -19,6 +19,8 @@ ADD_LIBRARY(helloworld_plugin SHARED hellofloat_plugin.c hellolist_plugin.c langlist_plugin.c + fontlist_plugin.c + fontsize_plugin.c ) SET(PLUGIN1_VERSION_MAJOR 1) SET(PLUGIN1_VERSION_MINOR 1) @@ -31,4 +33,6 @@ SET (LIBNAME "libhelloworld_plugin.so") SET(PLUGIN1_VERSION_STR ${PLUGIN1_VERSION_MAJOR}.${PLUGIN1_VERSION_MINOR}.${PLUGIN1_VERSION_PATCH}) SET_TARGET_PROPERTIES(helloworld_plugin PROPERTIES VERSOIN ${PLUGIN1_VERSION_STR} SOVERSION ${PLUGIN1_VERSION_STR}) +#TARGET_LINK_LIBRARIES(${SETTING_DISPLAY_UG} -L${CMAKE_BINARY_DIR}/${SETTING_COMMON} -lsetting-common) +TARGET_LINK_LIBRARIES(helloworld_plugin ${pkgs_helloworld_plugin_LDFLAGS}) INSTALL(TARGETS helloworld_plugin DESTINATION ${DEST_PATH}) diff --git a/plugin_model/plugin_hello/fontlist_plugin.c b/plugin_model/plugin_hello/fontlist_plugin.c new file mode 100644 index 0000000..2111397 --- /dev/null +++ b/plugin_model/plugin_hello/fontlist_plugin.c @@ -0,0 +1,57 @@ +#include +#include +#include + +#include +#include + +#include +#include +#include + +#include + +////////////////////////////////////////////////////////////////////////////////////////////////////////// +static int fontlist_init() +{ + printf("fontlist_init \n"); + return 0; +} + +static int fontlist_destroy() +{ + printf("fontlist_destroy \n"); + return 0; +} + +static char* get_config_font(char* key) +{ + return NULL; +} + +static int set_config_font(char* key, char* value) +{ + + return 0; +} + +static int get_config_font_list(char * key, void tcf_iterator(int, void*, void* ), void* data) +{ + return 0; +} + +static PluginTizenConfig config = { + .init = fontlist_init, + .get_config_str = get_config_font, + .set_config_str = set_config_font, + .get_config_list = get_config_font_list, + .destroy = fontlist_destroy +}; + +PluginTizenConfig* get_plugin_fontlist_object() +{ + return &config; +} + + + diff --git a/plugin_model/plugin_hello/fontsize_plugin.c b/plugin_model/plugin_hello/fontsize_plugin.c new file mode 100644 index 0000000..fa2c1ad --- /dev/null +++ b/plugin_model/plugin_hello/fontsize_plugin.c @@ -0,0 +1,60 @@ +#include +#include +#include + +#include +#include + +#include +#include +#include + +#include + +////////////////////////////////////////////////////////////////////////////////////////////////////////// +static int fontsize_init() +{ + printf("fontsize_init \n"); + return 0; +} + +static int fontsize_destroy() +{ + printf("fontsize_destroy \n"); + return 0; +} + +static int get_config_fontsize(char* key) +{ + /* SET SEARCHBAR AREA SIZE */ + int value = 0; + int ret = system_settings_get_value_int(SYSTEM_SETTINGS_KEY_FONT_SIZE, &value); + return value; +} + +static int set_config_font(char* key, char* value) +{ + + return 0; +} + +static int get_config_font_list(char * key, void tcf_iterator(int, void*, void* ), void* data) +{ + return 0; +} + +static PluginTizenConfig config = { + .init = fontsize_init, + .get_config_int = get_config_fontsize, + .set_config_int = set_config_font, + .get_config_list = get_config_font_list, + .destroy = fontsize_destroy +}; + +PluginTizenConfig* get_plugin_fontsize_object() +{ + return &config; +} + + + diff --git a/plugin_model/plugin_hello/langlist_plugin.c b/plugin_model/plugin_hello/langlist_plugin.c index 241ad89..227f7c5 100644 --- a/plugin_model/plugin_hello/langlist_plugin.c +++ b/plugin_model/plugin_hello/langlist_plugin.c @@ -1,4 +1,5 @@ #include +#include #include #include @@ -8,6 +9,8 @@ #include #include +#include + #define LANGLIST_FILE_PATH "/usr/apps/org.tizen.setting/def_config/langlist.xml" #define __FREE(del, arg) do { \ @@ -37,7 +40,6 @@ static int _langlist_load(char *path) { //SETTING_TRACE_BEGIN; //SETTING_TRACE("language list path: %s ", path); - if (!s_langlist) { _parseLangListXML(path); } @@ -143,15 +145,6 @@ static int _langlist_destroy() return 0; } -#if 0 -void setting_get_language_list_destroy() -{ - _langlist_destroy(); -} -#endif - - - ////////////////////////////////////////////////////////////////////////////////////////////////////////// static int langlist_init() { @@ -165,6 +158,38 @@ static int langlist_destroy() return 0; } +static char* get_config_lang(char* key) +{ + char* localeLanguage = NULL; + system_settings_get_value_string(SYSTEM_SETTINGS_KEY_LOCALE_LANGUAGE, &localeLanguage); + + if (key != NULL) { + if (strcmp(key, "region") == 0) { + system_settings_get_value_string(SYSTEM_SETTINGS_KEY_LOCALE_COUNTRY, &localeLanguage); + } else if (strcmp(key, "language") == 0){ + system_settings_get_value_string(SYSTEM_SETTINGS_KEY_LOCALE_LANGUAGE, &localeLanguage); + } else { + system_settings_get_value_string(SYSTEM_SETTINGS_KEY_LOCALE_LANGUAGE, &localeLanguage); + } + } + + return localeLanguage; +} + +static char* set_config_lang(char* key, char* value) +{ + + if (key != NULL) { + if (strcmp(key, "region") == 0) { + system_settings_set_value_string(SYSTEM_SETTINGS_KEY_LOCALE_COUNTRY, value); + } else if (strcmp(key, "language") == 0){ + system_settings_set_value_string(SYSTEM_SETTINGS_KEY_LOCALE_LANGUAGE, value); + } else { + system_settings_set_value_string(SYSTEM_SETTINGS_KEY_LOCALE_LANGUAGE, value); + } + } + return 0; +} static int get_config_lang_list(char * key, void tcf_iterator(int, void*, void* ), void* data) { @@ -195,9 +220,10 @@ static int get_config_lang_list(char * key, void tcf_iterator(int, void*, void* return 0; } - static PluginTizenConfig config = { .init = langlist_init, + .get_config_str = get_config_lang, + .set_config_str = set_config_lang, .get_config_list = get_config_lang_list, .destroy = langlist_destroy };