• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2022 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 #include "cellular_data_hisysevent.h"
17 
18 namespace OHOS {
19 namespace Telephony {
20 // EVENT
21 static constexpr const char *DATA_CONNECTION_STATE_EVENT = "DATA_CONNECTION_STATE";
22 static constexpr const char *ROAMING_DATA_CONNECTION_STATE_EVENT = "ROAMING_DATA_CONNECTION_STATE";
23 static constexpr const char *DATA_ACTIVATE_FAILED_EVENT = "DATA_ACTIVATE_FAILED";
24 static constexpr const char *DATA_DEACTIVED_EVENT = "DATA_DEACTIVED";
25 
26 // KEY
27 static constexpr const char *MODULE_NAME_KEY = "MODULE";
28 static constexpr const char *SLOT_ID_KEY = "SLOT_ID";
29 static constexpr const char *STATE_KEY = "STATE";
30 static constexpr const char *DATA_SWITCH_KEY = "DATA_SWITCH";
31 static constexpr const char *UPLINK_DATA_KEY = "UPLINK_DATA";
32 static constexpr const char *DOWNLINK_DATA_KEY = "DOWNLINK_DATA";
33 static constexpr const char *DATASTATE_KEY = "DATASTATE";
34 static constexpr const char *ERROR_TYPE_KEY = "ERROR_TYPE";
35 static constexpr const char *ERROR_MSG_KEY = "ERROR_MSG";
36 static constexpr const char *TYPE_KEY = "TYPE";
37 
38 // VALUE
39 static constexpr const char *CELLULAR_DATA_MODULE = "CELLULAR_DATA";
40 
WriteDataDeactiveBehaviorEvent(const int32_t slotId,const DataDisconnectCause type)41 void CellularDataHiSysEvent::WriteDataDeactiveBehaviorEvent(const int32_t slotId, const DataDisconnectCause type)
42 {
43     HiWriteBehaviorEvent(DATA_DEACTIVED_EVENT, SLOT_ID_KEY, slotId, TYPE_KEY, static_cast<int32_t>(type));
44 }
45 
WriteDataConnectStateBehaviorEvent(const int32_t state)46 void CellularDataHiSysEvent::WriteDataConnectStateBehaviorEvent(const int32_t state)
47 {
48     HiWriteBehaviorEvent(DATA_CONNECTION_STATE_EVENT, STATE_KEY, state);
49 }
50 
WriteRoamingConnectStateBehaviorEvent(const int32_t state)51 void CellularDataHiSysEvent::WriteRoamingConnectStateBehaviorEvent(const int32_t state)
52 {
53     HiWriteBehaviorEvent(ROAMING_DATA_CONNECTION_STATE_EVENT, STATE_KEY, state);
54 }
55 
WriteDataActivateFaultEvent(const int32_t slotId,const int32_t switchState,const CellularDataErrorCode errorType,const std::string & errorMsg)56 void CellularDataHiSysEvent::WriteDataActivateFaultEvent(
57     const int32_t slotId, const int32_t switchState, const CellularDataErrorCode errorType, const std::string &errorMsg)
58 {
59     HiWriteFaultEvent(DATA_ACTIVATE_FAILED_EVENT, MODULE_NAME_KEY, CELLULAR_DATA_MODULE, SLOT_ID_KEY, slotId,
60         DATA_SWITCH_KEY, switchState, UPLINK_DATA_KEY, INVALID_PARAMETER, DOWNLINK_DATA_KEY, INVALID_PARAMETER,
61         DATASTATE_KEY, INVALID_PARAMETER, ERROR_TYPE_KEY, static_cast<int32_t>(errorType), ERROR_MSG_KEY, errorMsg);
62 }
63 
SetCellularDataActivateStartTime()64 void CellularDataHiSysEvent::SetCellularDataActivateStartTime()
65 {
66     dataActivateStartTime_ =
67         std::chrono::duration_cast<std::chrono::milliseconds>(std::chrono::system_clock::now().time_since_epoch())
68             .count();
69 }
70 
JudgingDataActivateTimeOut(const int32_t slotId,const int32_t switchState)71 void CellularDataHiSysEvent::JudgingDataActivateTimeOut(const int32_t slotId, const int32_t switchState)
72 {
73     int64_t dataActivateEndTime =
74         std::chrono::duration_cast<std::chrono::milliseconds>(std::chrono::system_clock::now().time_since_epoch())
75             .count();
76     if (dataActivateEndTime - dataActivateStartTime_ > DATA_ACTIVATE_TIME) {
77         WriteDataActivateFaultEvent(slotId, switchState, CellularDataErrorCode::DATA_ERROR_DATA_ACTIVATE_TIME_OUT,
78             "data activate time out " + std::to_string(dataActivateEndTime - dataActivateStartTime_));
79     }
80 }
81 } // namespace Telephony
82 } // namespace OHOS
83