4 * Copyright (c) 2010 - 2012 Samsung Electronics Co., Ltd. All rights reserved.
6 * Contact: Youngjae Shin <yj99.shin@samsung.com>
8 * Licensed under the Apache License, Version 2.0 (the "License");
9 * you may not use this file except in compliance with the License.
10 * You may obtain a copy of the License at
12 * http://www.apache.org/licenses/LICENSE-2.0
14 * Unless required by applicable law or agreed to in writing, software
15 * distributed under the License is distributed on an "AS IS" BASIS,
16 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 * See the License for the specific language governing permissions and
18 * limitations under the License.
26 #include <contacts-svc.h>
28 void phonelog_insert_test(void)
32 plog = contacts_svc_value_new(CTS_VALUE_PHONELOG);
33 contacts_svc_value_set_str(plog, CTS_PLOG_VAL_NUMBER_STR, "0123456789");
34 contacts_svc_value_set_int(plog, CTS_PLOG_VAL_LOG_TIME_INT,(int) time(NULL));
35 contacts_svc_value_set_int(plog, CTS_PLOG_VAL_LOG_TYPE_INT,
36 CTS_PLOG_TYPE_VOICE_INCOMMING);
37 contacts_svc_value_set_int(plog, CTS_PLOG_VAL_DURATION_INT, 65);
38 contacts_svc_insert_phonelog(plog);
40 contacts_svc_value_set_str(plog, CTS_PLOG_VAL_NUMBER_STR, "0987654321");
41 contacts_svc_value_set_int(plog, CTS_PLOG_VAL_LOG_TIME_INT,(int) time(NULL));
42 contacts_svc_value_set_int(plog, CTS_PLOG_VAL_LOG_TYPE_INT,
43 CTS_PLOG_TYPE_VOICE_INCOMMING_UNSEEN);
44 contacts_svc_value_set_int(plog, CTS_PLOG_VAL_DURATION_INT, 65);
45 contacts_svc_insert_phonelog(plog);
47 contacts_svc_value_set_str(plog, CTS_PLOG_VAL_NUMBER_STR, "0987654321");
48 contacts_svc_value_set_int(plog, CTS_PLOG_VAL_LOG_TIME_INT,(int) time(NULL));
49 contacts_svc_value_set_int(plog, CTS_PLOG_VAL_LOG_TYPE_INT,
50 CTS_PLOG_TYPE_VOICE_INCOMMING);
51 contacts_svc_value_set_int(plog, CTS_PLOG_VAL_DURATION_INT, 65);
52 contacts_svc_insert_phonelog(plog);
55 contacts_svc_value_free(plog);
57 void phonelog_modify_test(void)
59 contacts_svc_phonelog_set_seen(2, CTS_PLOG_TYPE_VOICE_INCOMMING_UNSEEN);
61 contacts_svc_delete_phonelog(CTS_PLOG_DEL_BY_ID, 3);
62 contacts_svc_delete_phonelog(CTS_PLOG_DEL_BY_NUMBER, "0123456789");
65 void phonelog_get_list_test(void)
68 char display[1024]={0};
70 contacts_svc_get_list(CTS_LIST_GROUPING_PLOG, &iter);
72 while (CTS_SUCCESS == contacts_svc_iter_next(iter))
75 plog = contacts_svc_iter_get_info(iter);
77 const char *img_path = contacts_svc_value_get_str(plog, CTS_LIST_PLOG_IMG_PATH_STR);
78 const char *display_name = contacts_svc_value_get_str(plog, CTS_LIST_PLOG_DISPLAY_NAME_STR);
79 const char *number = contacts_svc_value_get_str(plog, CTS_LIST_PLOG_NUMBER_STR);
81 snprintf(display, sizeof(display), "%s", display_name);
84 const char *first = contacts_svc_value_get_str(plog, CTS_LIST_PLOG_FIRST_NAME_STR);
85 const char *last = contacts_svc_value_get_str(plog, CTS_LIST_PLOG_LAST_NAME_STR);
87 if (CTS_ORDER_NAME_FIRSTLAST == contacts_svc_get_order(CTS_ORDER_OF_DISPLAY))
88 snprintf(display, sizeof(display), "%s %s", first, last);
90 snprintf(display, sizeof(display), "%s %s", last, first);
92 strcpy(display, first);
94 strcpy(display, last);
97 strcpy(display, number);
101 int num_type = contacts_svc_value_get_int(plog, CTS_LIST_PLOG_NUM_TYPE_INT);
103 int index = contacts_svc_value_get_int(plog, CTS_LIST_PLOG_ID_INT);
104 int type = contacts_svc_value_get_int(plog, CTS_LIST_PLOG_LOG_TYPE_INT);
105 int time = contacts_svc_value_get_int(plog, CTS_LIST_PLOG_LOG_TIME_INT);
108 printf("%d:%s(%s:%d):type=%d:time=%d\n",
109 index, display, number, num_type, type, time);
111 printf("%s\n", img_path);
112 contacts_svc_value_free(plog);
114 contacts_svc_iter_remove(iter);
117 void phonelog_get_detail_list_test(void)
120 CTSiter *iter = NULL;
121 contacts_svc_get_list_with_str(CTS_LIST_PLOGS_OF_NUMBER,"0987654321", &iter);
123 ret = contacts_svc_iter_next(iter);
124 while (CTS_SUCCESS == ret)
127 plog = contacts_svc_iter_get_info(iter);
129 int index = contacts_svc_value_get_int(plog, CTS_LIST_PLOG_ID_INT);
130 int type = contacts_svc_value_get_int(plog, CTS_LIST_PLOG_LOG_TYPE_INT);
131 int time = contacts_svc_value_get_int(plog, CTS_LIST_PLOG_LOG_TIME_INT);
132 int duration = contacts_svc_value_get_int(plog, CTS_LIST_PLOG_DURATION_INT);
134 printf("%d::type=%d:time=%d:duration=%d\n", index, type, time, duration);
135 contacts_svc_value_free(plog);
136 ret = contacts_svc_iter_next(iter);
138 contacts_svc_iter_remove(iter);
141 static int plog_get_number_list_cb(const char *number, void *user_data)
143 printf("number = %s\n", number);
147 void phonelog_get_number_list_test(void)
151 ret = contats_svc_phonelog_get_all_number(plog_get_number_list_cb, NULL);
152 if (CTS_SUCCESS != ret)
153 printf("contats_svc_phonelog_get_all_number() Failed(%d)\n", ret);
157 void phonelog_get_last_call_number_test(void)
159 char *number = contacts_svc_phonelog_get_last_number(CTS_PLOG_LAST_ALL);
161 printf("Last Call Number is %s\n", number);
167 contacts_svc_connect();
168 phonelog_insert_test();
170 phonelog_insert_test();
171 printf("grouping List 1 <<<<<<<<<<<\n");
172 phonelog_get_list_test();
173 phonelog_modify_test();
174 printf("grouping List 2 <<<<<<<<<<<\n");
175 phonelog_get_list_test();
176 printf("detail List <<<<<<<<<<<\n");
177 phonelog_get_detail_list_test();
178 printf("phonelog number List <<<<<<<<<<<\n");
179 phonelog_get_number_list_test();
181 phonelog_get_last_call_number_test();
183 contacts_svc_disconnect();