tizen 2.3.1 release
[framework/api/messages.git] / test / messages_search_test.c
1 #include <stdio.h>
2 #include <stdlib.h>
3 #include <dlog.h>
4
5 #include <messages.h>
6
7
8 bool _search_cb(messages_message_h msg, int index, int result_count, int total_count, void *user_data)
9 {
10         messages_message_type_e msgType;
11         messages_message_box_e mbox;
12         int ret;
13         int cnt;
14         char *text;
15         int i, nAddr;
16         char *addr = NULL;
17         time_t time;
18
19         messages_get_message_type(msg, &msgType);
20
21         dlog_print(DLOG_DEBUG, "MESSAGE_TEST", "=[%d/%d]==================================\n", index + 1, result_count);
22         messages_get_address_count(msg, &nAddr);
23         for (i=0; i < nAddr; i++) {
24                 ret = messages_get_address(msg, i, &addr, NULL);
25                 if (MESSAGES_ERROR_NONE == ret) {
26                         dlog_print(DLOG_DEBUG, "MESSAGE_TEST", "Address[%d]: %s\n", i, addr);
27                         free(addr);
28                 }
29         }
30
31         ret = messages_get_text(msg, &text);
32         if (MESSAGES_ERROR_NONE == ret) {
33                 dlog_print(DLOG_DEBUG, "MESSAGE_TEST", "Text: %s\n", text);
34                 free(text);
35         }
36
37         if (MESSAGES_TYPE_SMS == msgType) {
38                 dlog_print(DLOG_DEBUG, "MESSAGE_TEST", "Type: SMS\n");
39         } else if (MESSAGES_TYPE_MMS == msgType) {
40                 dlog_print(DLOG_DEBUG, "MESSAGE_TEST", "Type: MMS\n");
41                 ret = messages_mms_get_subject(msg, &text);
42                 if (MESSAGES_ERROR_NONE == ret) {
43                         dlog_print(DLOG_DEBUG, "MESSAGE_TEST", "Subject: %s\n", text);
44                         free(text);
45                 }
46
47                 ret = messages_mms_get_attachment_count(msg, &cnt);
48                 if (MESSAGES_ERROR_NONE == ret) {
49                         dlog_print(DLOG_DEBUG, "MESSAGE_TEST", "Attachments: %d\n", cnt);
50                 }
51         } else {
52                 dlog_print(DLOG_DEBUG, "MESSAGE_TEST", "Type: Unknown");
53         }
54
55
56         ret = messages_get_time(msg, &time);
57         char buf[50];
58         if (ctime_r(&time, buf))
59                 dlog_print(DLOG_DEBUG, "MESSAGE_TEST", "Time: %d, %s", (int)time, ctime_r(&time, buf));
60         
61         ret = messages_get_mbox_type(msg, &mbox);
62         dlog_print(DLOG_DEBUG, "MESSAGE_TEST", "MBOX: %d\n", mbox);
63
64
65         return true;
66 }
67
68 int main(int argc, char *argv[])
69 {
70         int ret;
71         int count;
72
73         messages_service_h svc;
74
75         // open service
76         ret = messages_open_service(&svc);
77         if (MESSAGES_ERROR_NONE != ret) {
78                 dlog_print(DLOG_DEBUG, "MESSAGE_TEST", "error: messages_open_service() = %d", ret);
79                 return 1;
80         }
81
82         ret = messages_foreach_message(svc, 
83                         MESSAGES_MBOX_ALL, MESSAGES_TYPE_UNKNOWN, 
84                         NULL, NULL, 
85                         0, 0, _search_cb, NULL);
86         if (MESSAGES_ERROR_NONE != ret) {
87                 dlog_print(DLOG_DEBUG, "MESSAGE_TEST", "error: messages_foreach_message_from_db() = %d", ret);
88                 return 1;
89         }
90
91         dlog_print(DLOG_DEBUG, "MESSAGE_TEST", "===============================================\n");
92         ret = messages_get_message_count(svc, MESSAGES_MBOX_INBOX, MESSAGES_TYPE_SMS, &count);
93         dlog_print(DLOG_DEBUG, "MESSAGE_TEST", "INBOX: %d messages\n", count);
94         ret = messages_get_message_count(svc, MESSAGES_MBOX_SENTBOX, MESSAGES_TYPE_SMS, &count);
95         dlog_print(DLOG_DEBUG, "MESSAGE_TEST", "SENTBOX: %d messages\n", count);
96         ret = messages_get_message_count(svc, MESSAGES_MBOX_OUTBOX, MESSAGES_TYPE_SMS, &count);
97         dlog_print(DLOG_DEBUG, "MESSAGE_TEST", "OUTBOX: %d sms messages\n", count);
98         ret = messages_get_message_count(svc, MESSAGES_MBOX_OUTBOX, MESSAGES_TYPE_MMS, &count);
99         dlog_print(DLOG_DEBUG, "MESSAGE_TEST", "OUTBOX: %d mms messages\n", count);
100
101
102
103         // destroy
104         messages_close_service(svc);    
105
106
107         return 0;
108 }