1 /*
2  * Copyright (C) 2021 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_BASE_HAL_INTERFACE_H
17 #define OHOS_WIFI_BASE_HAL_INTERFACE_H
18 
19 #include "wifi_idl_client.h"
20 #ifdef HDI_WPA_INTERFACE_SUPPORT
21 #include "wifi_hdi_wpa_client.h"
22 #endif
23 
24 
25 namespace OHOS {
26 namespace Wifi {
27 class WifiBaseHalInterface {
28 public:
29     /**
30      * @Description Construct a new Wifi Base Hal Interface object.
31      *
32      */
33     WifiBaseHalInterface();
34     /**
35      * @Description Destroy the Wifi Base Hal Interface object.
36      *
37      */
38     virtual ~WifiBaseHalInterface();
39     /**
40      * @Description Init IdlClient.
41      *
42      */
43     bool InitIdlClient(void);
44     /**
45      * @Description WifiManagerService When exiting, send a message to the HAL layer to
46      *              clear the data.
47      *
48      */
49     void ExitAllIdlClient(void);
50 
51     /**
52      * @Description Init HdiWpaClinet.
53      *
54      */
55     bool InitHdiWpaClient(void);
56 
57 public:
58 #ifdef HDI_WPA_INTERFACE_SUPPORT
59     WifiHdiWpaClient *mHdiWpaClient;
60 #else
61     WifiIdlClient *mIdlClient;
62 #endif
63 };
64 }  // namespace Wifi
65 }  // namespace OHOS
66 
67 #endif
68