196279301Sopenharmony_ci/*
296279301Sopenharmony_ci * Copyright (c) 2023 Huawei Device Co., Ltd.
396279301Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
496279301Sopenharmony_ci * you may not use this file except in compliance with the License.
596279301Sopenharmony_ci * You may obtain a copy of the License at
696279301Sopenharmony_ci *
796279301Sopenharmony_ci *     http://www.apache.org/licenses/LICENSE-2.0
896279301Sopenharmony_ci *
996279301Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software
1096279301Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
1196279301Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1296279301Sopenharmony_ci * See the License for the specific language governing permissions and
1396279301Sopenharmony_ci * limitations under the License.
1496279301Sopenharmony_ci */
1596279301Sopenharmony_ci
1696279301Sopenharmony_ci#ifndef BASE_NOTIFICATION_DISTRIBUTED_NOTIFICATION_SERVICE_INTERFACES_INNER_API_REMINDER_TABLE_H
1796279301Sopenharmony_ci#define BASE_NOTIFICATION_DISTRIBUTED_NOTIFICATION_SERVICE_INTERFACES_INNER_API_REMINDER_TABLE_H
1896279301Sopenharmony_ci
1996279301Sopenharmony_ci#include <vector>
2096279301Sopenharmony_ci#include <string>
2196279301Sopenharmony_ci
2296279301Sopenharmony_cinamespace OHOS {
2396279301Sopenharmony_cinamespace Notification {
2496279301Sopenharmony_ciclass ReminderBaseTable {
2596279301Sopenharmony_cipublic:
2696279301Sopenharmony_ci    /*
2796279301Sopenharmony_ci     * reminder base table name
2896279301Sopenharmony_ci     */
2996279301Sopenharmony_ci    static const std::string TABLE_NAME;
3096279301Sopenharmony_ci
3196279301Sopenharmony_ci    /*
3296279301Sopenharmony_ci     * reminder id
3396279301Sopenharmony_ci     */
3496279301Sopenharmony_ci    static const std::string REMINDER_ID;
3596279301Sopenharmony_ci
3696279301Sopenharmony_ci    /*
3796279301Sopenharmony_ci     * package name
3896279301Sopenharmony_ci     */
3996279301Sopenharmony_ci    static const std::string PACKAGE_NAME;
4096279301Sopenharmony_ci
4196279301Sopenharmony_ci    /*
4296279301Sopenharmony_ci     * user id
4396279301Sopenharmony_ci     */
4496279301Sopenharmony_ci    static const std::string USER_ID;
4596279301Sopenharmony_ci
4696279301Sopenharmony_ci    /*
4796279301Sopenharmony_ci     * uid
4896279301Sopenharmony_ci     */
4996279301Sopenharmony_ci    static const std::string UID;
5096279301Sopenharmony_ci
5196279301Sopenharmony_ci    /*
5296279301Sopenharmony_ci     * systerm app flag
5396279301Sopenharmony_ci     */
5496279301Sopenharmony_ci    static const std::string SYSTEM_APP;
5596279301Sopenharmony_ci
5696279301Sopenharmony_ci    /*
5796279301Sopenharmony_ci     * reminder type: Timer/Calendar/Alarm
5896279301Sopenharmony_ci     */
5996279301Sopenharmony_ci    static const std::string REMINDER_TYPE;
6096279301Sopenharmony_ci
6196279301Sopenharmony_ci    /*
6296279301Sopenharmony_ci     * reminder time
6396279301Sopenharmony_ci     */
6496279301Sopenharmony_ci    static const std::string REMINDER_TIME;
6596279301Sopenharmony_ci
6696279301Sopenharmony_ci    /*
6796279301Sopenharmony_ci     * trigger time
6896279301Sopenharmony_ci     */
6996279301Sopenharmony_ci    static const std::string TRIGGER_TIME;
7096279301Sopenharmony_ci
7196279301Sopenharmony_ci    /*
7296279301Sopenharmony_ci     * time interval
7396279301Sopenharmony_ci     */
7496279301Sopenharmony_ci    static const std::string TIME_INTERVAL;
7596279301Sopenharmony_ci
7696279301Sopenharmony_ci    /*
7796279301Sopenharmony_ci     * snooze times
7896279301Sopenharmony_ci     */
7996279301Sopenharmony_ci    static const std::string SNOOZE_TIMES;
8096279301Sopenharmony_ci
8196279301Sopenharmony_ci    /*
8296279301Sopenharmony_ci     * dynamic snooze times
8396279301Sopenharmony_ci     */
8496279301Sopenharmony_ci    static const std::string DYNAMIC_SNOOZE_TIMES;
8596279301Sopenharmony_ci
8696279301Sopenharmony_ci    /*
8796279301Sopenharmony_ci     * ring duration
8896279301Sopenharmony_ci     */
8996279301Sopenharmony_ci    static const std::string RING_DURATION;
9096279301Sopenharmony_ci
9196279301Sopenharmony_ci    /*
9296279301Sopenharmony_ci     * expired flag
9396279301Sopenharmony_ci     */
9496279301Sopenharmony_ci    static const std::string IS_EXPIRED;
9596279301Sopenharmony_ci
9696279301Sopenharmony_ci    /*
9796279301Sopenharmony_ci     * reminder state
9896279301Sopenharmony_ci     */
9996279301Sopenharmony_ci    static const std::string STATE;
10096279301Sopenharmony_ci
10196279301Sopenharmony_ci    /*
10296279301Sopenharmony_ci     * action button information
10396279301Sopenharmony_ci     */
10496279301Sopenharmony_ci    static const std::string ACTION_BUTTON_INFO;
10596279301Sopenharmony_ci
10696279301Sopenharmony_ci    /*
10796279301Sopenharmony_ci     * custom button uri
10896279301Sopenharmony_ci     */
10996279301Sopenharmony_ci    static const std::string CUSTOM_BUTTON_URI;
11096279301Sopenharmony_ci
11196279301Sopenharmony_ci    /*
11296279301Sopenharmony_ci     * slot type
11396279301Sopenharmony_ci     */
11496279301Sopenharmony_ci    static const std::string SLOT_ID;
11596279301Sopenharmony_ci
11696279301Sopenharmony_ci    /*
11796279301Sopenharmony_ci     * snoozeslot type
11896279301Sopenharmony_ci     */
11996279301Sopenharmony_ci    static const std::string SNOOZE_SLOT_ID;
12096279301Sopenharmony_ci
12196279301Sopenharmony_ci    /*
12296279301Sopenharmony_ci     * notification id
12396279301Sopenharmony_ci     */
12496279301Sopenharmony_ci    static const std::string NOTIFICATION_ID;
12596279301Sopenharmony_ci
12696279301Sopenharmony_ci    /*
12796279301Sopenharmony_ci     * notification title
12896279301Sopenharmony_ci     */
12996279301Sopenharmony_ci    static const std::string TITLE;
13096279301Sopenharmony_ci
13196279301Sopenharmony_ci    /*
13296279301Sopenharmony_ci     * notification content
13396279301Sopenharmony_ci     */
13496279301Sopenharmony_ci    static const std::string CONTENT;
13596279301Sopenharmony_ci
13696279301Sopenharmony_ci    /*
13796279301Sopenharmony_ci     * notification snooze content
13896279301Sopenharmony_ci     */
13996279301Sopenharmony_ci    static const std::string SNOOZE_CONTENT;
14096279301Sopenharmony_ci
14196279301Sopenharmony_ci    /*
14296279301Sopenharmony_ci     * notification expired content
14396279301Sopenharmony_ci     */
14496279301Sopenharmony_ci    static const std::string EXPIRED_CONTENT;
14596279301Sopenharmony_ci
14696279301Sopenharmony_ci    /*
14796279301Sopenharmony_ci     * want agent information
14896279301Sopenharmony_ci     */
14996279301Sopenharmony_ci    static const std::string WANT_AGENT;
15096279301Sopenharmony_ci
15196279301Sopenharmony_ci    /*
15296279301Sopenharmony_ci     * max screen want agent information
15396279301Sopenharmony_ci     */
15496279301Sopenharmony_ci    static const std::string MAX_SCREEN_WANT_AGENT;
15596279301Sopenharmony_ci
15696279301Sopenharmony_ci    /*
15796279301Sopenharmony_ci     * tap dismissed flag
15896279301Sopenharmony_ci     */
15996279301Sopenharmony_ci    static const std::string TAP_DISMISSED;
16096279301Sopenharmony_ci
16196279301Sopenharmony_ci    /*
16296279301Sopenharmony_ci     * auto deleted time
16396279301Sopenharmony_ci     */
16496279301Sopenharmony_ci    static const std::string AUTO_DELETED_TIME;
16596279301Sopenharmony_ci
16696279301Sopenharmony_ci    /*
16796279301Sopenharmony_ci     * group id
16896279301Sopenharmony_ci     */
16996279301Sopenharmony_ci    static const std::string GROUP_ID;
17096279301Sopenharmony_ci
17196279301Sopenharmony_ci    /*
17296279301Sopenharmony_ci     * custom ring uri
17396279301Sopenharmony_ci     */
17496279301Sopenharmony_ci    static const std::string CUSTOM_RING_URI;
17596279301Sopenharmony_ci
17696279301Sopenharmony_ci    /*
17796279301Sopenharmony_ci     * creator bundle name
17896279301Sopenharmony_ci     */
17996279301Sopenharmony_ci    static const std::string CREATOR_BUNDLE_NAME;
18096279301Sopenharmony_ci
18196279301Sopenharmony_ci    /*
18296279301Sopenharmony_ci     * creator uid
18396279301Sopenharmony_ci     */
18496279301Sopenharmony_ci    static const std::string CREATOR_UID;
18596279301Sopenharmony_ci
18696279301Sopenharmony_cipublic:
18796279301Sopenharmony_ci    static void InitDbColumns();
18896279301Sopenharmony_ci
18996279301Sopenharmony_cipublic:
19096279301Sopenharmony_ci    static std::string ADD_COLUMNS;
19196279301Sopenharmony_ci    static std::string SELECT_COLUMNS;
19296279301Sopenharmony_ci};
19396279301Sopenharmony_ci
19496279301Sopenharmony_ciclass ReminderAlarmTable {
19596279301Sopenharmony_cipublic:
19696279301Sopenharmony_ci    /*
19796279301Sopenharmony_ci     * reminder alarm table name
19896279301Sopenharmony_ci     */
19996279301Sopenharmony_ci    static const std::string TABLE_NAME;
20096279301Sopenharmony_ci
20196279301Sopenharmony_ci    /*
20296279301Sopenharmony_ci     * reminder timer table field
20396279301Sopenharmony_ci     */
20496279301Sopenharmony_ci    static const std::string REMINDER_ID;
20596279301Sopenharmony_ci    static const std::string ALARM_HOUR;
20696279301Sopenharmony_ci    static const std::string ALARM_MINUTE;
20796279301Sopenharmony_ci    static const std::string REPEAT_DAYS_OF_WEEK;
20896279301Sopenharmony_ci
20996279301Sopenharmony_cipublic:
21096279301Sopenharmony_ci    static void InitDbColumns();
21196279301Sopenharmony_ci
21296279301Sopenharmony_cipublic:
21396279301Sopenharmony_ci    static std::string ADD_COLUMNS;
21496279301Sopenharmony_ci    static std::string SELECT_COLUMNS;
21596279301Sopenharmony_ci};
21696279301Sopenharmony_ci
21796279301Sopenharmony_ciclass ReminderCalendarTable {
21896279301Sopenharmony_cipublic:
21996279301Sopenharmony_ci    /*
22096279301Sopenharmony_ci     * reminder calendar table name
22196279301Sopenharmony_ci     */
22296279301Sopenharmony_ci    static const std::string TABLE_NAME;
22396279301Sopenharmony_ci
22496279301Sopenharmony_ci    /*
22596279301Sopenharmony_ci     * reminder calendar table field
22696279301Sopenharmony_ci     */
22796279301Sopenharmony_ci    static const std::string REMINDER_ID;
22896279301Sopenharmony_ci    static const std::string FIRST_DESIGNATE_YEAR;
22996279301Sopenharmony_ci    static const std::string FIRST_DESIGNATE_MONTH;
23096279301Sopenharmony_ci    static const std::string FIRST_DESIGNATE_DAY;
23196279301Sopenharmony_ci    static const std::string CALENDAR_DATE_TIME;
23296279301Sopenharmony_ci    static const std::string CALENDAR_END_DATE_TIME;
23396279301Sopenharmony_ci    static const std::string REPEAT_DAYS;
23496279301Sopenharmony_ci    static const std::string REPEAT_MONTHS;
23596279301Sopenharmony_ci    static const std::string REPEAT_DAYS_OF_WEEK;
23696279301Sopenharmony_ci    static const std::string RRULE_WANT_AGENT;
23796279301Sopenharmony_ci    static const std::string EXCLUDE_DATES;
23896279301Sopenharmony_ci    static const std::string CALENDAR_LAST_DATE_TIME;
23996279301Sopenharmony_ci
24096279301Sopenharmony_cipublic:
24196279301Sopenharmony_ci    static void InitDbColumns();
24296279301Sopenharmony_ci
24396279301Sopenharmony_cipublic:
24496279301Sopenharmony_ci    static std::string ADD_COLUMNS;
24596279301Sopenharmony_ci    static std::string SELECT_COLUMNS;
24696279301Sopenharmony_ci};
24796279301Sopenharmony_ci
24896279301Sopenharmony_ciclass ReminderTimerTable {
24996279301Sopenharmony_cipublic:
25096279301Sopenharmony_ci    /*
25196279301Sopenharmony_ci     * reminder timer table name
25296279301Sopenharmony_ci     */
25396279301Sopenharmony_ci    static const std::string TABLE_NAME;
25496279301Sopenharmony_ci
25596279301Sopenharmony_ci    /*
25696279301Sopenharmony_ci     * reminder timer table field
25796279301Sopenharmony_ci     */
25896279301Sopenharmony_ci    static const std::string REMINDER_ID;
25996279301Sopenharmony_ci    static const std::string TRIGGER_SECOND;
26096279301Sopenharmony_ci    static const std::string START_DATE_TIME;
26196279301Sopenharmony_ci    static const std::string END_DATE_TIME;
26296279301Sopenharmony_ci
26396279301Sopenharmony_cipublic:
26496279301Sopenharmony_ci    static void InitDbColumns();
26596279301Sopenharmony_ci
26696279301Sopenharmony_cipublic:
26796279301Sopenharmony_ci    static std::string ADD_COLUMNS;
26896279301Sopenharmony_ci    static std::string SELECT_COLUMNS;
26996279301Sopenharmony_ci};
27096279301Sopenharmony_ci}  // namespace Notification
27196279301Sopenharmony_ci}  // namespace OHOS
27296279301Sopenharmony_ci#endif  // BASE_NOTIFICATION_DISTRIBUTED_NOTIFICATION_SERVICE_INTERFACES_INNER_API_REMINDER_TABLE_H
273