1 /*
2  * Copyright (C) 2021-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 #ifndef OHOS_WIFI_COMMON_EVENT_HELPER_H
17 #define OHOS_WIFI_COMMON_EVENT_HELPER_H
18 
19 #include <string>
20 
21 namespace OHOS {
22 namespace Wifi {
23 inline const std::string COMMON_EVENT_WIFI_POWER_STATE = "usual.event.wifi.POWER_STATE";
24 inline const std::string COMMON_EVENT_WIFI2_POWER_STATE = "usual.event.wifi.WIFI2_POWER_STATE";
25 inline const std::string COMMON_EVENT_WIFI_SCAN_FINISHED = "usual.event.wifi.SCAN_FINISHED";
26 inline const std::string COMMON_EVENT_WIFI_SCAN_STATE = "usual.event.wifi.SCAN_STATE";
27 inline const std::string COMMON_EVENT_WIFI_SEMI_STATE = "usual.event.wifi.SEMI_STATE";
28 inline const std::string COMMON_EVENT_WIFI_RSSI_VALUE = "usual.event.wifi.RSSI_VALUE";
29 inline const std::string COMMON_EVENT_WITAS_RSSI_VALUE = "usual.event.wifi.WITAS_RSSI_VALUE";
30 inline const std::string COMMON_EVENT_WIFI_CONN_STATE = "usual.event.wifi.CONN_STATE";
31 inline const std::string COMMON_EVENT_WIFI2_CONN_STATE = "usual.event.wifi.WIFI2_CONN_STATE";
32 inline const std::string COMMON_EVENT_WIFI_HOTSPOT_STATE = "usual.event.wifi.HOTSPOT_STATE";
33 inline const std::string COMMON_EVENT_WIFI_AP_STA_JOIN = "usual.event.wifi.WIFI_HS_STA_JOIN";
34 inline const std::string COMMON_EVENT_WIFI_AP_STA_LEAVE = "usual.event.wifi.WIFI_HS_STA_LEAVE";
35 inline const std::string COMMON_EVENT_WIFI_MPLINK_STATE = "usual.event.wifi.mplink.STATE_CHANGE";
36 inline const std::string COMMON_EVENT_WIFI_P2P_CONN_STATE = "usual.event.wifi.p2p.CONN_STATE_CHANGE";
37 inline const std::string COMMON_EVENT_WIFI_P2P_STATE_CHANGED = "usual.event.wifi.p2p.STATE_CHANGE";
38 inline const std::string COMMON_EVENT_WIFI_P2P_PEERS_STATE_CHANGED =
39     "usual.event.wifi.p2p.DEVICES_CHANGE";
40 inline const std::string COMMON_EVENT_WIFI_P2P_PEERS_DISCOVERY_STATE_CHANGED =
41     "usual.event.wifi.p2p.PEER_DISCOVERY_STATE_CHANGE";
42 const std::string COMMON_EVENT_WIFI_P2P_CURRENT_DEVICE_STATE_CHANGED = "usual.event.wifi.p2p.CURRENT_DEVICE_CHANGE";
43 const std::string COMMON_EVENT_WIFI_P2P_GROUP_STATE_CHANGED = "usual.event.wifi.p2p.GROUP_STATE_CHANGED";
44 inline const std::string COMMON_EVENT_WIFI_SELF_CURE_STATE_CHANGED = "usual.event.wifi.selfcure.STATE_CHANGED";
45 inline const std::string COMMON_EVENT_GET_WIFI_INFO_PERMISSION = "ohos.permission.GET_WIFI_INFO";
46 inline const std::string COMMON_EVENT_MANAGE_WIFI_CONNECTION_PERMISSION = "ohos.permission.MANAGE_WIFI_CONNECTION";
47 class WifiCommonEventHelper {
48 public:
49     static bool PublishEvent(const std::string &eventAction, const int &code, const std::string &data,
50         const std::vector<std::string> &permissions);
51 
52     static bool PublishEvent(const std::string &eventAction, const int &code, const std::string &data);
53 
54     template <typename T>
55     static bool PublishEvent(const std::string &eventAction, const std::string &paramKey, T paramValue,
56         const int &code, const std::string &data);
57     static bool PublishPowerStateChangeEvent(const int &code, const std::string &data);
58     static bool PublishWifi2PowerStateChangeEvent(const int &code, const std::string &data);
59     static bool PublishScanFinishedEvent(const int &code, const std::string &data);
60     static bool PublishScanStateChangedEvent(const int &code, const std::string &data);
61     static bool PublishWifiSemiStateChangedEvent(const int &code, const std::string &data);
62     static bool PublishRssiValueChangedEvent(const std::string &pramKey, int paramValue,
63         const int &code, const std::string &data);
64     static bool PublishWiTasRssiValueChangedEvent(const int &code, const std::string &data);
65     static bool PublishConnStateChangedEvent(const int &code, const std::string &data);
66     static bool PublishWifi2ConnStateChangedEvent(const int &code, const std::string &data);
67     static bool PublishHotspotStateChangedEvent(const int &code, const std::string &data);
68     static bool PublishApStaJoinEvent(const int &code, const std::string &data);
69     static bool PublishApStaLeaveEvent(const int &code, const std::string &data);
70     static bool PublishMPlinkEvent(const int &code, const std::string &data);
71     static bool PublishP2pStateChangedEvent(const int &code, const std::string &data);
72     static bool PublishP2pConnStateEvent(const int &code, const std::string &data);
73     static bool PublishP2pPeersStateChangedEvent(const int &code, const std::string &data);
74     static bool PublishP2pDicoveryStateChangedEvent(const int &code, const std::string &data);
75     static bool PublishP2pCurrentDeviceStateChangedEvent(const int &code, const std::string &data);
76     static bool PublishP2pGroupStateChangedEvent(const int &code, const std::string &data);
77     static bool PublishSelfcureStateChangedEvent(const int &pid, const int &code, bool isSelfCureOnGoing);
78 };
79 }  // namespace Wifi
80 }  // namespace OHOS
81 #endif
82