1 /* 2 * Copyright (c) 2025 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 17 #ifndef COOPERATE_HISYSEVENT_H 18 #define COOPERATE_HISYSEVENT_H 19 20 #include <string> 21 22 namespace OHOS { 23 namespace Msdp { 24 namespace DeviceStatus { 25 26 enum class BizCooperateScene { 27 SCENE_ACTIVE = 1, 28 SCENE_PASSIVE, 29 SCENE_LATENCY 30 }; 31 32 enum class BizCooperateStageRes { 33 RES_IDLE = 0, 34 RES_SUCCESS, 35 RES_FAIL 36 }; 37 38 enum class BizCooperateStage { 39 STAGE_CALLING_COOPERATE = 1, 40 STAGE_CHECK_SAME_ACCOUNT, 41 STAGE_CHECK_LOCAL_SWITCH, 42 STAGE_CHECK_ALLOW_COOPERATE, 43 STAGE_OPEN_DSOFTBUS_SESSION, 44 STAGE_CHECK_UNECPECTED_CALLING, 45 STAGE_SERIALIZE_INSTRUCTION, 46 STAGE_SEND_INSTRUCTION_TO_REMOTE, 47 STAGE_ADD_MMI_EVENT_INTERCEPOR, 48 STAGE_SWITCH_STATE_MACHINE, 49 STAGE_SET_CURSOR_VISIBILITY, 50 STAGE_SRV_EVENT_MGR_NOTIFY, 51 STAGE_CLIENT_ON_MESSAGE_RCVD, 52 STAGE_PASSIVE_DEASERIALIZATION, 53 STAGE_PASSIVE_CHECK_SAME_ACCOUNT, 54 STAGE_CHECK_PEER_SWITCH, 55 STATE_INPUT_EVENT_BUILDER_ENABLE, 56 STAGE_PASSIVE_CURSOR_VISIBILITY 57 }; 58 59 enum class CooperateRadarErrCode { 60 CALLING_COOPERATE_SUCCESS = 0, 61 CALLING_COOPERATE_FAILED = 61145108, 62 CHECK_SAME_ACCOUNT_FAILED = 61145109, 63 CHECK_LOCAL_SWITCH_FAILED = 61145110, 64 CHECK_ALLOW_COOPERATE_FAILED = 61145111, 65 OPEN_DSOFTBUS_SESSION_FAILED = 61145112, 66 CHECK_UNECPECTED_CALLING_FAILED = 61145113, 67 SERIALIZE_INSTRUCTION_FAILED = 61145114, 68 SEND_INSTRUCTION_TO_REMOTE_FAILED = 61145115, 69 ADD_MMI_EVENT_INTERCEPOR_FAILED = 61145116, 70 SWITCH_STATE_MACHINE_FAILED = 61145117, 71 SET_CURSOR_VISIBILITY_FAILED = 61145118, 72 SRV_EVENT_MGR_NOTIFY_FAILED = 61145119, 73 CLIENT_ON_MESSAGE_RCVD_FAILED = 61145120, 74 PASSIVE_DEASERIALIZATION_FAILED = 61145121, 75 PASSIVE_CHECK_SAME_ACCOUNT_FAILED = 61145122, 76 CHECK_PEER_SWITCH_FAILED = 61145123, 77 INPUT_EVENT_BUILDER_ENABLE_FAILED = 61145124, 78 PASSIVE_CURSOR_VISIBILITY_FAILED = 61145125 79 }; 80 81 struct CooperateRadarInfo { 82 std::string funcName; 83 int32_t bizState { -1 }; 84 int32_t bizStage { -1 }; 85 int32_t stageRes { -1 }; 86 int32_t bizScene { -1 }; 87 int32_t errCode { -1 }; 88 std::string hostName; 89 std::string localNetId; 90 std::string peerNetId; 91 std::string toCallPkg; 92 std::string localDeviceType; 93 std::string peerDeviceType; 94 }; 95 96 struct TransmissionLatencyRadarInfo { 97 std::string funcName; 98 int32_t bizState { -1 }; 99 int32_t bizStage { -1 }; 100 int32_t stageRes { -1 }; 101 int32_t bizScene { -1 }; 102 std::string localNetId; 103 std::string peerNetId; 104 int64_t driveEventTimeDT { -1 }; 105 int64_t cooperateInterceptorTimeDT { -1 }; 106 int64_t crossPlatformTimeDT { -1 }; 107 int32_t pointerSpeed { -1 }; 108 int32_t touchPadSpeed { -1 }; 109 }; 110 111 class CooperateRadar { 112 public: 113 static void ReportCooperateRadarInfo(struct CooperateRadarInfo &cooperateRadarInfo); 114 static void ReportTransmissionLatencyRadarInfo( 115 struct TransmissionLatencyRadarInfo &transmissionLatencyRadarInfo); 116 }; 117 } // namespace DeviceStatus 118 } // namespace Msdp 119 } // namespace OHOS 120 #endif // COOPERATE_HISYSEVENT_H 121