• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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