Design Introduction “Air” Styles Mobile Design Principles Styles UX Overview Design Patterns UI Components for Tizen App Design 2.3 TV Design Principles Styles UX Overview Patterns UI Components Wearable Development Tizen Studio Overview Download Tizen Studio Deprecation Notice Tizen Extensions for Visual Studio Family IoT extension SDK Docs Blog Blog Announcing the Tizen Studio 3.7 Release Announcing the Tizen Studio 3.1 Release Community Forums General Support Tizen .NET Web Application Development Native Application Development SDK & IDE Design Introduction “Air” Styles Mobile Design Principles Styles UX Overview Design Patterns UI Components for Tizen App Design 2.3 TV Design Principles Styles UX Overview Patterns UI Components Wearable Development Tizen Studio Overview Download Tizen Studio Deprecation Notice Tizen Extensions for Visual Studio Family IoT extension SDK Docs Blog Blog Announcing the Tizen Studio 3.7 Release Announcing the Tizen Studio 3.1 Release Community Forums General Support Tizen .NET Web Application Development Native Application Development SDK & IDE
Use eina_module error
1. call source Eina_Module* e_module = eina_module_new("/opt/usr/apps/org.tizen.libtest/lib/lib_so.so"); Eina_Bool ei_b = eina_module_load(e_module); result_type result2 = RES_OK; const char *value = NULL; char *str_air = "air"; char *str_key = "key"; char* (*get_f)(char*, char*); get_f = eina_module_symbol_get( e_module, "get_v" ); /* It is shot down in the code below */ value = (*get_f)(str_air, str_key); //value = get_f(str_air, str_key); /* shout down */ eina_module_unload (e_module); eina_module_free(e_module); 2. shared library //shared_lib.h EXPORT_API char *get_v(char *str_air, char *str_key); //shared_lib.c char *get_v(char *str_air, char *str_key) { int ret = CKMC_ERROR_NONE; char *str; str = calloc(1, sizeof(char) * 251); strcpy(str, str_air); strcat(str, str_key); char* alias = str; char* key_password = NULL; char* error_c = NULL; ckmc_raw_buffer_s *_data; ret = ckmc_get_data(alias, key_password, &_data); //-31522804 if (CKMC_ERROR_NONE != ret) { switch (ret) { case CKMC_ERROR_INVALID_PARAMETER : snprintf(error_c, DISP_STR_SIZE, "%s", "error : 1"); return error_c; case CKMC_ERROR_DB_LOCKED : snprintf(error_c, DISP_STR_SIZE, "%s", "error : 2"); return error_c; case CKMC_ERROR_DB_ALIAS_EXISTS : snprintf(error_c, DISP_STR_SIZE, "%s", "error : 3"); return error_c; case CKMC_ERROR_INVALID_FORMAT : snprintf(error_c, DISP_STR_SIZE, "%s", "error : 4"); return error_c; case CKMC_ERROR_DB_ERROR : snprintf(error_c, DISP_STR_SIZE, "%s", "error : 5"); return error_c; case CKMC_ERROR_PERMISSION_DENIED : snprintf(error_c, DISP_STR_SIZE, "%s", "error : 5"); return error_c; default : snprintf(error_c, DISP_STR_SIZE, "error code : %d", ret); return error_c; // => -31522804 Returned } char *ret_str; ret_str = calloc(1, sizeof(char) * DISP_STR_SIZE); eina_strlcpy(ret_str, magic_data->data, magic_data->size+1); ckmc_buffer_free(magic_data); return ret_str; }아래의 호출 부분의 아래 소스코드에서 다운됩니다.
어떤 문제인가요?
value = (*get_f)(str_air, str_key);
BY
16 Apr 2025
Tizen Studio
BY
04 Nov 2024
Tizen Studio
BY
02 Apr 2024
Tizen Studio