diff options
author | Minsoo Kim <minnsoo.kim@samsung.com> | 2013-04-03 12:59:25 +0900 |
---|---|---|
committer | Minsoo Kim <minnsoo.kim@samsung.com> | 2013-04-03 12:59:25 +0900 |
commit | c1b3a5ccee863b67ca15a9e937b269ee73ea2ba3 (patch) | |
tree | 76d534ac81bd6d2aa4f205be54c41fe3844b0e8d /email-api/email-api-rule.c | |
parent | 3266f5e28f053b3b4252bc1f68e2a4440367ae7a (diff) | |
download | email-service-c1b3a5ccee863b67ca15a9e937b269ee73ea2ba3.tar.gz email-service-c1b3a5ccee863b67ca15a9e937b269ee73ea2ba3.tar.bz2 email-service-c1b3a5ccee863b67ca15a9e937b269ee73ea2ba3.zip |
remove account_svc and merge with latest code
Diffstat (limited to 'email-api/email-api-rule.c')
-rwxr-xr-x | email-api/email-api-rule.c | 40 |
1 files changed, 35 insertions, 5 deletions
diff --git a/email-api/email-api-rule.c b/email-api/email-api-rule.c index 74db35e..f4a71eb 100755 --- a/email-api/email-api-rule.c +++ b/email-api/email-api-rule.c @@ -46,7 +46,7 @@ EXPORT_API int email_get_rule(int filter_id, email_rule_t** filtering_set) EM_IF_NULL_RETURN_VALUE(filtering_set, EMAIL_ERROR_INVALID_PARAM); EM_IF_NULL_RETURN_VALUE(filter_id, EMAIL_ERROR_INVALID_PARAM); - if (!emstorage_get_rule_by_id(0, filter_id, (emstorage_rule_tbl_t**)filtering_set, true, &err)) { + if (!emstorage_get_rule_by_id(filter_id, (emstorage_rule_tbl_t**)filtering_set, true, &err)) { EM_DEBUG_EXCEPTION("emstorage_get_rule_by_id failed [%d]", err); goto FINISH_OFF; @@ -112,8 +112,12 @@ EXPORT_API int email_add_rule(email_rule_t* filtering_set) EM_DEBUG_EXCEPTION("emipc_execute_proxy_api Failed"); EM_PROXY_IF_NULL_RETURN_VALUE(0, hAPI, EMAIL_ERROR_IPC_SOCKET_FAILURE); } - - emipc_get_parameter(hAPI, ePARAMETER_OUT, 0, sizeof(int), &err); + + /* get reult form service */ + err = *((int*)emipc_get_nth_parameter_data(hAPI, ePARAMETER_OUT, 0)); + if (err == EMAIL_ERROR_NONE) { + filtering_set->filter_id = *((int*)emipc_get_nth_parameter_data(hAPI, ePARAMETER_OUT, 1)); + } emipc_destroy_email_api(hAPI); hAPI = NULL; @@ -121,8 +125,6 @@ EXPORT_API int email_add_rule(email_rule_t* filtering_set) return err; } - - EXPORT_API int email_update_rule(int filter_id, email_rule_t* new_set) { EM_DEBUG_FUNC_BEGIN("filter_id[%d], new_set[%p]", filter_id, new_set); @@ -224,4 +226,32 @@ EXPORT_API int email_free_rule (email_rule_t** filtering_set, int count) return err; } +EXPORT_API int email_apply_rule(int filter_id) +{ + EM_DEBUG_FUNC_BEGIN("filter_id[%d]", filter_id); + + int err = EMAIL_ERROR_NONE; + + EM_IF_NULL_RETURN_VALUE(filter_id, EMAIL_ERROR_INVALID_PARAM); + + HIPC_API hAPI = emipc_create_email_api(_EMAIL_API_APPLY_RULE); + EM_IF_NULL_RETURN_VALUE(hAPI, EMAIL_ERROR_NULL_VALUE); + + /* filter_id */ + if(!emipc_add_parameter(hAPI, ePARAMETER_IN, (char*)&filter_id, sizeof(int))) { + EM_DEBUG_EXCEPTION("emipc_add_parameter failed"); + EM_PROXY_IF_NULL_RETURN_VALUE(0, hAPI, EMAIL_ERROR_NULL_VALUE); + } + + if(emipc_execute_proxy_api(hAPI) != EMAIL_ERROR_NONE) { + EM_DEBUG_EXCEPTION("emipc_execute_proxy_api failed"); + EM_PROXY_IF_NULL_RETURN_VALUE(0, hAPI, EMAIL_ERROR_IPC_SOCKET_FAILURE); + } + + emipc_get_parameter(hAPI, ePARAMETER_OUT, 0, sizeof(int), &err); + emipc_destroy_email_api(hAPI); + hAPI = NULL; + EM_DEBUG_FUNC_END("error value [%d]", err); + return err; +} |