1 /*
2  * Copyright (c) 2024 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_OLD_H
17 #define BASE_NOTIFICATION_DISTRIBUTED_NOTIFICATION_SERVICE_INTERFACES_INNER_API_REMINDER_TABLE_OLD_H
18 
19 #include <vector>
20 #include <string>
21 
22 namespace OHOS {
23 namespace Notification {
24 class ReminderTable {
25 public:
26     static void InitDbColumns();
27 
28     static const std::string TABLE_NAME;
29 
30     // Reminder Table Basic Columns.
31 
32     /*
33      * reminder id
34      */
35     static const std::string REMINDER_ID;
36 
37     /*
38      * package name
39      */
40     static const std::string PKG_NAME;
41 
42     /*
43      * user id
44      */
45     static const std::string USER_ID;
46 
47     /*
48      * uid
49      */
50     static const std::string UID;
51 
52     /*
53      * systerm app flag
54      */
55     static const std::string SYS_APP;
56 
57     /*
58      * app label
59      */
60     static const std::string APP_LABEL;
61 
62     /*
63      * reminder type: Timer/Calendar/Alarm
64      */
65     static const std::string REMINDER_TYPE;
66 
67     /*
68      * reminder time
69      */
70     static const std::string REMINDER_TIME;
71 
72     /*
73      * trigger time
74      */
75     static const std::string TRIGGER_TIME;
76 
77     /*
78      * RTC trigger time
79      */
80     static const std::string RTC_TRIGGER_TIME;
81 
82     /*
83      * time interval
84      */
85     static const std::string TIME_INTERVAL;
86 
87     /*
88      * snooze times
89      */
90     static const std::string SNOOZE_TIMES;
91 
92     /*
93      * dynamic snooze times
94      */
95     static const std::string DYNAMIC_SNOOZE_TIMES;
96 
97     /*
98      * ring duration
99      */
100     static const std::string RING_DURATION;
101 
102     /*
103      * expired flag
104      */
105     static const std::string IS_EXPIRED;
106 
107     /*
108      * active flag
109      */
110     static const std::string IS_ACTIVE;
111 
112     /*
113      * reminder state
114      */
115     static const std::string STATE;
116 
117     /*
118      * zone id
119      */
120     static const std::string ZONE_ID;
121 
122     /*
123      * scheduled timeout flag
124      */
125     static const std::string HAS_SCHEDULED_TIMEOUT;
126 
127     /*
128      * action button information
129      */
130     static const std::string ACTION_BUTTON_INFO;
131 
132     /*
133      * custom button uri
134      */
135     static const std::string CUSTOM_BUTTON_URI;
136 
137     /*
138      * slot type
139      */
140     static const std::string SLOT_ID;
141 
142     /*
143      * snoozeslot type
144      */
145     static const std::string SNOOZE_SLOT_ID;
146 
147     /*
148      * notification id
149      */
150     static const std::string NOTIFICATION_ID;
151 
152     /*
153      * notification title
154      */
155     static const std::string TITLE;
156 
157     /*
158      * notification content
159      */
160     static const std::string CONTENT;
161 
162     /*
163      * notification snooze content
164      */
165     static const std::string SNOOZE_CONTENT;
166 
167     /*
168      * notification expired content
169      */
170     static const std::string EXPIRED_CONTENT;
171 
172     /*
173      * agent information
174      */
175     static const std::string AGENT;
176 
177     /*
178      * max screen agent information
179      */
180     static const std::string MAX_SCREEN_AGENT;
181 
182     /*
183      * tap dismissed flag
184      */
185     static const std::string TAP_DISMISSED;
186 
187     /*
188      * auto deleted time
189      */
190     static const std::string AUTO_DELETED_TIME;
191 
192     /*
193      * repeat days of week
194      */
195     static const std::string REPEAT_DAYS_OF_WEEK;
196 
197     /*
198      * reminder group id
199      */
200     static const std::string GROUP_ID;
201 
202     /*
203      * reminder ring uri
204      */
205     static const std::string CUSTOM_RING_URI;
206 
207     /*
208      * reminder creator bundle name
209      */
210     static const std::string CREATOR_BUNDLE_NAME;
211 
212     // Reminder Table Calendar Columns.
213     static const std::string REPEAT_DAYS;
214     static const std::string REPEAT_MONTHS;
215     static const std::string FIRST_DESIGNATE_YEAR;
216     static const std::string FIRST_DESIGNATE_MONTH;
217     static const std::string FIRST_DESIGNATE_DAY;
218     static const std::string CALENDAR_YEAR;
219     static const std::string CALENDAR_MONTH;
220     static const std::string CALENDAR_DAY;
221     static const std::string CALENDAR_HOUR;
222     static const std::string CALENDAR_MINUTE;
223 
224     // Reminder Table Alarm Columns.
225     static const std::string ALARM_HOUR;
226     static const std::string ALARM_MINUTE;
227 
228     static std::string ADD_COLUMNS;
229     static std::string SELECT_COLUMNS;
230 
231 private:
232     static void InitBasicColumns();
233     static void InitCalendarColumns();
234     static void InitAlarmColumns();
235     static void AddColumn(const std::string& name, const std::string& type, bool isEnd = false);
236 };
237 }  // namespace Notification
238 }  // namespace OHOS
239 #endif  // BASE_NOTIFICATION_DISTRIBUTED_NOTIFICATION_SERVICE_INTERFACES_INNER_API_REMINDER_TABLE_OLD_H
240