Apply coding guide : strcmp 56/44656/2
authorSunggoo Kim <sung.goo.kim@samsung.com>
Tue, 12 May 2015 01:17:09 +0000 (10:17 +0900)
committerMyungHoon Chae <mhoon.chae@samsung.com>
Mon, 27 Jul 2015 06:31:53 +0000 (23:31 -0700)
Change-Id: I81e742dfea68f31b6df2f275787c575ebaf1994a
Signed-off-by: MyoungHoon Chae <mhoon.chae@samsung.com>
17 files changed:
client/ctsvc_client_noti.c
common/ctsvc_filter.c
common/ctsvc_inotify.c
common/ctsvc_record_contact.c
common/ctsvc_struct.h
common/ctsvc_vcard.c
native/ctsvc_db_access_control.c
native/ctsvc_db_plugin_company_helper.c
native/ctsvc_db_plugin_contact.c
native/ctsvc_db_plugin_contact_helper.c
native/ctsvc_db_plugin_group.c
native/ctsvc_db_plugin_my_profile.c
native/ctsvc_db_query.c
server/ctsvc_server.c
server/ctsvc_server_bg.c
server/ctsvc_server_utils.c
server/ctsvc_server_zone.c [new file with mode: 0644]

index 1abeb62..3af86ac 100644 (file)
@@ -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;
index 2772300..521ec5a 100644 (file)
@@ -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);
index 3d7e3c4..deb979b 100755 (executable)
@@ -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);
index 6637dab..ced55b9 100755 (executable)
@@ -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);
                }
index e7f9dcc..9b2beab 100644 (file)
@@ -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
index eab39fb..83b5e86 100644 (file)
@@ -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;
index b262363..d0dbf5d 100644 (file)
@@ -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);
index fc768a1..468bb7b 100644 (file)
@@ -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;
index 1fb2505..da17c4f 100644 (file)
@@ -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))
index 6a68beb..8026e63 100644 (file)
@@ -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;
                }
index 40046a8..9404042 100644 (file)
@@ -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;
index ee2e85f..9d6dda9 100644 (file)
@@ -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))
index fe3ebee..1042585 100644 (file)
@@ -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;
index b5f1db5..53b633d 100755 (executable)
@@ -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);
index 0a455ee..171bdb1 100644 (file)
@@ -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;
 }
index 55e8ef2..b5f5b76 100755 (executable)
@@ -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 (file)
index 0000000..6701e2f
--- /dev/null
@@ -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;
+}
+