1 /*
2  * Copyright (c) 2023 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 #ifndef BASE_NOTIFICATION_DISTRIBUTED_NOTIFICATION_SERVICE_INTERFACES_INNER_API_REMINDER_TABLE_H
17 #define BASE_NOTIFICATION_DISTRIBUTED_NOTIFICATION_SERVICE_INTERFACES_INNER_API_REMINDER_TABLE_H
18 
19 #include <vector>
20 #include <string>
21 
22 namespace OHOS {
23 namespace Notification {
24 class ReminderBaseTable {
25 public:
26     /*
27      * reminder base table name
28      */
29     static const std::string TABLE_NAME;
30 
31     /*
32      * reminder id
33      */
34     static const std::string REMINDER_ID;
35 
36     /*
37      * package name
38      */
39     static const std::string PACKAGE_NAME;
40 
41     /*
42      * user id
43      */
44     static const std::string USER_ID;
45 
46     /*
47      * uid
48      */
49     static const std::string UID;
50 
51     /*
52      * systerm app flag
53      */
54     static const std::string SYSTEM_APP;
55 
56     /*
57      * reminder type: Timer/Calendar/Alarm
58      */
59     static const std::string REMINDER_TYPE;
60 
61     /*
62      * reminder time
63      */
64     static const std::string REMINDER_TIME;
65 
66     /*
67      * trigger time
68      */
69     static const std::string TRIGGER_TIME;
70 
71     /*
72      * time interval
73      */
74     static const std::string TIME_INTERVAL;
75 
76     /*
77      * snooze times
78      */
79     static const std::string SNOOZE_TIMES;
80 
81     /*
82      * dynamic snooze times
83      */
84     static const std::string DYNAMIC_SNOOZE_TIMES;
85 
86     /*
87      * ring duration
88      */
89     static const std::string RING_DURATION;
90 
91     /*
92      * expired flag
93      */
94     static const std::string IS_EXPIRED;
95 
96     /*
97      * reminder state
98      */
99     static const std::string STATE;
100 
101     /*
102      * action button information
103      */
104     static const std::string ACTION_BUTTON_INFO;
105 
106     /*
107      * custom button uri
108      */
109     static const std::string CUSTOM_BUTTON_URI;
110 
111     /*
112      * slot type
113      */
114     static const std::string SLOT_ID;
115 
116     /*
117      * snoozeslot type
118      */
119     static const std::string SNOOZE_SLOT_ID;
120 
121     /*
122      * notification id
123      */
124     static const std::string NOTIFICATION_ID;
125 
126     /*
127      * notification title
128      */
129     static const std::string TITLE;
130 
131     /*
132      * notification content
133      */
134     static const std::string CONTENT;
135 
136     /*
137      * notification snooze content
138      */
139     static const std::string SNOOZE_CONTENT;
140 
141     /*
142      * notification expired content
143      */
144     static const std::string EXPIRED_CONTENT;
145 
146     /*
147      * want agent information
148      */
149     static const std::string WANT_AGENT;
150 
151     /*
152      * max screen want agent information
153      */
154     static const std::string MAX_SCREEN_WANT_AGENT;
155 
156     /*
157      * tap dismissed flag
158      */
159     static const std::string TAP_DISMISSED;
160 
161     /*
162      * auto deleted time
163      */
164     static const std::string AUTO_DELETED_TIME;
165 
166     /*
167      * group id
168      */
169     static const std::string GROUP_ID;
170 
171     /*
172      * custom ring uri
173      */
174     static const std::string CUSTOM_RING_URI;
175 
176     /*
177      * creator bundle name
178      */
179     static const std::string CREATOR_BUNDLE_NAME;
180 
181     /*
182      * creator uid
183      */
184     static const std::string CREATOR_UID;
185 
186 public:
187     static void InitDbColumns();
188 
189 public:
190     static std::string ADD_COLUMNS;
191     static std::string SELECT_COLUMNS;
192 };
193 
194 class ReminderAlarmTable {
195 public:
196     /*
197      * reminder alarm table name
198      */
199     static const std::string TABLE_NAME;
200 
201     /*
202      * reminder timer table field
203      */
204     static const std::string REMINDER_ID;
205     static const std::string ALARM_HOUR;
206     static const std::string ALARM_MINUTE;
207     static const std::string REPEAT_DAYS_OF_WEEK;
208 
209 public:
210     static void InitDbColumns();
211 
212 public:
213     static std::string ADD_COLUMNS;
214     static std::string SELECT_COLUMNS;
215 };
216 
217 class ReminderCalendarTable {
218 public:
219     /*
220      * reminder calendar table name
221      */
222     static const std::string TABLE_NAME;
223 
224     /*
225      * reminder calendar table field
226      */
227     static const std::string REMINDER_ID;
228     static const std::string FIRST_DESIGNATE_YEAR;
229     static const std::string FIRST_DESIGNATE_MONTH;
230     static const std::string FIRST_DESIGNATE_DAY;
231     static const std::string CALENDAR_DATE_TIME;
232     static const std::string CALENDAR_END_DATE_TIME;
233     static const std::string REPEAT_DAYS;
234     static const std::string REPEAT_MONTHS;
235     static const std::string REPEAT_DAYS_OF_WEEK;
236     static const std::string RRULE_WANT_AGENT;
237     static const std::string EXCLUDE_DATES;
238     static const std::string CALENDAR_LAST_DATE_TIME;
239 
240 public:
241     static void InitDbColumns();
242 
243 public:
244     static std::string ADD_COLUMNS;
245     static std::string SELECT_COLUMNS;
246 };
247 
248 class ReminderTimerTable {
249 public:
250     /*
251      * reminder timer table name
252      */
253     static const std::string TABLE_NAME;
254 
255     /*
256      * reminder timer table field
257      */
258     static const std::string REMINDER_ID;
259     static const std::string TRIGGER_SECOND;
260     static const std::string START_DATE_TIME;
261     static const std::string END_DATE_TIME;
262 
263 public:
264     static void InitDbColumns();
265 
266 public:
267     static std::string ADD_COLUMNS;
268     static std::string SELECT_COLUMNS;
269 };
270 }  // namespace Notification
271 }  // namespace OHOS
272 #endif  // BASE_NOTIFICATION_DISTRIBUTED_NOTIFICATION_SERVICE_INTERFACES_INNER_API_REMINDER_TABLE_H
273