3 * Copyright (c) 2012 Samsung Electronics Co., Ltd.
5 * Licensed under the Apache License, Version 2.0 (the License);
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
9 * http://www.apache.org/licenses/LICENSE-2.0
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
18 #ifndef IN_VCALENDAR_STRING_UTIL_H_
19 #define IN_VCALENDAR_STRING_UTIL_H_
24 #include <glib/gprintf.h>
26 #include <calendar2.h>
27 #include <calendar_types2.h>
28 #include <unicode/ucal.h>
29 #include <unicode/ustring.h>
30 #include <unicode/ustdio.h>
31 #include <unicode/udat.h>
32 #include <sys/types.h>
34 #include "utility/sync_util.h"
36 typedef enum task_date_type {
37 TASK_DATE_TYPE_ONTIME = 0,
43 TASK_DATE_TYPE_MINUTE,
44 TASK_DATE_TYPE_SECOND,
47 #define RRULE_KEYWORD "\r\nRRULE:"
48 #define RRULE_KEYWORD_FREQ_DAILY RRULE_KEYWORD"FREQ=DAILY"
49 #define RRULE_KEYWORD_FREQ_WEEKLY RRULE_KEYWORD"FREQ=WEEKLY"
50 #define RRULE_KEYWORD_FREQ_MONTHLY RRULE_KEYWORD"FREQ=MONTHLY"
51 #define RRULE_KEYWORD_FREQ_YEARLY RRULE_KEYWORD"FREQ=YEARLY"
52 #define WEEKDAY_RRULE_ORIGIN_KEYWORD RRULE_KEYWORD"W0 "
53 #define WEEKDAY_RRULE_CONVERTED_KEYWORD RRULE_KEYWORD"W1 MO TU WE TH FR "
55 #define RRULE_KEYWORD_INTERVAL "INTERVAL="
56 #define RRULE_KEYWORD_BYDAY "BYDAY="
57 #define RRULE_KEYWORD_BYMONTH "BYMONTH="
58 #define RRULE_KEYWORD_BYMONTHDAY "BYMONTHDAY="
59 #define RRULE_KEYWORD_UNTIL "UNTIL="
60 #define RRULE_KEYWORD_COUNT "COUNT="
61 #define MAX_RRULE_DATE_KEYWORD "20361231T"
63 #define DTSTART_KEYWORD "DTSTART:"
64 #define MAX_MOBEX_DTSTART_KEYWORD "\r\nDTSTART:20370101T090000Z"
65 #define MAX_CALENDAR_DTSTART_KEYWORD "\r\nDTSTART:20381231T000000Z"
66 #define DUEDATE_KEYWORD "\r\nDUE:"
67 #define MAX_DUE_DATE_KEYWORD "\r\nDUE:20381231T000000Z\r\n" // refer to calendar info (min ~ max date)
68 #define TIMEZONE_GMT "Etc/GMT"
69 #define AALARM_KEYWORD "AALARM:"
70 #define END_VTODO_KEYWORD "\r\nEND:VTODO\r\n"
73 // Task Priority value
74 // SLP Phone = high:1~4, normal:5, low:6~9, NONE:0 / Kies = high:1, normal:2, low:3
75 #define PRIORITY_KEYWORD "\r\nPRIORITY:"
76 #define PRIORITY_TIZEN_HIGH_1_KEYWORD PRIORITY_KEYWORD"1"
77 #define PRIORITY_TIZEN_HIGH_2_KEYWORD PRIORITY_KEYWORD"2"
78 #define PRIORITY_TIZEN_HIGH_3_KEYWORD PRIORITY_KEYWORD"3"
79 #define PRIORITY_TIZEN_HIGH_4_KEYWORD PRIORITY_KEYWORD"4"
80 #define PRIORITY_TIZEN_NORMAL_KEYWORD PRIORITY_KEYWORD"5"
81 #define PRIORITY_TIZEN_LOW_6_KEYWORD PRIORITY_KEYWORD"6"
82 #define PRIORITY_TIZEN_LOW_7_KEYWORD PRIORITY_KEYWORD"7"
83 #define PRIORITY_TIZEN_LOW_8_KEYWORD PRIORITY_KEYWORD"8"
84 #define PRIORITY_TIZEN_LOW_9_KEYWORD PRIORITY_KEYWORD"9"
86 #define PRIORITY_KIES_HIGH_KEYWORD PRIORITY_KEYWORD"1"
87 #define PRIORITY_KIES_NORMAL_KEYWORD PRIORITY_KEYWORD"2"
88 #define PRIORITY_KIES_LOW_KEYWORD PRIORITY_KEYWORD"3"
90 #define CALENDAR_IMAGE_KEYWORD_SNOTE "snote" // refer to Cal-svc.h (calendar\include)
91 #define CALENDAR_IMAGE_KEYWORD_PHOTO "photo" // refer to Cal-svc.h (calendar\include)
92 #define IMAGE_KEYWORD_PREFIX_SNOTE "X-SS-ATTACH-SNOTE;"
93 #define IMAGE_KEYWORD_PREFIX_PHOTO "X-SS-ATTACH-IMAGE;"
94 #define IMAGE_KEYWORD_BEGIN_PATH "PATH=3D"
95 #define IMAGE_KEYWORD_END_PATH "=3bDATE=3D\r\n"
97 #define INTERNAL_MEMORY_ORIGIN "/opt/usr/media"
98 #define INTERNAL_MEMORY_CONVERTED "Internal=3a"
99 #define EXTERNAL_MEMORY_ORIGIN "/opt/storage/sdcard"
100 #define EXTERNAL_MEMORY_CONVERTED "External=3a"
101 #define SNOTE_MEMORY_ORIGIN "/opt/usr/apps/com.samsung.smemo/data/"
103 char * get_value_by_token(const char *src, const char *token, const char *end_of_token);
104 char * replace_string(char *origin, const char *src, const char *dest);
105 long long int get_unix_time(char *str_time);
107 calendar_list_h set_vcalendar_version(calendar_record_h cal_record);
108 void set_timezone(const char *origin, calendar_record_h cal_record);
109 void process_no_due_date(const char *origin, calendar_record_h cal_record);
110 char * has_image_import(const char *origin);
111 char * has_image_export(calendar_record_h cal_record);
113 char * replace_rrule_data(char *origin);
114 char * replace_image_data(char *origin, char *image_path);
115 char * replace_priority_data(char *origin, bool is_phone_to_kies);
117 #endif /* IN_VCALENDAR_STRING_UTIL_H_ */