1e5d0e473Sopenharmony_ci/*
2e5d0e473Sopenharmony_ci * Copyright (C) 2021-2023 Huawei Device Co., Ltd.
3e5d0e473Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
4e5d0e473Sopenharmony_ci * you may not use this file except in compliance with the License.
5e5d0e473Sopenharmony_ci * You may obtain a copy of the License at
6e5d0e473Sopenharmony_ci *
7e5d0e473Sopenharmony_ci *    http://www.apache.org/licenses/LICENSE-2.0
8e5d0e473Sopenharmony_ci *
9e5d0e473Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software
10e5d0e473Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
11e5d0e473Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12e5d0e473Sopenharmony_ci * See the License for the specific language governing permissions and
13e5d0e473Sopenharmony_ci * limitations under the License.
14e5d0e473Sopenharmony_ci */
15e5d0e473Sopenharmony_ci
16e5d0e473Sopenharmony_ci#ifndef SMS_CB_DATA_H
17e5d0e473Sopenharmony_ci#define SMS_CB_DATA_H
18e5d0e473Sopenharmony_ci
19e5d0e473Sopenharmony_ci#include <string>
20e5d0e473Sopenharmony_ci
21e5d0e473Sopenharmony_ci#include "cdma_sms_common.h"
22e5d0e473Sopenharmony_ci#include "gsm_cb_codec.h"
23e5d0e473Sopenharmony_ci
24e5d0e473Sopenharmony_cinamespace OHOS {
25e5d0e473Sopenharmony_cinamespace Telephony {
26e5d0e473Sopenharmony_ciclass SmsCbData {
27e5d0e473Sopenharmony_cipublic:
28e5d0e473Sopenharmony_ci    struct CbData {
29e5d0e473Sopenharmony_ci        int32_t slotId = -1;
30e5d0e473Sopenharmony_ci        std::string msgBody = "";
31e5d0e473Sopenharmony_ci        uint16_t serial = 0;
32e5d0e473Sopenharmony_ci        int64_t recvTime = 0;
33e5d0e473Sopenharmony_ci        uint16_t msgId = 0;
34e5d0e473Sopenharmony_ci        int8_t format = 0;
35e5d0e473Sopenharmony_ci        uint16_t category = static_cast<uint16_t>(SmsCmaeCategory::RESERVED);
36e5d0e473Sopenharmony_ci        bool isEtws = false;
37e5d0e473Sopenharmony_ci        bool isCmas = false;
38e5d0e473Sopenharmony_ci        uint8_t cmasClass = static_cast<uint8_t>(SmsCmaeAlertHandle::RESERVED);
39e5d0e473Sopenharmony_ci        uint8_t cmasCate = static_cast<uint8_t>(SmsCmaeCategory::RESERVED);
40e5d0e473Sopenharmony_ci        uint8_t severity = static_cast<uint8_t>(SmsCmaeSeverity::RESERVED);
41e5d0e473Sopenharmony_ci        uint8_t urgency = static_cast<uint8_t>(SmsCmaeUrgency::IMMEDIATE);
42e5d0e473Sopenharmony_ci        uint8_t certainty = static_cast<uint8_t>(SmsCmaeCertainty::RESERVED);
43e5d0e473Sopenharmony_ci        uint16_t warnType = 0;
44e5d0e473Sopenharmony_ci        uint8_t msgType = GsmCbCodec::GSM_UNKNOWN;
45e5d0e473Sopenharmony_ci        uint8_t langType = GsmCbCodec::CB_LANG_DUMMY;
46e5d0e473Sopenharmony_ci        uint8_t dcs = 0;
47e5d0e473Sopenharmony_ci        int8_t priority = static_cast<int8_t>(SmsPriorityIndicator::NORMAL);
48e5d0e473Sopenharmony_ci        bool isPrimary = false;
49e5d0e473Sopenharmony_ci        uint8_t cmasRes = static_cast<uint8_t>(SmsCmaeResponseType::RESERVED);
50e5d0e473Sopenharmony_ci        uint8_t geoScope = 0;
51e5d0e473Sopenharmony_ci    };
52e5d0e473Sopenharmony_ci    inline static const std::string SLOT_ID = "slotId";
53e5d0e473Sopenharmony_ci    inline static const std::string CB_MSG_TYPE = "cbMsgType";
54e5d0e473Sopenharmony_ci    inline static const std::string LANG_TYPE = "langType";
55e5d0e473Sopenharmony_ci    inline static const std::string DCS = "dcs";
56e5d0e473Sopenharmony_ci    inline static const std::string PRIORITY = "priority";
57e5d0e473Sopenharmony_ci    inline static const std::string CMAS_CLASS = "cmasClass";
58e5d0e473Sopenharmony_ci    inline static const std::string CMAS_CATEGORY = "cmasCategory";
59e5d0e473Sopenharmony_ci    inline static const std::string CMAS_RESPONSE = "cmasResponseType";
60e5d0e473Sopenharmony_ci    inline static const std::string SEVERITY = "severity";
61e5d0e473Sopenharmony_ci    inline static const std::string URGENCY = "urgency";
62e5d0e473Sopenharmony_ci    inline static const std::string CERTAINTY = "certainty";
63e5d0e473Sopenharmony_ci    inline static const std::string MSG_BODY = "msgBody";
64e5d0e473Sopenharmony_ci    inline static const std::string FORMAT = "format";
65e5d0e473Sopenharmony_ci    inline static const std::string SERIAL_NUM = "serialNum";
66e5d0e473Sopenharmony_ci    inline static const std::string RECV_TIME = "recvTime";
67e5d0e473Sopenharmony_ci    inline static const std::string MSG_ID = "msgId";
68e5d0e473Sopenharmony_ci    inline static const std::string SERVICE_CATEGORY = "serviceCategory";
69e5d0e473Sopenharmony_ci    inline static const std::string IS_ETWS_PRIMARY = "isEtwsPrimary";
70e5d0e473Sopenharmony_ci    inline static const std::string IS_CMAS_MESSAGE = "isCmasMessage";
71e5d0e473Sopenharmony_ci    inline static const std::string IS_ETWS_MESSAGE = "isEtwsMessage";
72e5d0e473Sopenharmony_ci    inline static const std::string PLMN = "plmn";
73e5d0e473Sopenharmony_ci    inline static const std::string LAC = "lac";
74e5d0e473Sopenharmony_ci    inline static const std::string CID = "cid";
75e5d0e473Sopenharmony_ci    inline static const std::string WARNING_TYPE = "warningType";
76e5d0e473Sopenharmony_ci    inline static const std::string GEO_SCOPE = "geoScope";
77e5d0e473Sopenharmony_ci};
78e5d0e473Sopenharmony_ci} // namespace Telephony
79e5d0e473Sopenharmony_ci} // namespace OHOS
80e5d0e473Sopenharmony_ci#endif // SMS_CB_DATA_H
81e5d0e473Sopenharmony_ci
82