125c1cde8Sopenharmony_ci/*
225c1cde8Sopenharmony_ci * Copyright (c) 2021-2022 Huawei Device Co., Ltd.
325c1cde8Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
425c1cde8Sopenharmony_ci * you may not use this file except in compliance with the License.
525c1cde8Sopenharmony_ci * You may obtain a copy of the License at
625c1cde8Sopenharmony_ci *
725c1cde8Sopenharmony_ci *    http://www.apache.org/licenses/LICENSE-2.0
825c1cde8Sopenharmony_ci *
925c1cde8Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software
1025c1cde8Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
1125c1cde8Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1225c1cde8Sopenharmony_ci * See the License for the specific language governing permissions and
1325c1cde8Sopenharmony_ci * limitations under the License.
1425c1cde8Sopenharmony_ci */
1525c1cde8Sopenharmony_ci
1625c1cde8Sopenharmony_ci#ifndef DATA_STORAGE_SMS_DATA_H
1725c1cde8Sopenharmony_ci#define DATA_STORAGE_SMS_DATA_H
1825c1cde8Sopenharmony_ci
1925c1cde8Sopenharmony_cinamespace OHOS {
2025c1cde8Sopenharmony_cinamespace Telephony {
2125c1cde8Sopenharmony_ciclass SmsMmsInfo {
2225c1cde8Sopenharmony_cipublic:
2325c1cde8Sopenharmony_ci    /**
2425c1cde8Sopenharmony_ci     * @brief Message id
2525c1cde8Sopenharmony_ci     */
2625c1cde8Sopenharmony_ci    static constexpr const char *MSG_ID = "msg_id";
2725c1cde8Sopenharmony_ci    /**
2825c1cde8Sopenharmony_ci     * @brief Card slot index number
2925c1cde8Sopenharmony_ci     */
3025c1cde8Sopenharmony_ci    static constexpr const char *SLOT_ID = "slot_id";
3125c1cde8Sopenharmony_ci    /**
3225c1cde8Sopenharmony_ci     * @brief Recipient number
3325c1cde8Sopenharmony_ci     */
3425c1cde8Sopenharmony_ci    static constexpr const char *RECEIVER_NUMBER = "receiver_number";
3525c1cde8Sopenharmony_ci    /**
3625c1cde8Sopenharmony_ci     * @brief Sender number
3725c1cde8Sopenharmony_ci     */
3825c1cde8Sopenharmony_ci    static constexpr const char *SENDER_NUMBER = "sender_number";
3925c1cde8Sopenharmony_ci    /**
4025c1cde8Sopenharmony_ci     * @brief Sender or not 0 - Recipient 1 - Sender
4125c1cde8Sopenharmony_ci     */
4225c1cde8Sopenharmony_ci    static constexpr const char *IS_SENDER = "is_sender";
4325c1cde8Sopenharmony_ci    /**
4425c1cde8Sopenharmony_ci     * @brief Sending start time
4525c1cde8Sopenharmony_ci     */
4625c1cde8Sopenharmony_ci    static constexpr const char *START_TIME = "start_time";
4725c1cde8Sopenharmony_ci    /**
4825c1cde8Sopenharmony_ci     * @brief Sending end time
4925c1cde8Sopenharmony_ci     */
5025c1cde8Sopenharmony_ci    static constexpr const char *END_TIME = "end_time";
5125c1cde8Sopenharmony_ci    /**
5225c1cde8Sopenharmony_ci     * @brief Message type
5325c1cde8Sopenharmony_ci     */
5425c1cde8Sopenharmony_ci    static constexpr const char *MSG_TYPE = "msg_type";
5525c1cde8Sopenharmony_ci    /**
5625c1cde8Sopenharmony_ci     * @brief SMS type 0-Common,1-Notice
5725c1cde8Sopenharmony_ci     */
5825c1cde8Sopenharmony_ci    static constexpr const char *SMS_TYPE = "sms_type";
5925c1cde8Sopenharmony_ci    /**
6025c1cde8Sopenharmony_ci     * @brief Message title
6125c1cde8Sopenharmony_ci     */
6225c1cde8Sopenharmony_ci    static constexpr const char *MSG_TITLE = "msg_title";
6325c1cde8Sopenharmony_ci    /**
6425c1cde8Sopenharmony_ci     * @brief Message content
6525c1cde8Sopenharmony_ci     */
6625c1cde8Sopenharmony_ci    static constexpr const char *MSG_CONTENT = "msg_content";
6725c1cde8Sopenharmony_ci    /**
6825c1cde8Sopenharmony_ci     * @brief Message state
6925c1cde8Sopenharmony_ci     */
7025c1cde8Sopenharmony_ci    static constexpr const char *MSG_STATE = "msg_state";
7125c1cde8Sopenharmony_ci    /**
7225c1cde8Sopenharmony_ci     * @brief Message code
7325c1cde8Sopenharmony_ci     */
7425c1cde8Sopenharmony_ci    static constexpr const char *MSG_CODE = "msg_code";
7525c1cde8Sopenharmony_ci    /**
7625c1cde8Sopenharmony_ci     * @brief Locked or not
7725c1cde8Sopenharmony_ci     */
7825c1cde8Sopenharmony_ci    static constexpr const char *IS_LOCK = "is_lock";
7925c1cde8Sopenharmony_ci    /**
8025c1cde8Sopenharmony_ci     * @brief Readed or not
8125c1cde8Sopenharmony_ci     */
8225c1cde8Sopenharmony_ci    static constexpr const char *IS_READ = "is_read";
8325c1cde8Sopenharmony_ci    /**
8425c1cde8Sopenharmony_ci     * @brief Collected or not
8525c1cde8Sopenharmony_ci     */
8625c1cde8Sopenharmony_ci    static constexpr const char *IS_COLLECT = "is_collect";
8725c1cde8Sopenharmony_ci    /**
8825c1cde8Sopenharmony_ci     * @brief Session type 0 - Common 1 - broadcast 2 - Group Sending
8925c1cde8Sopenharmony_ci     */
9025c1cde8Sopenharmony_ci    static constexpr const char *SESSION_TYPE = "session_type";
9125c1cde8Sopenharmony_ci    /**
9225c1cde8Sopenharmony_ci     * @brief Retry times
9325c1cde8Sopenharmony_ci     */
9425c1cde8Sopenharmony_ci    static constexpr const char *RETRY_NUMBER = "retry_number";
9525c1cde8Sopenharmony_ci    /**
9625c1cde8Sopenharmony_ci     * @brief Operator service number
9725c1cde8Sopenharmony_ci     */
9825c1cde8Sopenharmony_ci    static constexpr const char *OPERATOR_SERVICE_NUMBER = "operator_service_number";
9925c1cde8Sopenharmony_ci    /**
10025c1cde8Sopenharmony_ci     * @brief Session id
10125c1cde8Sopenharmony_ci     */
10225c1cde8Sopenharmony_ci    static constexpr const char *SESSION_ID = "session_id";
10325c1cde8Sopenharmony_ci    /**
10425c1cde8Sopenharmony_ci     * @brief Group id
10525c1cde8Sopenharmony_ci     */
10625c1cde8Sopenharmony_ci    static constexpr const char *GROUP_ID = "group_id";
10725c1cde8Sopenharmony_ci    /**
10825c1cde8Sopenharmony_ci     * @brief Device id
10925c1cde8Sopenharmony_ci     */
11025c1cde8Sopenharmony_ci    static constexpr const char *DEVICE_ID = "device_id";
11125c1cde8Sopenharmony_ci    /**
11225c1cde8Sopenharmony_ci     * @brief Branch 0 - NO 1 - Yes
11325c1cde8Sopenharmony_ci     */
11425c1cde8Sopenharmony_ci    static constexpr const char *IS_SUBSECTION = "is_subsection";
11525c1cde8Sopenharmony_ci    /**
11625c1cde8Sopenharmony_ci     * @brief Whether to send a report
11725c1cde8Sopenharmony_ci     */
11825c1cde8Sopenharmony_ci    static constexpr const char *IS_SEND_REPORT = "is_send_report";
11925c1cde8Sopenharmony_ci    /**
12025c1cde8Sopenharmony_ci     * @brief Whether in advanced security status
12125c1cde8Sopenharmony_ci     */
12225c1cde8Sopenharmony_ci    static constexpr const char *IS_ADVANCED_SECURITY = "is_advanced_security";
12325c1cde8Sopenharmony_ci};
12425c1cde8Sopenharmony_ci
12525c1cde8Sopenharmony_ciclass SmsSubsection {
12625c1cde8Sopenharmony_cipublic:
12725c1cde8Sopenharmony_ci    /**
12825c1cde8Sopenharmony_ci     * @brief Id
12925c1cde8Sopenharmony_ci     */
13025c1cde8Sopenharmony_ci    static constexpr const char *ID = "id";
13125c1cde8Sopenharmony_ci    /**
13225c1cde8Sopenharmony_ci     * @brief Card slot index number
13325c1cde8Sopenharmony_ci     */
13425c1cde8Sopenharmony_ci    static constexpr const char *SLOT_ID = "slot_id";
13525c1cde8Sopenharmony_ci    /**
13625c1cde8Sopenharmony_ci     * @brief SMS subsection id
13725c1cde8Sopenharmony_ci     */
13825c1cde8Sopenharmony_ci    static constexpr const char *SMS_SUBSECTION_ID = "sms_subsection_id";
13925c1cde8Sopenharmony_ci    /**
14025c1cde8Sopenharmony_ci     * @brief Recipient number
14125c1cde8Sopenharmony_ci     */
14225c1cde8Sopenharmony_ci    static constexpr const char *RECEIVER_NUMBER = "receiver_number";
14325c1cde8Sopenharmony_ci    /**
14425c1cde8Sopenharmony_ci     * @brief Sender number
14525c1cde8Sopenharmony_ci     */
14625c1cde8Sopenharmony_ci    static constexpr const char *SENDER_NUMBER = "sender_number";
14725c1cde8Sopenharmony_ci    /**
14825c1cde8Sopenharmony_ci     * @brief Sender or not 0 - Recipient 1 - Sender
14925c1cde8Sopenharmony_ci     */
15025c1cde8Sopenharmony_ci    static constexpr const char *IS_SENDER = "is_sender";
15125c1cde8Sopenharmony_ci    /**
15225c1cde8Sopenharmony_ci     * @brief Sending start time
15325c1cde8Sopenharmony_ci     */
15425c1cde8Sopenharmony_ci    static constexpr const char *START_TIME = "start_time";
15525c1cde8Sopenharmony_ci    /**
15625c1cde8Sopenharmony_ci     * @brief Sending end time
15725c1cde8Sopenharmony_ci     */
15825c1cde8Sopenharmony_ci    static constexpr const char *END_TIME = "end_time";
15925c1cde8Sopenharmony_ci    /**
16025c1cde8Sopenharmony_ci     * @brief PDU string of the sms message
16125c1cde8Sopenharmony_ci     */
16225c1cde8Sopenharmony_ci    static constexpr const char *REW_PUD = "raw_pdu";
16325c1cde8Sopenharmony_ci    /**
16425c1cde8Sopenharmony_ci     * @brief Formatted data
16525c1cde8Sopenharmony_ci     */
16625c1cde8Sopenharmony_ci    static constexpr const char *FORMAT = "format";
16725c1cde8Sopenharmony_ci    /**
16825c1cde8Sopenharmony_ci     * @brief Destination port
16925c1cde8Sopenharmony_ci     */
17025c1cde8Sopenharmony_ci    static constexpr const char *DEST_PORT = "dest_port";
17125c1cde8Sopenharmony_ci    /**
17225c1cde8Sopenharmony_ci     * @brief Section index
17325c1cde8Sopenharmony_ci     */
17425c1cde8Sopenharmony_ci    static constexpr const char *SUBSECTION_INDEX = "subsection_index";
17525c1cde8Sopenharmony_ci    /**
17625c1cde8Sopenharmony_ci     * @brief Mms size
17725c1cde8Sopenharmony_ci     */
17825c1cde8Sopenharmony_ci    static constexpr const char *SIZE = "size";
17925c1cde8Sopenharmony_ci};
18025c1cde8Sopenharmony_ci
18125c1cde8Sopenharmony_ciclass MmsProtocol {
18225c1cde8Sopenharmony_cipublic:
18325c1cde8Sopenharmony_ci    /**
18425c1cde8Sopenharmony_ci     * @brief Id
18525c1cde8Sopenharmony_ci     */
18625c1cde8Sopenharmony_ci    static constexpr const char *ID = "id";
18725c1cde8Sopenharmony_ci    /**
18825c1cde8Sopenharmony_ci     * @brief Blind carbon copy
18925c1cde8Sopenharmony_ci     */
19025c1cde8Sopenharmony_ci    static constexpr const char *BCC = "bcc";
19125c1cde8Sopenharmony_ci    /**
19225c1cde8Sopenharmony_ci     * @brief Carbon copy
19325c1cde8Sopenharmony_ci     */
19425c1cde8Sopenharmony_ci    static constexpr const char *CC = "cc";
19525c1cde8Sopenharmony_ci    /**
19625c1cde8Sopenharmony_ci     * @brief Content location
19725c1cde8Sopenharmony_ci     */
19825c1cde8Sopenharmony_ci    static constexpr const char *CONTENT_LOCATION = "content_location";
19925c1cde8Sopenharmony_ci    /**
20025c1cde8Sopenharmony_ci     * @brief Date
20125c1cde8Sopenharmony_ci     */
20225c1cde8Sopenharmony_ci    static constexpr const char *DATE = "date";
20325c1cde8Sopenharmony_ci    /**
20425c1cde8Sopenharmony_ci     * @brief Delivery report
20525c1cde8Sopenharmony_ci     */
20625c1cde8Sopenharmony_ci    static constexpr const char *DELIVERY_REPORT = "delivery_report";
20725c1cde8Sopenharmony_ci    /**
20825c1cde8Sopenharmony_ci     * @brief Delivery time
20925c1cde8Sopenharmony_ci     */
21025c1cde8Sopenharmony_ci    static constexpr const char *DELIVERY_TIME = "delivery_time";
21125c1cde8Sopenharmony_ci    /**
21225c1cde8Sopenharmony_ci     * @brief Expiration
21325c1cde8Sopenharmony_ci     */
21425c1cde8Sopenharmony_ci    static constexpr const char *EXPIRY = "expiry";
21525c1cde8Sopenharmony_ci    /**
21625c1cde8Sopenharmony_ci     * @brief Mms type
21725c1cde8Sopenharmony_ci     */
21825c1cde8Sopenharmony_ci    static constexpr const char *TYPE = "type";
21925c1cde8Sopenharmony_ci    /**
22025c1cde8Sopenharmony_ci     * @brief SerialNumber
22125c1cde8Sopenharmony_ci     */
22225c1cde8Sopenharmony_ci    static constexpr const char *SERIAL_NUMBER = "serial_number";
22325c1cde8Sopenharmony_ci    /**
22425c1cde8Sopenharmony_ci     * @brief Mms category
22525c1cde8Sopenharmony_ci     */
22625c1cde8Sopenharmony_ci    static constexpr const char *CATEGORY = "category";
22725c1cde8Sopenharmony_ci    /**
22825c1cde8Sopenharmony_ci     * @brief Mms version
22925c1cde8Sopenharmony_ci     */
23025c1cde8Sopenharmony_ci    static constexpr const char *VERSION = "version";
23125c1cde8Sopenharmony_ci    /**
23225c1cde8Sopenharmony_ci     * @brief Mms size
23325c1cde8Sopenharmony_ci     */
23425c1cde8Sopenharmony_ci    static constexpr const char *SIZE = "size";
23525c1cde8Sopenharmony_ci    /**
23625c1cde8Sopenharmony_ci     * @brief Mms priority
23725c1cde8Sopenharmony_ci     */
23825c1cde8Sopenharmony_ci    static constexpr const char *PRIORITY = "priority";
23925c1cde8Sopenharmony_ci    /**
24025c1cde8Sopenharmony_ci     * @brief Request a read receipt or not
24125c1cde8Sopenharmony_ci     */
24225c1cde8Sopenharmony_ci    static constexpr const char *READ_REPLY = "read_reply";
24325c1cde8Sopenharmony_ci    /**
24425c1cde8Sopenharmony_ci     * @brief Allow delivery reports or not
24525c1cde8Sopenharmony_ci     */
24625c1cde8Sopenharmony_ci    static constexpr const char *REPORT_ALLOWED = "report_allowed";
24725c1cde8Sopenharmony_ci    /**
24825c1cde8Sopenharmony_ci     * @brief Mms response status
24925c1cde8Sopenharmony_ci     */
25025c1cde8Sopenharmony_ci    static constexpr const char *RESPONSE_STATUS = "response_status";
25125c1cde8Sopenharmony_ci    /**
25225c1cde8Sopenharmony_ci     * @brief Mms response text
25325c1cde8Sopenharmony_ci     */
25425c1cde8Sopenharmony_ci    static constexpr const char *RESPONSE_TEXT = "response_text";
25525c1cde8Sopenharmony_ci    /**
25625c1cde8Sopenharmony_ci     * @brief Sender visibility
25725c1cde8Sopenharmony_ci     */
25825c1cde8Sopenharmony_ci    static constexpr const char *SENDER_VISIBILITY = "sender_visibility";
25925c1cde8Sopenharmony_ci};
26025c1cde8Sopenharmony_ci
26125c1cde8Sopenharmony_ciclass MmsPart {
26225c1cde8Sopenharmony_cipublic:
26325c1cde8Sopenharmony_ci    /**
26425c1cde8Sopenharmony_ci     * @brief Id
26525c1cde8Sopenharmony_ci     */
26625c1cde8Sopenharmony_ci    static constexpr const char *ID = "id";
26725c1cde8Sopenharmony_ci    /**
26825c1cde8Sopenharmony_ci     * @brief Mms data subscript
26925c1cde8Sopenharmony_ci     */
27025c1cde8Sopenharmony_ci    static constexpr const char *PART_INDEX = "part_index";
27125c1cde8Sopenharmony_ci    /**
27225c1cde8Sopenharmony_ci     * @brief Mms size
27325c1cde8Sopenharmony_ci     */
27425c1cde8Sopenharmony_ci    static constexpr const char *PART_SIZE = "part_size";
27525c1cde8Sopenharmony_ci    /**
27625c1cde8Sopenharmony_ci     * @brief Audio/Video recording time
27725c1cde8Sopenharmony_ci     */
27825c1cde8Sopenharmony_ci    static constexpr const char *RECORDING_TIME = "recording_time";
27925c1cde8Sopenharmony_ci    /**
28025c1cde8Sopenharmony_ci     * @brief 0: theme; 1: picture; 2: video; 3: audio; 4: text; 5: business card
28125c1cde8Sopenharmony_ci     */
28225c1cde8Sopenharmony_ci    static constexpr const char *TYPE = "type";
28325c1cde8Sopenharmony_ci    /**
28425c1cde8Sopenharmony_ci     * @brief Local storage path
28525c1cde8Sopenharmony_ci     */
28625c1cde8Sopenharmony_ci    static constexpr const char *LOCATION_PATH = "location_path";
28725c1cde8Sopenharmony_ci    /**
28825c1cde8Sopenharmony_ci     * @brief Sending success status
28925c1cde8Sopenharmony_ci     */
29025c1cde8Sopenharmony_ci    static constexpr const char *STATE = "state";
29125c1cde8Sopenharmony_ci    /**
29225c1cde8Sopenharmony_ci     * @brief Encoding or not
29325c1cde8Sopenharmony_ci     */
29425c1cde8Sopenharmony_ci    static constexpr const char *ENCODE = "encode";
29525c1cde8Sopenharmony_ci    /**
29625c1cde8Sopenharmony_ci     * @brief Mms text content
29725c1cde8Sopenharmony_ci     */
29825c1cde8Sopenharmony_ci    static constexpr const char *CONTENT = "content";
29925c1cde8Sopenharmony_ci};
30025c1cde8Sopenharmony_ci
30125c1cde8Sopenharmony_ciclass Session {
30225c1cde8Sopenharmony_cipublic:
30325c1cde8Sopenharmony_ci    static constexpr const char *ID = "id";
30425c1cde8Sopenharmony_ci    static constexpr const char *TIME = "time";
30525c1cde8Sopenharmony_ci    static constexpr const char *TELEPHONE = "telephone";
30625c1cde8Sopenharmony_ci    static constexpr const char *CONTENT = "content";
30725c1cde8Sopenharmony_ci    static constexpr const char *CONTACTS_NUM = "contacts_num";
30825c1cde8Sopenharmony_ci    static constexpr const char *SMS_TYPE = "sms_type";
30925c1cde8Sopenharmony_ci    static constexpr const char *UNREAD_COUNT = "unread_count";
31025c1cde8Sopenharmony_ci    static constexpr const char *SENDING_STATUS = "sending_status";
31125c1cde8Sopenharmony_ci    static constexpr const char *HAS_DRAFT = "has_draft";
31225c1cde8Sopenharmony_ci    static constexpr const char *HAS_LOCK = "has_lock";
31325c1cde8Sopenharmony_ci    static constexpr const char *MESSAGE_COUNT = "message_count";
31425c1cde8Sopenharmony_ci    static constexpr const char *HAS_MMS = "has_mms";
31525c1cde8Sopenharmony_ci    static constexpr const char *HAS_ATTACHMENT = "has_attachment";
31625c1cde8Sopenharmony_ci};
31725c1cde8Sopenharmony_ci
31825c1cde8Sopenharmony_ciclass MmsPdu {
31925c1cde8Sopenharmony_cipublic:
32025c1cde8Sopenharmony_ci    /**
32125c1cde8Sopenharmony_ci     * @brief Mms Pdu Id
32225c1cde8Sopenharmony_ci     */
32325c1cde8Sopenharmony_ci    static constexpr const char *ID = "id";
32425c1cde8Sopenharmony_ci    /**
32525c1cde8Sopenharmony_ci     * @brief Mms Pdu Content
32625c1cde8Sopenharmony_ci     */
32725c1cde8Sopenharmony_ci    static constexpr const char *PDU_CONTENT = "pdu_content";
32825c1cde8Sopenharmony_ci};
32925c1cde8Sopenharmony_ci
33025c1cde8Sopenharmony_ciconstexpr const char *TABLE_SMS_MMS_INFO = "sms_mms_info";
33125c1cde8Sopenharmony_ciconstexpr const char *TABLE_SMS_SUBSECTION = "sms_subsection";
33225c1cde8Sopenharmony_ciconstexpr const char *TABLE_MMS_PROTOCOL = "mms_protocol";
33325c1cde8Sopenharmony_ciconstexpr const char *TABLE_MMS_PART = "mms_part";
33425c1cde8Sopenharmony_ciconstexpr const char *TABLE_SESSION = "session";
33525c1cde8Sopenharmony_ciconstexpr const char *TABLE_MMS_PDU = "mms_pdu";
33625c1cde8Sopenharmony_ciconstexpr const char *SMS_MMS_URI = "datashare:///com.ohos.smsmmsability";
33725c1cde8Sopenharmony_ci} // namespace Telephony
33825c1cde8Sopenharmony_ci} // namespace OHOS
33925c1cde8Sopenharmony_ci#endif // DATA_STORAGE_SMS_DATA_H
340