1 /*
2  * Copyright (c) 2023 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 #ifndef DISC_EVENT_FORM_H
17 #define DISC_EVENT_FORM_H
18 
19 #include <stdint.h>
20 
21 #include "event_form_enum.h"
22 
23 #ifdef __cplusplus
24 extern "C" {
25 #endif
26 
27 typedef enum {
28     EVENT_SCENE_INIT = 1,
29     EVENT_SCENE_DISC = 2,
30     EVENT_SCENE_BLE = 3,
31     EVENT_SCENE_SHARE_BLE = 4,
32     EVENT_SCENE_APPROACH_BLE = 5,
33     EVENT_SCENE_COAP = 6,
34     EVENT_SCENE_RESERVED_7 = 7,
35     EVENT_SCENE_RESERVED_8 = 8,
36 } DiscEventScene;
37 
38 typedef enum {
39     EVENT_STAGE_INIT = 1,
40     EVENT_STAGE_SOFTBUS_BLE_INIT = 2,
41     EVENT_STAGE_SHARE_BLE_INIT = 3,
42     EVENT_STAGE_APPROACH_BLE_INIT = 4,
43     EVENT_STAGE_VLINK_BLE_INIT = 5,
44     EVENT_STAGE_TOUCH_BLE_INIT = 6,
45 } DiscEventInitStage;
46 
47 typedef enum {
48     EVENT_STAGE_DISC_SDK = 1,
49     EVENT_STAGE_DISC_SERVICE = 2,
50     EVENT_STAGE_ADD_INFO = 3,
51     EVENT_STAGE_CALL_INTERFACE = 4,
52     EVENT_STAGE_DEVICE_FOUND = 5,
53 } DiscEventDiscStage;
54 
55 typedef enum {
56     EVENT_STAGE_BLE_PROCESS = 1,
57     EVENT_STAGE_BLE_HANDLER = 2,
58     EVENT_STAGE_STATE_TURN = 3,
59     EVENT_STAGE_BROADCAST = 4,
60     EVENT_STAGE_SCAN = 5,
61     EVENT_STAGE_SCAN_RECV = 6,
62 } DiscEventBleStage;
63 
64 typedef enum {
65     EVENT_STAGE_SHARE_BLE_PROCESS = 1,
66     EVENT_STAGE_SHARE_BLE_UPDATE_DEVICE = 2,
67 } DiscEventShareBleStage;
68 
69 typedef enum {
70     EVENT_STAGE_APPROACH_BLE_PROCESS = 1,
71 } DiscEventApproachBleStage;
72 
73 typedef enum {
74     EVENT_STAGE_COAP = 1,
75     EVENT_STAGE_UPDATE_IP = 2,
76     EVENT_STAGE_UPDATE_DEVICE = 3,
77     EVENT_STAGE_REGISTER = 4,
78     EVENT_STAGE_SET_FILTER = 5,
79     EVENT_STAGE_DISCOVERY_START = 6,
80     EVENT_STAGE_DISCOVERY_STOP = 7,
81 } DiscEventCoapStage;
82 
83 typedef enum {
84     EVENT_STAGE_ADV_START = 1,
85     EVENT_STAGE_ADV_STOP = 2,
86     EVENT_STAGE_ADV_REPLACE = 3,
87     EVENT_STAGE_SCAN_START = 4,
88     EVENT_STAGE_ONLINE_STATE = 5,
89 } DiscEventBroadcastStage;
90 
91 typedef enum {
92     SERVER_PUBLISH = 1,
93     SERVER_STOP_PUBLISH = 2,
94     SERVER_DISCOVERY = 3,
95     SERVER_STOP_DISCOVERY = 4,
96 } DiscServerType;
97 
98 typedef struct {
99     int32_t result;              // STAGE_RES
100     int32_t errcode;             // ERROR_CODE
101     int32_t initType;            // INIT_TYPE
102     int32_t serverType;          // SERVER_TYPE
103     int32_t interFuncType;       // INTERFACE_FUNC_TYPE
104     int32_t capabilityBit;       // CAPABILITY_BIT
105     const char *capabilityData;  // CAPABILITY_DATA
106     int32_t bleTurnState;        // BLE_TURN_STATE
107     int32_t ipLinkStatus;        // IP_LINK_STATUS
108     int32_t coapChangeType;      // COAP_CHANGE_TYPE
109     int32_t broadcastType;       // BROADCAST_TYPE
110     int32_t broadcastFreq;       // BROADCAST_FREQ
111     int32_t scanType;            // SCAN_TYPE
112     const char *scanCycle;       // SCAN_CYCLE
113     int32_t discType;            // DISC_TYPE
114     int32_t discMode;            // DISC_MODE
115     int32_t costTime;            // FIRST_DISCOVERY_TIME
116     const char *localNetworkId;  // LOCAL_NET_ID
117     const char *peerIp;          // PEER_IP
118     const char *peerBrMac;       // PEER_BR_MAC
119     const char *peerBleMac;      // PEER_BLE_MAC
120     const char *peerWifiMac;     // PEER_WIFI_MAC
121     const char *peerPort;        // PEER_PORT
122     const char *peerNetworkId;   // PEER_NET_ID
123     const char *peerDeviceType;  // PEER_DEV_TYPE
124     const char *callerPkg;       // HOST_PKG
125 } DiscEventExtra;
126 
127 typedef enum {
128     ALARM_SCENE_DISC_RESERVED = 1,
129 } DiscAlarmScene;
130 
131 typedef struct {
132     int32_t errcode;
133     int32_t result;
134     int32_t originalFreq;
135     int32_t abnormalFreq;
136     int32_t duration;
137 } DiscAlarmExtra;
138 
139 typedef enum {
140     STATS_SCENE_DISC_RESERVED = 1,
141 } DiscStatsScene;
142 
143 typedef struct {
144     int32_t reserved;
145 } DiscStatsExtra;
146 
147 typedef enum {
148     AUDIT_SCENE_BLE_PUBLISH = 1,
149     AUDIT_SCENE_BLE_SUBSCRIBE = 2,
150     AUDIT_SCENE_BLE_ADVERTISE = 3,
151     AUDIT_SCENE_BLE_SCAN = 4,
152     AUDIT_SCENE_COAP_PUBLISH = 5,
153     AUDIT_SCENE_COAP_DISCOVERY = 6,
154 } DiscAuditScene;
155 
156 typedef enum {
157     DISC_AUDIT_CONTINUE = 1,
158     DISC_AUDIT_DISCONTINUE = 2,
159     DISC_AUDIT_TRY_AGAIN = 3,
160 } DiscAuditResult;
161 
162 typedef struct {
163     const char *callerPkg;         // HOST_PKG
164     int32_t result;                // RESULT
165     int32_t errcode;               // ERROR_CODE
166     SoftbusAuditType auditType;    // AUDIT_TYPE
167     int32_t broadcastType;         // BROADCAST_TYPE
168     int32_t broadcastFreq;         // BROADCAST_FREQ
169     int32_t advCount;              // ADV_COUNT
170     int32_t advDuration;           // ADV_DURATION
171     int32_t scanInterval;          // SCAN_INTERVAL
172     int32_t scanWindow;            // SCAN_WINDOW
173     int32_t discMode;              // DISC_MODE
174     int32_t mediumType;            // MEDIUM_TYPE
175     int32_t advChannel;            // ADV_CHANNEL
176     int32_t scanType;              // SCAN_TYPE
177     int32_t scanId;                // SCAN_ID
178     int32_t scanListenerId;        // SCAN_LISTENER_ID
179     const char *localUdid;         // LOCAL_UDID
180     const char *localDeviceName;   // LOCAL_DEV_NAME
181     const char *localDeviceType;   // LOCAL_DEV_TYPE
182     const char *localAccountHash;  // LOCAL_ACCOUNT_HASH
183     int32_t localCapabilityBitmap; // LOCAL_CAPABILITY_BITMAP
184     const char *localCustData;     // LOCAL_CUST_DATA
185     const char *localIp;           // LOCAL_IP
186     int32_t localPort;             // LOCAL_PORT
187     const char *localBrMac;        // LOCAL_BR_MAC
188     const char *localBleMac;       // LOCAL_BLE_MAC
189     const char *peerUdid;          // PEER_UDID
190     const char *peerDeviceName;    // PEER_DEV_NAME
191     const char *peerDeviceType;    // PEER_DEV_TYPE
192     const char *peerAccountHash;   // PEER_ACCOUNT_HASH
193     int32_t peerCapabilityBitmap;  // PEER_CAPABILITY_BITMAP
194     const char *peerCustData;      // PEER_CUST_DATA
195     const char *peerIp;            // PEER_IP
196     int32_t peerPort;              // PEER_PORT
197     const char *peerBrMac;         // PEER_BR_MAC
198     const char *peerBleMac;        // PEER_BLE_MAC
199     const char *errMsg;            // ERR_MSG
200     const char *additionalInfo;    // ADDITIONAL_INFO
201 } DiscAuditExtra;
202 
203 #ifdef __cplusplus
204 }
205 #endif /* __cplusplus */
206 #endif // DISC_EVENT_FORM_H
207