From 67872b03384a0b19dbc0c6ee2933c2afbb3bd8d9 Mon Sep 17 00:00:00 2001 From: Sunggoo Kim Date: Tue, 12 May 2015 10:17:09 +0900 Subject: [PATCH] Apply coding guide : strcmp Change-Id: I81e742dfea68f31b6df2f275787c575ebaf1994a Signed-off-by: MyoungHoon Chae --- client/ctsvc_client_noti.c | 8 +- common/ctsvc_filter.c | 2 +- common/ctsvc_inotify.c | 4 +- common/ctsvc_record_contact.c | 4 +- common/ctsvc_struct.h | 1 + common/ctsvc_vcard.c | 2 +- native/ctsvc_db_access_control.c | 4 +- native/ctsvc_db_plugin_company_helper.c | 2 +- native/ctsvc_db_plugin_contact.c | 6 +- native/ctsvc_db_plugin_contact_helper.c | 2 +- native/ctsvc_db_plugin_group.c | 2 +- native/ctsvc_db_plugin_my_profile.c | 2 +- native/ctsvc_db_query.c | 70 ++++----- server/ctsvc_server.c | 2 +- server/ctsvc_server_bg.c | 2 +- server/ctsvc_server_utils.c | 2 +- server/ctsvc_server_zone.c | 269 ++++++++++++++++++++++++++++++++ 17 files changed, 327 insertions(+), 57 deletions(-) create mode 100644 server/ctsvc_server_zone.c diff --git a/client/ctsvc_client_noti.c b/client/ctsvc_client_noti.c index 1abeb62..3af86ac 100644 --- a/client/ctsvc_client_noti.c +++ b/client/ctsvc_client_noti.c @@ -156,7 +156,7 @@ API int contacts_db_add_changed_cb_with_info(const char* view_uri, if (!it->data) continue; info = it->data; - if (strcmp(info->view_uri, view_uri) == 0) + if (STRING_EQUAL == strcmp(info->view_uri, view_uri)) break; else info = NULL; @@ -210,8 +210,8 @@ API int contacts_db_remove_changed_cb_with_info(const char* view_uri, RETVM_IF(view_uri == NULL, CONTACTS_ERROR_INVALID_PARAMETER, "view_uri is NULL"); RETVM_IF(cb == NULL, CONTACTS_ERROR_INVALID_PARAMETER, "cb is NULL"); - if (strcmp(view_uri, CTSVC_VIEW_URI_PHONELOG) != 0 && - strcmp(view_uri, CTSVC_VIEW_URI_PERSON) != 0) { + if (STRING_EQUAL != strcmp(view_uri, CTSVC_VIEW_URI_PHONELOG) && + STRING_EQUAL != strcmp(view_uri, CTSVC_VIEW_URI_PERSON)) { CTS_ERR("We support this API for only %s and %s", CTSVC_VIEW_URI_PERSON, CTSVC_VIEW_URI_PHONELOG); return CONTACTS_ERROR_INVALID_PARAMETER; } @@ -222,7 +222,7 @@ API int contacts_db_remove_changed_cb_with_info(const char* view_uri, if (!it->data) continue; info = it->data; - if (strcmp(info->view_uri, view_uri) == 0) + if (STRING_EQUAL == strcmp(info->view_uri, view_uri)) break; else info = NULL; diff --git a/common/ctsvc_filter.c b/common/ctsvc_filter.c index 2772300..521ec5a 100644 --- a/common/ctsvc_filter.c +++ b/common/ctsvc_filter.c @@ -90,7 +90,7 @@ API int contacts_filter_add_filter(contacts_filter_h filter1, contacts_filter_h RETVM_IF(g_slist_length(s_filter1->filter_ops) != (g_slist_length(s_filter1->filters)), CONTACTS_ERROR_INVALID_PARAMETER, "Invalid parameter : Please check the operator of filter"); - RETVM_IF (0 != strcmp(s_filter1->view_uri, s_filter2->view_uri), CONTACTS_ERROR_INVALID_PARAMETER, + RETVM_IF (STRING_EQUAL != strcmp(s_filter1->view_uri, s_filter2->view_uri), CONTACTS_ERROR_INVALID_PARAMETER, "The filter view_uri is different (filter1:%s, filter2:%s)", s_filter1->view_uri, s_filter2->view_uri); ret = ctsvc_filter_clone(filter2, &new_filter); RETVM_IF(CONTACTS_ERROR_NONE != ret, ret, "ctsvc_filter_clone is Fail (%d)", ret); diff --git a/common/ctsvc_inotify.c b/common/ctsvc_inotify.c index 3d7e3c4..deb979b 100755 --- a/common/ctsvc_inotify.c +++ b/common/ctsvc_inotify.c @@ -288,7 +288,7 @@ int ctsvc_inotify_subscribe(const char *view_uri, if (it->data) { same_noti = it->data; if (same_noti->wd == wd && same_noti->cb == cb && - strcmp(same_noti->view_uri, view_uri) == 0 && same_noti->cb_data == data) + STRING_EQUAL == strcmp(same_noti->view_uri, view_uri) && same_noti->cb_data == data) break; else same_noti = NULL; @@ -332,7 +332,7 @@ static inline int __ctsvc_del_noti(GSList **noti_list, int wd, noti_info *noti = it->data; if (noti && wd == noti->wd) { if (cb == noti->cb && user_data == noti->cb_data - && 0 == strcmp(noti->view_uri, view_uri)) { + && STRING_EQUAL == strcmp(noti->view_uri, view_uri)) { it = it->next; result = g_slist_remove(result, noti); free(noti->view_uri); diff --git a/common/ctsvc_record_contact.c b/common/ctsvc_record_contact.c index 6637dab..ced55b9 100755 --- a/common/ctsvc_record_contact.c +++ b/common/ctsvc_record_contact.c @@ -3301,7 +3301,7 @@ static int __ctsvc_company_set_str(contacts_record_h record, unsigned int proper FREEandSTRDUP(company->role, str); break; case CTSVC_PROPERTY_COMPANY_LOGO: - if (company->logo && company->is_vcard && (NULL == str || 0 != strcmp(company->logo, str))) { + if (company->logo && company->is_vcard && (NULL == str || STRING_EQUAL != strcmp(company->logo, str))) { company->is_vcard = false; __ctsvc_temp_image_hash_table_remove(company->logo); } @@ -3597,7 +3597,7 @@ static int __ctsvc_image_set_str(contacts_record_h record, unsigned int property FREEandSTRDUP(image->label, str); break; case CTSVC_PROPERTY_IMAGE_PATH: - if (image->path && image->is_vcard && (NULL == str || 0 != strcmp(image->path, str))) { + if (image->path && image->is_vcard && (NULL == str || STRING_EQUAL != strcmp(image->path, str))) { image->is_vcard = false; __ctsvc_temp_image_hash_table_remove(image->path); } diff --git a/common/ctsvc_struct.h b/common/ctsvc_struct.h index e7f9dcc..9b2beab 100644 --- a/common/ctsvc_struct.h +++ b/common/ctsvc_struct.h @@ -36,6 +36,7 @@ #define CTSVC_PATH_MAX_LEN 1024 #define CTSVC_IMG_FULL_PATH_SIZE_MAX 1024 // current max length file path is 256 +#define STRING_EQUAL 0 #define SAFE_STR(src) (src)?src:"" #define SAFE_STRDUP(src) (src)?strdup(src):NULL diff --git a/common/ctsvc_vcard.c b/common/ctsvc_vcard.c index eab39fb..83b5e86 100644 --- a/common/ctsvc_vcard.c +++ b/common/ctsvc_vcard.c @@ -3702,7 +3702,7 @@ static inline int __ctsvc_vcard_check_version(const char *src) if (start) break; } - if (0 == strcmp(src, ver3)) + if (STRING_EQUAL == strcmp(src, ver3)) return CTSVC_VCARD_VER_3_0; else return CTSVC_VCARD_VER_2_1; diff --git a/native/ctsvc_db_access_control.c b/native/ctsvc_db_access_control.c index b262363..d0dbf5d 100644 --- a/native/ctsvc_db_access_control.c +++ b/native/ctsvc_db_access_control.c @@ -182,7 +182,7 @@ static void __ctsvc_set_permission_info(ctsvc_permission_info_s *info) info->write_list[write_index++] = id; else if (NULL == info->ipc) // contacts-service daemon info->write_list[write_index++] = id; - else if (info->smack && temp && 0 == strcmp(temp, info->smack)) // owner + else if (info->smack && temp && STRING_EQUAL == strcmp(temp, info->smack)) // owner info->write_list[write_index++] = id; else if (CONTACTS_ADDRESS_BOOK_MODE_NONE == mode) info->write_list[write_index++] = id; @@ -403,7 +403,7 @@ int ctsvc_is_owner(int addressbook_id) saved_smack = ctsvc_stmt_get_text(stmt, 1); smack = ctsvc_get_client_smack_label(); - if (smack && strcmp(smack, saved_smack) == 0) + if (smack && STRING_EQUAL == strcmp(smack, saved_smack)) ret = CONTACTS_ERROR_NONE; ctsvc_stmt_finalize(stmt); diff --git a/native/ctsvc_db_plugin_company_helper.c b/native/ctsvc_db_plugin_company_helper.c index fc768a1..468bb7b 100644 --- a/native/ctsvc_db_plugin_company_helper.c +++ b/native/ctsvc_db_plugin_company_helper.c @@ -227,7 +227,7 @@ int ctsvc_db_company_update(contacts_record_h record, int contact_id, bool is_my if (logo) { char full_path[CTSVC_IMG_FULL_PATH_SIZE_MAX] = {0}; snprintf(full_path, sizeof(full_path), "%s/%s", CTS_LOGO_IMAGE_LOCATION, logo); - if (company->logo && strcmp(company->logo, full_path) == 0) { + if (company->logo && STRING_EQUAL == strcmp(company->logo, full_path)) { int index = _contacts_company.logo & 0x000000FF; ((ctsvc_record_s *)record)->properties_flags[index] = 0; same = true; diff --git a/native/ctsvc_db_plugin_contact.c b/native/ctsvc_db_plugin_contact.c index 1fb2505..da17c4f 100644 --- a/native/ctsvc_db_plugin_contact.c +++ b/native/ctsvc_db_plugin_contact.c @@ -917,7 +917,7 @@ static inline int __ctsvc_contact_refresh_lookup_data(int contact_id, ctsvc_cont ctsvc_stmt_finalize(stmt); return ret; } - if (number_record->normalized && strcmp(number_record->cleaned, number_record->normalized) != 0) { + if (number_record->normalized && STRING_EQUAL != strcmp(number_record->cleaned, number_record->normalized)) { ctsvc_stmt_reset(stmt); if (*number_record->normalized) ctsvc_stmt_bind_text(stmt, 1, number_record->normalized); @@ -1144,7 +1144,7 @@ static int __ctsvc_db_contact_update_record(contacts_record_h record) if ((NULL == contact->image_thumbnail_path && NULL != image->path) || (NULL != contact->image_thumbnail_path && NULL == image->path) || - (contact->image_thumbnail_path && image->path && 0 != strcmp(contact->image_thumbnail_path, image->path))) { + (contact->image_thumbnail_path && image->path && STRING_EQUAL != strcmp(contact->image_thumbnail_path, image->path))) { ctsvc_record_set_property_flag((ctsvc_record_s *)contact, _contacts_contact.image_thumbnail_path, CTSVC_PROPERTY_FLAG_DIRTY); if (ctsvc_contact_check_image_location(image->path)) @@ -2209,7 +2209,7 @@ static int __ctsvc_db_contact_replace_record(contacts_record_h record, int conta image = (ctsvc_image_s*)record_image; if ((NULL == contact->image_thumbnail_path && NULL != image->path) || (NULL != contact->image_thumbnail_path && NULL == image->path) || - (contact->image_thumbnail_path && image->path && 0 != strcmp(contact->image_thumbnail_path, image->path))) { + (contact->image_thumbnail_path && image->path && STRING_EQUAL != strcmp(contact->image_thumbnail_path, image->path))) { ctsvc_record_set_property_flag((ctsvc_record_s *)contact, _contacts_contact.image_thumbnail_path, CTSVC_PROPERTY_FLAG_DIRTY); if (ctsvc_contact_check_image_location(image->path)) diff --git a/native/ctsvc_db_plugin_contact_helper.c b/native/ctsvc_db_plugin_contact_helper.c index 6a68beb..8026e63 100644 --- a/native/ctsvc_db_plugin_contact_helper.c +++ b/native/ctsvc_db_plugin_contact_helper.c @@ -163,7 +163,7 @@ int ctsvc_contact_update_image_file(int parent_id, int img_id, WARN_IF(CONTACTS_ERROR_NONE != ret && CONTACTS_ERROR_NO_DATA != ret, "__ctsvc_contact_get_current_image_file() Fail(%d)", ret); if (*dest) { - if (src_img && strcmp(dest, src_img) == 0) { + if (src_img && STRING_EQUAL == strcmp(dest, src_img)) { snprintf(dest_name, dest_size, "%s", src_img + strlen(CTSVC_CONTACT_IMG_FULL_LOCATION) + 1); return CONTACTS_ERROR_NONE; } diff --git a/native/ctsvc_db_plugin_group.c b/native/ctsvc_db_plugin_group.c index 40046a8..9404042 100644 --- a/native/ctsvc_db_plugin_group.c +++ b/native/ctsvc_db_plugin_group.c @@ -261,7 +261,7 @@ static int __ctsvc_db_group_update_record(contacts_record_h record) char full_path[CTSVC_IMG_FULL_PATH_SIZE_MAX] = {0}; snprintf(full_path, sizeof(full_path), "%s/%s", CTS_GROUP_IMAGE_LOCATION, image); - if (group->image_thumbnail_path && strcmp(group->image_thumbnail_path, full_path) == 0) { + if (group->image_thumbnail_path && STRING_EQUAL == strcmp(group->image_thumbnail_path, full_path)) { int index = _contacts_group.image_path & 0x000000FF; ((ctsvc_record_s *)record)->properties_flags[index] = 0; same = true; diff --git a/native/ctsvc_db_plugin_my_profile.c b/native/ctsvc_db_plugin_my_profile.c index ee2e85f..9d6dda9 100644 --- a/native/ctsvc_db_plugin_my_profile.c +++ b/native/ctsvc_db_plugin_my_profile.c @@ -727,7 +727,7 @@ static int __ctsvc_db_my_profile_update_record(contacts_record_h record) image = (ctsvc_image_s*)record_image; if ((NULL == my_profile->image_thumbnail_path && NULL != image->path) || (NULL != my_profile->image_thumbnail_path && NULL == image->path) || - (my_profile->image_thumbnail_path && image->path && 0 != strcmp(my_profile->image_thumbnail_path, image->path))) { + (my_profile->image_thumbnail_path && image->path && STRING_EQUAL != strcmp(my_profile->image_thumbnail_path, image->path))) { ctsvc_record_set_property_flag((ctsvc_record_s *)my_profile, _contacts_my_profile.image_thumbnail_path, CTSVC_PROPERTY_FLAG_DIRTY); if (ctsvc_contact_check_image_location(image->path)) diff --git a/native/ctsvc_db_query.c b/native/ctsvc_db_query.c index fe3ebee..1042585 100644 --- a/native/ctsvc_db_query.c +++ b/native/ctsvc_db_query.c @@ -388,7 +388,7 @@ static inline int __ctsvc_db_create_str_condition(ctsvc_composite_filter_s *com_ *bind_text = g_slist_append(*bind_text, __ctsvc_db_get_str_with_escape(min_match, strlen(min_match), with_escape)); // _NUMBER_COMPARE_(noraml_num, normalized keyword) - if (strcmp(normal_num, "+") != 0) { + if (STRING_EQUAL != strcmp(normal_num, "+")) { const char *number_field = NULL; if (filter->property_id == CTSVC_PROPERTY_NUMBER_NUMBER_FILTER) number_field = __ctsvc_db_get_property_field_name(com_filter->properties, @@ -449,7 +449,7 @@ static inline int __ctsvc_db_create_str_condition(ctsvc_composite_filter_s *com_ else *bind_text = g_slist_append(*bind_text, __ctsvc_db_get_str_with_escape(clean_num, strlen(clean_num), with_escape)); } - else if (strcmp(clean_num, "+") != 0) { + else if (STRING_EQUAL != strcmp(clean_num, "+")) { *bind_text = g_slist_append(*bind_text, __ctsvc_db_get_str_with_escape(clean_num, strlen(clean_num), with_escape)); } else @@ -889,7 +889,7 @@ static inline bool __ctsvc_db_view_has_display_name(const char *view_uri, { int i; #ifdef ENABLE_LOG_FEATURE - if (0 == strcmp(view_uri, _contacts_person_phone_log._uri)) + if (STRING_EQUAL == strcmp(view_uri, _contacts_person_phone_log._uri)) return false; #endif // ENABLE_LOG_FEATURE @@ -1023,7 +1023,7 @@ int ctsvc_db_make_get_records_query_stmt(ctsvc_query_s *s_query, int offset, int temp_len = SAFE_SNPRINTF(&query, &query_size, len, sortkey); if (0 <= temp_len) len+= temp_len; } - else if (0 == strcmp(s_query->view_uri, CTSVC_VIEW_URI_GROUP)) { + else if (STRING_EQUAL == strcmp(s_query->view_uri, CTSVC_VIEW_URI_GROUP)) { temp_len = SAFE_SNPRINTF(&query, &query_size, len, " ORDER BY group_prio"); if (0 <= temp_len) len+= temp_len; } @@ -1150,7 +1150,7 @@ static int __ctsvc_db_get_all_records_exec(const char *view_uri, const property_ if (__ctsvc_db_view_has_display_name(view_uri, properties, ids_count)) { sortkey = ctsvc_get_sort_column(); len += snprintf(query+len, sizeof(query)-len, " ORDER BY %s", sortkey); - } else if (0 == strcmp(view_uri, CTSVC_VIEW_URI_GROUP)) + } else if (STRING_EQUAL == strcmp(view_uri, CTSVC_VIEW_URI_GROUP)) len += snprintf(query+len, sizeof(query)-len, " ORDER BY group_prio"); if (0 != limit) { @@ -1217,13 +1217,13 @@ static inline bool __ctsvc_db_view_can_keyword_search(const char *view_uri) { RETV_IF(NULL == view_uri, false); - if (0 == strcmp(view_uri, CTSVC_VIEW_URI_PERSON) - || 0 == strcmp(view_uri, CTSVC_VIEW_URI_READ_ONLY_PERSON_CONTACT) - || 0 == strcmp(view_uri, CTSVC_VIEW_URI_READ_ONLY_PERSON_NUMBER) - || 0 == strcmp(view_uri, CTSVC_VIEW_URI_READ_ONLY_PERSON_EMAIL) - || 0 == strcmp(view_uri, CTSVC_VIEW_URI_READ_ONLY_PERSON_GROUP) - || 0 == strcmp(view_uri, CTSVC_VIEW_URI_READ_ONLY_PERSON_GROUP_ASSIGNED) - || 0 == strcmp(view_uri, CTSVC_VIEW_URI_READ_ONLY_PERSON_GROUP_NOT_ASSIGNED)) { + if (STRING_EQUAL == strcmp(view_uri, CTSVC_VIEW_URI_PERSON) + || STRING_EQUAL == strcmp(view_uri, CTSVC_VIEW_URI_READ_ONLY_PERSON_CONTACT) + || STRING_EQUAL == strcmp(view_uri, CTSVC_VIEW_URI_READ_ONLY_PERSON_NUMBER) + || STRING_EQUAL == strcmp(view_uri, CTSVC_VIEW_URI_READ_ONLY_PERSON_EMAIL) + || STRING_EQUAL == strcmp(view_uri, CTSVC_VIEW_URI_READ_ONLY_PERSON_GROUP) + || STRING_EQUAL == strcmp(view_uri, CTSVC_VIEW_URI_READ_ONLY_PERSON_GROUP_ASSIGNED) + || STRING_EQUAL == strcmp(view_uri, CTSVC_VIEW_URI_READ_ONLY_PERSON_GROUP_NOT_ASSIGNED)) { return true; } return false; @@ -1310,7 +1310,7 @@ static int __ctsvc_db_append_search_query(const char *src, char **query, int *qu int keyword_temp_len = 0; int temp_len; - if (ctsvc_is_phonenumber(src) == false || strcmp(src, "+") == 0) { + if (ctsvc_is_phonenumber(src) == false || STRING_EQUAL == strcmp(src, "+")) { phonenumber = false; } @@ -1319,7 +1319,7 @@ static int __ctsvc_db_append_search_query(const char *src, char **query, int *qu range &= ~CONTACTS_SEARCH_RANGE_NAME; } - if (strcmp(src, "+") == 0) { + if (STRING_EQUAL == strcmp(src, "+")) { range &= ~CONTACTS_SEARCH_RANGE_NUMBER; } @@ -1692,7 +1692,7 @@ static int __ctsvc_db_search_records_append_sort(const char *view_uri, temp_str_len += snprintf(temp_str+temp_str_len, sizeof(temp_str)-temp_str_len, " AND "); if (ctsvc_is_chosung(temp)) { for (k=0;k<19;k++) { - if (strcmp(hangul_syllable[k][0], temp) == 0) + if (STRING_EQUAL == strcmp(hangul_syllable[k][0], temp)) break; } } @@ -1786,14 +1786,14 @@ static int __ctsvc_db_search_records_exec(const char *view_uri, const property_i query = calloc(1, query_size); len = 0; - if (strcmp(keyword, "+") == 0) { + if (STRING_EQUAL == strcmp(keyword, "+")) { range &= ~CONTACTS_SEARCH_RANGE_NUMBER; } - if (0 == strcmp(view_uri, CTSVC_VIEW_URI_READ_ONLY_PERSON_CONTACT) - || 0 == strcmp(view_uri, CTSVC_VIEW_URI_READ_ONLY_PERSON_GROUP) - || 0 == strcmp(view_uri, CTSVC_VIEW_URI_READ_ONLY_PERSON_GROUP_ASSIGNED) - || 0 == strcmp(view_uri, CTSVC_VIEW_URI_READ_ONLY_PERSON_GROUP_NOT_ASSIGNED)) { + if (STRING_EQUAL == strcmp(view_uri, CTSVC_VIEW_URI_READ_ONLY_PERSON_CONTACT) + || STRING_EQUAL == strcmp(view_uri, CTSVC_VIEW_URI_READ_ONLY_PERSON_GROUP) + || STRING_EQUAL == strcmp(view_uri, CTSVC_VIEW_URI_READ_ONLY_PERSON_GROUP_ASSIGNED) + || STRING_EQUAL == strcmp(view_uri, CTSVC_VIEW_URI_READ_ONLY_PERSON_GROUP_NOT_ASSIGNED)) { if (range & CONTACTS_SEARCH_RANGE_EMAIL) { free(query); return CONTACTS_ERROR_INVALID_PARAMETER; @@ -1813,7 +1813,7 @@ static int __ctsvc_db_search_records_exec(const char *view_uri, const property_i temp_len = __ctsvc_db_append_search_query(keyword, &query, &query_size, len, range); if (0 <= temp_len) len = temp_len; } - else if (0 == strcmp(view_uri, CTSVC_VIEW_URI_READ_ONLY_PERSON_NUMBER)) { + else if (STRING_EQUAL == strcmp(view_uri, CTSVC_VIEW_URI_READ_ONLY_PERSON_NUMBER)) { bool need_union = false; if (range & CONTACTS_SEARCH_RANGE_DATA || range & CONTACTS_SEARCH_RANGE_EMAIL) { free(query); @@ -1921,7 +1921,7 @@ static int __ctsvc_db_search_records_exec(const char *view_uri, const property_i temp_len = SAFE_SNPRINTF(&query, &query_size, len, ") "); if (0 <= temp_len) len+= temp_len; } - else if (0 == strcmp(view_uri, CTSVC_VIEW_URI_READ_ONLY_PERSON_EMAIL)) { + else if (STRING_EQUAL == strcmp(view_uri, CTSVC_VIEW_URI_READ_ONLY_PERSON_EMAIL)) { bool need_union = false; if (range & CONTACTS_SEARCH_RANGE_NUMBER || range & CONTACTS_SEARCH_RANGE_DATA) { free(query); @@ -2017,7 +2017,7 @@ static int __ctsvc_db_search_records_exec(const char *view_uri, const property_i if (sortkey) { len = __ctsvc_db_search_records_append_sort(view_uri, sortkey, keyword, len, &query, &query_size); } - else if (0 == strcmp(view_uri, CTSVC_VIEW_URI_GROUP)) { + else if (STRING_EQUAL == strcmp(view_uri, CTSVC_VIEW_URI_GROUP)) { temp_len = SAFE_SNPRINTF(&query, &query_size, len, " ORDER BY group_prio"); if (0 <= temp_len) len+= temp_len; } @@ -2182,10 +2182,10 @@ static inline int __ctsvc_db_search_records_with_query_exec(ctsvc_query_s *s_que temp_len = SAFE_SNPRINTF(&query, &query_size, len, " FROM "); if (0 <= temp_len) len+= temp_len; - if (0 == strcmp(s_query->view_uri, CTSVC_VIEW_URI_READ_ONLY_PERSON_CONTACT) - || 0 == strcmp(s_query->view_uri, CTSVC_VIEW_URI_READ_ONLY_PERSON_GROUP) - || 0 == strcmp(s_query->view_uri, CTSVC_VIEW_URI_READ_ONLY_PERSON_GROUP_ASSIGNED) - || 0 == strcmp(s_query->view_uri, CTSVC_VIEW_URI_READ_ONLY_PERSON_GROUP_NOT_ASSIGNED)) { + if (STRING_EQUAL == strcmp(s_query->view_uri, CTSVC_VIEW_URI_READ_ONLY_PERSON_CONTACT) + || STRING_EQUAL == strcmp(s_query->view_uri, CTSVC_VIEW_URI_READ_ONLY_PERSON_GROUP) + || STRING_EQUAL == strcmp(s_query->view_uri, CTSVC_VIEW_URI_READ_ONLY_PERSON_GROUP_ASSIGNED) + || STRING_EQUAL == strcmp(s_query->view_uri, CTSVC_VIEW_URI_READ_ONLY_PERSON_GROUP_NOT_ASSIGNED)) { temp_len = SAFE_SNPRINTF(&query, &query_size, len, table); if (0 <= temp_len) len+= temp_len; temp_len = SAFE_SNPRINTF(&query, &query_size, len, " WHERE "); @@ -2195,8 +2195,8 @@ static inline int __ctsvc_db_search_records_with_query_exec(ctsvc_query_s *s_que temp_len = SAFE_SNPRINTF(&query, &query_size, len, ".contact_id IN "); if (0 <= temp_len) len+= temp_len; } - else if (0 == strcmp(s_query->view_uri, CTSVC_VIEW_URI_READ_ONLY_PERSON_NUMBER) - || 0 == strcmp(s_query->view_uri, CTSVC_VIEW_URI_READ_ONLY_PERSON_EMAIL)) { + else if (STRING_EQUAL == strcmp(s_query->view_uri, CTSVC_VIEW_URI_READ_ONLY_PERSON_NUMBER) + || STRING_EQUAL == strcmp(s_query->view_uri, CTSVC_VIEW_URI_READ_ONLY_PERSON_EMAIL)) { free(query); return CONTACTS_ERROR_INVALID_PARAMETER; } @@ -2277,7 +2277,7 @@ static inline int __ctsvc_db_search_records_with_query_exec(ctsvc_query_s *s_que else if (sortkey) { len = __ctsvc_db_search_records_append_sort(s_query->view_uri, sortkey, keyword, len, &query, &query_size); } - else if (0 == strcmp(s_query->view_uri, CTSVC_VIEW_URI_GROUP)) { + else if (STRING_EQUAL == strcmp(s_query->view_uri, CTSVC_VIEW_URI_GROUP)) { temp_len = SAFE_SNPRINTF(&query, &query_size, len, " ORDER BY group_prio"); if (0 <= temp_len) len+= temp_len; } @@ -3078,27 +3078,27 @@ API int contacts_db_get_changes_by_version(const char* view_uri, int addressbook RETV_IF(NULL == out_current_version, CONTACTS_ERROR_INVALID_PARAMETER); *out_current_version = 0; - if (0 == strcmp(view_uri, _contacts_contact_updated_info._uri)) { + if (STRING_EQUAL == strcmp(view_uri, _contacts_contact_updated_info._uri)) { ret = __ctsvc_db_get_contact_changes(view_uri, addressbook_id, version, out_list, out_current_version); return ret; } - else if (0 == strcmp(view_uri, _contacts_group_updated_info._uri)) { + else if (STRING_EQUAL == strcmp(view_uri, _contacts_group_updated_info._uri)) { ret = __ctsvc_db_get_group_changes(view_uri, addressbook_id, version, out_list, out_current_version); return ret; } - else if (0 == strcmp(view_uri, _contacts_group_member_updated_info._uri)) { + else if (STRING_EQUAL == strcmp(view_uri, _contacts_group_member_updated_info._uri)) { ret = __ctsvc_db_get_group_member_changes(view_uri, addressbook_id, version, out_list, out_current_version); return ret; } - else if (0 == strcmp(view_uri, _contacts_grouprel_updated_info._uri)) { + else if (STRING_EQUAL == strcmp(view_uri, _contacts_grouprel_updated_info._uri)) { ret = __ctsvc_db_get_group_relations_changes(view_uri, addressbook_id, version, out_list, out_current_version); return ret; } - else if (0 == strcmp(view_uri, _contacts_my_profile_updated_info._uri)) { + else if (STRING_EQUAL == strcmp(view_uri, _contacts_my_profile_updated_info._uri)) { ret = __ctsvc_db_get_my_profile_changes(view_uri, addressbook_id, version, out_list, out_current_version); return ret; diff --git a/server/ctsvc_server.c b/server/ctsvc_server.c index b5f1db5..53b633d 100755 --- a/server/ctsvc_server.c +++ b/server/ctsvc_server.c @@ -186,7 +186,7 @@ int main(int argc, char *argv[]) } ctsvc_server_check_schema(); - if (2 <= argc && !strcmp(argv[1], "schema")) + if (2 <= argc && STRING_EQUAL ==strcmp(argv[1], "schema")) return CONTACTS_ERROR_NONE; ctsvc_create_rep_set_permission(DATA_REPERTORY, 0755); diff --git a/server/ctsvc_server_bg.c b/server/ctsvc_server_bg.c index 0a455ee..171bdb1 100644 --- a/server/ctsvc_server_bg.c +++ b/server/ctsvc_server_bg.c @@ -461,7 +461,7 @@ static bool __ctsvc_server_account_delete_cb(const char* event_type, int account { CTS_FN_CALL; CTS_INFO("event_type : %s, account_id : %d", event_type, account_id); - if (strcmp(event_type, ACCOUNT_NOTI_NAME_DELETE) == 0) + if (STRING_EQUAL == strcmp(event_type, ACCOUNT_NOTI_NAME_DELETE)) ctsvc_addressbook_delete(account_id); return true; } diff --git a/server/ctsvc_server_utils.c b/server/ctsvc_server_utils.c index 55e8ef2..b5f5b76 100755 --- a/server/ctsvc_server_utils.c +++ b/server/ctsvc_server_utils.c @@ -70,7 +70,7 @@ static void __ctsvc_server_change_language_cb(keynode_t *key, void *data) new_langset = vconf_keynode_get_str(key); langset = ctsvc_get_langset(); INFO("%s --> %s", langset, new_langset); - if (strcmp(langset, new_langset) != 0) { + if (STRING_EQUAL != strcmp(langset, new_langset)) { bool sort_name_update = false; old_primary_sort = ctsvc_get_primary_sort(); if (old_primary_sort < 0) { diff --git a/server/ctsvc_server_zone.c b/server/ctsvc_server_zone.c new file mode 100644 index 0000000..6701e2f --- /dev/null +++ b/server/ctsvc_server_zone.c @@ -0,0 +1,269 @@ +/* + * Contacts Service + * + * Copyright (c) 2010 - 2015 Samsung Electronics Co., Ltd. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + + +#include "contacts.h" +#include "ctsvc_socket.h" +#include "ctsvc_service.h" +#include "ctsvc_server_bg.h" +#include "ctsvc_db_access_control.h" +#include "ctsvc_ipc_define.h" +#include "ctsvc_internal.h" +#include "ctsvc_notification.h" +#include "ctsvc_schema_recovery.h" +#include "ctsvc_server_update.h" +#include "ctsvc_server_zone.h" +#include "ctsvc_server_utils.h" +#include "ctsvc_zone.h" + +vsm_context_h ctsvc_vsm_ctx = NULL; +static bool _ctsvc_zone_enabled = false; + +void ctsvc_server_zone_finalize_zone(const char *zone_name) +{ + ctsvc_server_bg_remove_cb(zone_name); + ctsvc_unset_client_access_info(zone_name); + ctsvc_disconnect(zone_name); +} + +char* ctsvc_server_zone_get_default_zone() +{ + if (_ctsvc_zone_enabled) + return CTSVC_ZONE_NAME_PERSONAL; + else + return CTSVC_ZONE_NAME_HOST; +} + +void ctsvc_server_zone_initialize_zone(const char *zone_name) +{ + CTS_FN_CALL; + + if (zone_name && *zone_name) + _ctsvc_zone_enabled = true; + + int ret; + + ctsvc_noti_publish_socket_initialize(zone_name); + + ret = ctsvc_server_check_schema(zone_name); + WARN_IF(CONTACTS_ERROR_NONE != ret, "ctsvc_server_check_schema() Fail(%d)", ret); + + ret = ctsvc_server_db_update(zone_name); + WARN_IF(CONTACTS_ERROR_NONE != ret, "ctsvc_server_db_update() Fail(%d)", ret); + + ret = ctsvc_connect(zone_name); + WARN_IF(CONTACTS_ERROR_NONE != ret, "ctsvc_connect() Fail(%d)", ret); + + ctsvc_set_client_access_info(zone_name, "contacts-service", NULL); + ctsvc_server_bg_add_cb(zone_name); + ctsvc_server_bg_delete_start(zone_name); + + if ('\0' == *zone_name || STRING_EQUAL == g_strcmp0(zone_name, CTSVC_ZONE_NAME_PERSONAL)) { + ret = ctsvc_server_init_configuration(); + WARN_IF(CONTACTS_ERROR_NONE != ret, "ctsvc_server_init_configuration() Fail(%d)", ret); + } +} + +static int _ctsvc_vsm_status_cb(vsm_zone_h zone, vsm_zone_state_t state, void *user_data) +{ + CTS_FN_CALL; + + const char *zone_name = vsm_get_zone_name(zone); + CTS_DBG("state(%d) [%s]", state, zone_name); + + switch (state) { + case VSM_ZONE_STATE_STARTING: + CTS_DBG("STARTING"); + ctsvc_server_zone_initialize_zone(zone_name); + break; + case VSM_ZONE_STATE_STOPPED: + CTS_DBG("STOPPED"); + break; + case VSM_ZONE_STATE_RUNNING: + CTS_DBG("RUNNING"); + break; + case VSM_ZONE_STATE_STOPPING: + CTS_DBG("STOPPING"); + ctsvc_server_zone_finalize_zone(zone_name); + break; + case VSM_ZONE_STATE_ABORTING: + CTS_DBG("ABORTING"); + break; + case VSM_ZONE_STATE_FREEZING: + CTS_DBG("FREEZING"); + break; + case VSM_ZONE_STATE_FROZEN: + CTS_DBG("FROZEN"); + break; + case VSM_ZONE_STATE_THAWED: + CTS_DBG("THAWED"); + break; + default: + CTS_DBG("###### invalid status"); + break; + } +CTS_FN_END; + return 0; +} + +static gboolean _ctsvc_server_zone_mainloop_cb(GIOChannel *channel, GIOCondition condition, void *data) +{ + CTS_FN_CALL; + vsm_context_h ctx = data; + vsm_enter_eventloop(ctx, 0, 0); + return TRUE; +} + +int ctsvc_server_zone_initialize(void) +{ + CTS_FN_CALL; + int ret = 0; + + if (ctsvc_vsm_ctx) { + CTS_DBG("already existed"); + ctsvc_server_zone_finalize(); + } + + vsm_context_h ctx = vsm_create_context(); + RETVM_IF(NULL == ctx, CONTACTS_ERROR_DB, "vsm_create_context() return NULL"); + + ret = vsm_add_state_changed_callback(ctx, _ctsvc_vsm_status_cb, NULL); + WARN_IF(ret < 0, "vsm_add_state_callback() Fail(%d)", ret); + + GIOChannel *channel = NULL; + int fd = vsm_get_poll_fd(ctx); + channel = g_io_channel_unix_new(fd); + g_io_add_watch(channel, G_IO_IN, _ctsvc_server_zone_mainloop_cb, ctx); + g_io_channel_unref(channel); + + ctsvc_vsm_ctx = ctx; + + CTS_FN_END; + + return CONTACTS_ERROR_NONE; +} + +int ctsvc_server_zone_declare_link(void) +{ + CTS_FN_CALL; + int ret = 0; + + if (NULL == ctsvc_vsm_ctx) { + ret = ctsvc_server_zone_initialize(); + RETVM_IF(CONTACTS_ERROR_NONE != ret, ret, "ctsvc_server_zone_initialize() Fail(%d)", ret); + } + vsm_context_h ctx = ctsvc_vsm_ctx; + + ret = vsm_declare_link(ctx, CTSVC_SOCKET_PATH, CTSVC_SOCKET_PATH); + RETVM_IF(ret < 0, ret, "vsm_declare_link() Fail(%d)", ret); + + ret = vsm_declare_link(ctx, CTSVC_IPC_SOCKET_PATH, CTSVC_IPC_SOCKET_PATH); + RETVM_IF(ret < 0, ret, "vsm_declare_link() Fail(%d)", ret); + + ret = vsm_declare_link(ctx, CTSVC_IPC_SOCKET_PATH_FOR_CHANGE_SUBSCRIPTION, CTSVC_IPC_SOCKET_PATH_FOR_CHANGE_SUBSCRIPTION); + RETVM_IF(ret < 0, ret, "vsm_declare_link() Fail(%d)", ret); + + return CONTACTS_ERROR_NONE; +} + +void ctsvc_server_zone_finalize(void) +{ + RET_IF(NULL == ctsvc_vsm_ctx); + vsm_cleanup_context(ctsvc_vsm_ctx); +} + +int ctsvc_server_zone_get_zone_name_by_pid(int pid, char **p_zone_name) +{ + if (NULL == ctsvc_vsm_ctx) + ctsvc_server_zone_initialize(); + + RETV_IF(pid < 0, CONTACTS_ERROR_INVALID_PARAMETER); + RETV_IF(NULL == p_zone_name, CONTACTS_ERROR_INVALID_PARAMETER); + + vsm_zone_h zone = NULL; + zone = vsm_lookup_zone_by_pid(ctsvc_vsm_ctx, pid); + RETVM_IF(NULL == zone, CONTACTS_ERROR_INVALID_PARAMETER, "vsm_lookup_zone_by_pid() return NULL"); + + const char *zone_name = vsm_get_zone_name(zone); + *p_zone_name = g_strdup(zone_name); + + return CONTACTS_ERROR_NONE; +} + +static void _ctsvc_server_zone_get_activated_zone_iter_cb(vsm_zone_h zone, void *user_data) +{ + GList **list = user_data; + + // try to connect zone with before launched service. + RET_IF(NULL == zone); + const char *zone_name = vsm_get_zone_name(zone); + RET_IF(NULL == zone_name); + + *list = g_list_append(*list, strdup(zone_name)); +} + +int ctsvc_server_zone_get_activated_zone_name_list(char ***p_zone_name_list, int *p_list_count) +{ + CTS_FN_CALL; + int ret; + GList *list = NULL; + + RETV_IF(NULL == p_zone_name_list, CONTACTS_ERROR_INVALID_PARAMETER); + RETV_IF(NULL == p_list_count, CONTACTS_ERROR_INVALID_PARAMETER); + *p_zone_name_list = NULL; + *p_list_count = 0; + + RETVM_IF(NULL == ctsvc_vsm_ctx, CONTACTS_ERROR_SYSTEM, "ctsvc_vsm_ctx is NULL"); + ret = vsm_iterate_zone(ctsvc_vsm_ctx, _ctsvc_server_zone_get_activated_zone_iter_cb, &list); // return value is handle + WARN_IF(0 != ret, "vsm_iterate_zone() Fail(%d)", ret); + + GList *c; + char **zone_name_list = NULL; + int list_count = g_list_length(list); + zone_name_list = calloc(list_count, sizeof(char *)); + + int i=0; + for (c=list;c;c=c->next) { + char *zone_name = c->data; + zone_name_list[i++] = zone_name; + } + g_list_free(list); + + *p_zone_name_list = zone_name_list; + *p_list_count = list_count; + + return CONTACTS_ERROR_NONE; +} + +vsm_zone_h ctsvc_server_zone_lookup_by_zone_name(const char *zone_name) +{ + RETVM_IF(NULL == ctsvc_vsm_ctx, NULL, "ctsvc_vsm_ctx is NULL"); + vsm_zone_h zone = vsm_lookup_zone_by_name(ctsvc_vsm_ctx, zone_name); + return zone; +} + +vsm_zone_h ctsvc_server_zone_join(vsm_zone_h zone) +{ + CTS_FN_CALL; + RETVM_IF(NULL == zone, NULL, "zone is NULL"); + RETVM_IF(NULL == ctsvc_vsm_ctx, NULL, "ctsvc_vsm_ctx is NULL"); + vsm_zone_h zone_old = vsm_join_zone(zone); + return zone_old; +} + -- 2.7.4