diff --git a/wifi/frameworks/ets/taihe/wifiManager/idl/ohos.wifiManager.taihe b/wifi/frameworks/ets/taihe/wifiManager/idl/ohos.wifiManager.taihe index 4785d16247f3b187c7d772b1d2f94bd91fec42a2..f0c3ef2e57d2b1f56849debc83453422bcdfa0d4 100644 --- a/wifi/frameworks/ets/taihe/wifiManager/idl/ohos.wifiManager.taihe +++ b/wifi/frameworks/ets/taihe/wifiManager/idl/ohos.wifiManager.taihe @@ -141,9 +141,11 @@ struct WifiP2pDevice { function IsConnected(): bool; function IsWifiActive(): bool; -@gen_async("getLinkedInfo") -@gen_promise("getLinkedInfo") function GetLinkedInfoSync(): WifiLinkedInfo; +@static_overload("getLinkedInfo") +@promise function GetLinkedInfoReturnsPromise(): WifiLinkedInfo; +@static_overload("getLinkedInfo") +@async function GetLinkedInfoWithCallback(): WifiLinkedInfo; function GetSignalLevel(rssi: i32, band: i32): i32; function GetIpInfo(): IpInfo; @@ -157,124 +159,81 @@ function EnableWifi(): void; function DisableWifi(): void; function EnableSemiWifi(): void; -@!sts_inject(""" -export function on(type: string, cb: (arg_0: NullishType) => void) { - switch(type) { - case "wifiStateChange": return onWifiStateChange(cb); - case "wifiConnectionChange": return onWifiConnectionChange(cb); - case "wifiScanStateChange": return onWifiScanStateChange(cb); - case "wifiRssiChange": return onWifiRssiChange(cb); - case "streamChange": return onStreamChange(cb); - case "deviceConfigChange": return onDeviceConfigChange(cb); - case "hotspotStateChange": return onHotspotStateChange(cb); - case "hotspotStaJoin": return onHotspotStaJoin(cb); - case "hotspotStaLeave": return onHotspotStaLeave(cb); - case "p2pStateChange": return onP2pStateChange(cb); - case "p2pConnectionChange": return onP2pConnectionChange(cb); - case "p2pDeviceChange": return onP2pDeviceChange(cb); - case "p2pPeerDeviceChange": return onP2pPeerDeviceChange(cb); - case "p2pPersistentGroupChange": return onP2pPersistentGroupChange(cb); - case "p2pDiscoveryChange": return onP2pDiscoveryChange(cb); - default: throw new Error(`Unknown type: ${type}`); - } -} -export function off(type: string, cb?: (arg_0: NullishType) => void) { - switch(type) { - case "wifiStateChange": return offWifiStateChange(cb as (((data: int) => void) | undefined)); - case "wifiConnectionChange": return offWifiConnectionChange(cb as (((data: int) => void) | undefined)); - case "wifiScanStateChange": return offWifiScanStateChange(cb as (((data: int) => void) | undefined)); - case "wifiRssiChange": return offWifiRssiChange((cb as (((data: int) => void)|undefined))); - case "streamChange": return offStreamChange(cb as (((data: int) => void) | undefined)); - case "deviceConfigChange": return offDeviceConfigChange(cb as (((data: int) => void) | undefined)); - case "hotspotStateChange": return offHotspotStateChange(cb as (((data: int) => void) | undefined)); - case "hotspotStaJoin": return offHotspotStaJoin(cb as (((data: StationInfo) => void) | undefined)); - case "hotspotStaLeave": return offHotspotStaLeave(cb as (((data: StationInfo) => void) | undefined)); - case "p2pStateChange": return offP2pStateChange(cb as (((data: int) => void) | undefined)); - case "p2pConnectionChange": return offP2pConnectionChange(cb as (((data: WifiP2pLinkedInfo) => void) | undefined)); - case "p2pDeviceChange": return offP2pDeviceChange(cb as (((data: WifiP2pDevice) => void) | undefined)); - case "p2pPeerDeviceChange": return offP2pPeerDeviceChange(cb as (((data: Array) => void) | undefined)); - case "p2pPersistentGroupChange": return offP2pPersistentGroupChange(cb as ((() => void) | undefined)); - case "p2pDiscoveryChange": return offP2pDiscoveryChange(cb as (((data: int) => void) | undefined)); - default: throw new Error(`Unknown type: ${type}`); - } -} -""") - -// @on_off("wifiStateChange") -function OnWifiStateChange(callback: (data: i32) => void): void; -// @on_off("wifiStateChange") -function OffWifiStateChange(callback: Optional<(data: i32) => void>): void; - -// @on_off("wifiConnectionChange") -function OnWifiConnectionChange(callback: (data: i32) => void): void; -// @on_off("wifiConnectionChange") -function OffWifiConnectionChange(callback: Optional<(data: i32) => void>): void; - -// @on_off("wifiScanStateChange") -function OnWifiScanStateChange(callback: (data: i32) => void): void; -// @on_off("wifiScanStateChange") -function OffWifiScanStateChange(callback: Optional<(data: i32) => void>): void; - -// @on_off("wifiRssiChange") -function OnWifiRssiChange(callback: (data: i32) => void): void; -// @on_off("wifiRssiChange") -function OffWifiRssiChange(callback: Optional<(data: i32) => void>): void; - -// @on_off("streamChange") -function OnStreamChange(callback: (data: i32) => void): void; -// @on_off("streamChange") -function OffStreamChange(callback: Optional<(data: i32) => void>): void; - -// @on_off("deviceConfigChange") -function OnDeviceConfigChange(callback: (data: i32) => void): void; -// @on_off("deviceConfigChange") -function OffDeviceConfigChange(callback: Optional<(data: i32) => void>): void; - -// @on_off("hotspotStateChange") -function OnHotspotStateChange(callback: (data: i32) => void): void; -// @on_off("hotspotStateChange") -function OffHotspotStateChange(callback: Optional<(data: i32) => void>): void; - -// @on_off("hotspotStaJoin") -function OnHotspotStaJoin(callback: (data: StationInfo) => void): void; -// @on_off("hotspotStaJoin") -function OffHotspotStaJoin(callback: Optional<(data: StationInfo) => void>): void; - -// @on_off("hotspotStaLeave") -function OnHotspotStaLeave(callback: (data: StationInfo) => void): void; -// @on_off("hotspotStaLeave") -function OffHotspotStaLeave(callback: Optional<(data: StationInfo) => void>): void; - -// @on_off("p2pStateChange") -function OnP2pStateChange(callback: (data: i32) => void): void; -// @on_off("p2pStateChange") -function OffP2pStateChange(callback: Optional<(data: i32) => void>): void; - -// @on_off("p2pConnectionChange") -function OnP2pConnectionChange(callback: (data: WifiP2pLinkedInfo) => void): void; -// @on_off("p2pConnectionChange") -function OffP2pConnectionChange(callback: Optional<(data: WifiP2pLinkedInfo) => void>): void; - -// @on_off("p2pDeviceChange") -function OnP2pDeviceChange(callback: (data: WifiP2pDevice) => void): void; -// @on_off("p2pDeviceChange") -function OffP2pDeviceChange(callback: Optional<(data: WifiP2pDevice) => void>): void; - -// @on_off("p2pPeerDeviceChange") -function OnP2pPeerDeviceChange(callback: (data: Array) => void): void; -// @on_off("p2pPeerDeviceChange") -function OffP2pPeerDeviceChange(callback:Optional<(data: Array) => void>): void; +@static_overload("on") +function OnWifiStateChange(type: String, callback: (data: i32) => void): void; +@static_overload("off") +function OffWifiStateChange(type: String, callback: Optional<(data: i32) => void>): void; + +@static_overload("on") +function OnWifiConnectionChange(type: String, callback: (data: i32) => void): void; +@static_overload("off") +function OffWifiConnectionChange(type: String, callback: Optional<(data: i32) => void>): void; + +@static_overload("on") +function OnWifiScanStateChange(type: String, callback: (data: i32) => void): void; +@static_overload("off") +function OffWifiScanStateChange(type: String, callback: Optional<(data: i32) => void>): void; + +@static_overload("on") +function OnWifiRssiChange(type: String, callback: (data: i32) => void): void; +@static_overload("off") +function OffWifiRssiChange(type: String, callback: Optional<(data: i32) => void>): void; + +@static_overload("on") +function OnStreamChange(type: String, callback: (data: i32) => void): void; +@static_overload("off") +function OffStreamChange(type: String, callback: Optional<(data: i32) => void>): void; + +@static_overload("on") +function OnDeviceConfigChange(type: String, callback: (data: i32) => void): void; +@static_overload("off") +function OffDeviceConfigChange(type: String, callback: Optional<(data: i32) => void>): void; + +@static_overload("on") +function OnHotspotStateChange(type: String, callback: (data: i32) => void): void; +@static_overload("off") +function OffHotspotStateChange(type: String, callback: Optional<(data: i32) => void>): void; + +@static_overload("on") +function OnHotspotStaJoin(type: String, callback: (data: StationInfo) => void): void; +@static_overload("off") +function OffHotspotStaJoin(type: String, callback: Optional<(data: StationInfo) => void>): void; + +@static_overload("on") +function OnHotspotStaLeave(type: String, callback: (data: StationInfo) => void): void; +@static_overload("off") +function OffHotspotStaLeave(type: String, callback: Optional<(data: StationInfo) => void>): void; + +@static_overload("on") +function OnP2pStateChange(type: String, callback: (data: i32) => void): void; +@static_overload("off") +function OffP2pStateChange(type: String, callback: Optional<(data: i32) => void>): void; + +@static_overload("on") +function OnP2pConnectionChange(type: String, callback: (data: WifiP2pLinkedInfo) => void): void; +@static_overload("off") +function OffP2pConnectionChange(type: String, callback: Optional<(data: WifiP2pLinkedInfo) => void>): void; + +@static_overload("on") +function OnP2pDeviceChange(type: String, callback: (data: WifiP2pDevice) => void): void; +@static_overload("off") +function OffP2pDeviceChange(type: String, callback: Optional<(data: WifiP2pDevice) => void>): void; + +@static_overload("on") +function OnP2pPeerDeviceChange(type: String, callback: (data: Array) => void): void; +@static_overload("off") +function OffP2pPeerDeviceChange(type: String, callback:Optional<(data: Array) => void>): void; union UndefinedType { @undefined undefined; } -// @on_off("p2pPersistentGroupChange") -function OnP2pPersistentGroupChange(callback: (data: UndefinedType) => void): void; -// @on_off("p2pPersistentGroupChange") -function OffP2pPersistentGroupChange(callback: Optional<(data: UndefinedType) => void>): void; +@static_overload("on") +function OnP2pPersistentGroupChange(type: String, callback: (data: UndefinedType) => void): void; +@static_overload("off") +function OffP2pPersistentGroupChange(type: String, callback: Optional<(data: UndefinedType) => void>): void; -// @on_off("p2pDiscoveryChange") -function OnP2pDiscoveryChange(callback: (data: i32) => void): void; -// @on_off("p2pDiscoveryChange") -function OffP2pDiscoveryChange(callback: Optional<(data: i32) => void>): void; \ No newline at end of file +@static_overload("on") +function OnP2pDiscoveryChange(type: String, callback: (data: i32) => void): void; +@static_overload("off") +function OffP2pDiscoveryChange(type: String, callback: Optional<(data: i32) => void>): void; \ No newline at end of file diff --git a/wifi/frameworks/ets/taihe/wifiManager/src/ohos.wifiManager.impl.cpp b/wifi/frameworks/ets/taihe/wifiManager/src/ohos.wifiManager.impl.cpp index 7e5c4718b015e848ba4fa1fe880cd6660662610d..3a3f3e50cbd04d8dc09332f968acc923e44ef0e0 100644 --- a/wifi/frameworks/ets/taihe/wifiManager/src/ohos.wifiManager.impl.cpp +++ b/wifi/frameworks/ets/taihe/wifiManager/src/ohos.wifiManager.impl.cpp @@ -278,7 +278,7 @@ void EnableSemiWifi() } OHOS::sptr wifiDeviceCallback = - OHOS::sptr(new (std::nothrow) WifiIdlDeviceEventCallback()); + OHOS::sptr(new (std::nothrow) WifiIdlDeviceEventCallback()); OHOS::sptr wifiScanCallback = OHOS::sptr(new (std::nothrow) WifiIdlScanEventCallback()); @@ -289,7 +289,8 @@ OHOS::sptr wifiHotspotCallback = OHOS::sptr wifiP2pCallback = OHOS::sptr(new (std::nothrow) WifiIdlP2pEventCallback()); -void OnWifiStateChange(::taihe::callback_view callback) +void OnWifiStateChange(taihe::string_view, + ::taihe::callback_view callback) { std::unique_lock guard(g_wifiStateChangeLock); auto wifiStateChangedCallback = @@ -310,7 +311,8 @@ void OnWifiStateChange(::taihe::callback_view callback) g_wifiStateChangeVec.emplace_back(wifiStateChangedCallback); } -void OffWifiStateChange(::taihe::optional_view<::taihe::callback> callback) +void OffWifiStateChange(taihe::string_view, + ::taihe::optional_view<::taihe::callback> callback) { std::unique_lock guard(g_wifiStateChangeLock); if (g_wifiStateChangeVec.empty()) { @@ -329,7 +331,8 @@ void OffWifiStateChange(::taihe::optional_view<::taihe::callback> cal } } -void OnWifiConnectionChange(::taihe::callback_view callback) +void OnWifiConnectionChange(taihe::string_view, + ::taihe::callback_view callback) { std::unique_lock guard(g_wifiConnectionChangeLock); auto wifiConnectionChangeCallback = @@ -351,7 +354,8 @@ void OnWifiConnectionChange(::taihe::callback_view callback) g_wifiConnectionChangeVec.emplace_back(wifiConnectionChangeCallback); } -void OffWifiConnectionChange(::taihe::optional_view<::taihe::callback> callback) +void OffWifiConnectionChange(taihe::string_view, + ::taihe::optional_view<::taihe::callback> callback) { std::unique_lock guard(g_wifiConnectionChangeLock); if (g_wifiConnectionChangeVec.empty()) { @@ -370,7 +374,8 @@ void OffWifiConnectionChange(::taihe::optional_view<::taihe::callback } } -void OnWifiScanStateChange(::taihe::callback_view callback) +void OnWifiScanStateChange(taihe::string_view, + ::taihe::callback_view callback) { std::unique_lock guard(g_wifiScanStateChangeLock); auto wifiScanStateChangeCallback = @@ -392,7 +397,8 @@ void OnWifiScanStateChange(::taihe::callback_view callback) g_wifiScanStateChangeVec.emplace_back(wifiScanStateChangeCallback); } -void OffWifiScanStateChange(::taihe::optional_view<::taihe::callback> callback) +void OffWifiScanStateChange(taihe::string_view, + ::taihe::optional_view<::taihe::callback> callback) { std::unique_lock guard(g_wifiScanStateChangeLock); if (g_wifiScanStateChangeVec.empty()) { @@ -411,7 +417,8 @@ void OffWifiScanStateChange(::taihe::optional_view<::taihe::callback> } } -void OnWifiRssiChange(::taihe::callback_view callback) +void OnWifiRssiChange(taihe::string_view, + ::taihe::callback_view callback) { std::unique_lock guard(g_wifiRssiChangeLock); auto wifiRssiChangeCallback = @@ -433,7 +440,8 @@ void OnWifiRssiChange(::taihe::callback_view callback) g_wifiRssiChangeVec.emplace_back(wifiRssiChangeCallback); } -void OffWifiRssiChange(::taihe::optional_view<::taihe::callback> callback) +void OffWifiRssiChange(taihe::string_view, + ::taihe::optional_view<::taihe::callback> callback) { std::unique_lock guard(g_wifiRssiChangeLock); if (g_wifiRssiChangeVec.empty()) { @@ -452,7 +460,8 @@ void OffWifiRssiChange(::taihe::optional_view<::taihe::callback> call } } -void OnStreamChange(::taihe::callback_view callback) +void OnStreamChange(taihe::string_view, + ::taihe::callback_view callback) { std::unique_lock guard(g_wifiStreamChangeLock); auto wifiRssiChangeCallback = @@ -474,7 +483,8 @@ void OnStreamChange(::taihe::callback_view callback) g_wifiStreamChangeVec.emplace_back(wifiRssiChangeCallback); } -void OffStreamChange(::taihe::optional_view<::taihe::callback> callback) +void OffStreamChange(taihe::string_view, + ::taihe::optional_view<::taihe::callback> callback) { std::unique_lock guard(g_wifiStreamChangeLock); if (g_wifiStreamChangeVec.empty()) { @@ -493,7 +503,8 @@ void OffStreamChange(::taihe::optional_view<::taihe::callback> callba } } -void OnDeviceConfigChange(::taihe::callback_view callback) +void OnDeviceConfigChange(taihe::string_view, + ::taihe::callback_view callback) { std::unique_lock guard(g_wifiDeviceConfigChangeLock); auto wifiDeviceConfigChangeCallback = @@ -515,7 +526,8 @@ void OnDeviceConfigChange(::taihe::callback_view callback) g_wifiDeviceConfigChangeVec.emplace_back(wifiDeviceConfigChangeCallback); } -void OffDeviceConfigChange(::taihe::optional_view<::taihe::callback> callback) +void OffDeviceConfigChange(taihe::string_view, + ::taihe::optional_view<::taihe::callback> callback) { std::unique_lock guard(g_wifiDeviceConfigChangeLock); if (g_wifiDeviceConfigChangeVec.empty()) { @@ -534,7 +546,8 @@ void OffDeviceConfigChange(::taihe::optional_view<::taihe::callback> } } -void OnHotspotStateChange(::taihe::callback_view callback) +void OnHotspotStateChange(taihe::string_view, + ::taihe::callback_view callback) { std::unique_lock guard(g_wifiHotspotStateChangeLock); auto wifiHotspotStateChangeCallback = @@ -556,7 +569,8 @@ void OnHotspotStateChange(::taihe::callback_view callback) g_wifiHotspotStateChangeVec.emplace_back(wifiHotspotStateChangeCallback); } -void OffHotspotStateChange(::taihe::optional_view<::taihe::callback> callback) +void OffHotspotStateChange(taihe::string_view, + ::taihe::optional_view<::taihe::callback> callback) { std::unique_lock guard(g_wifiHotspotStateChangeLock); if (g_wifiHotspotStateChangeVec.empty()) { @@ -575,7 +589,8 @@ void OffHotspotStateChange(::taihe::optional_view<::taihe::callback> } } -void OnHotspotStaJoin(::taihe::callback_view callback) +void OnHotspotStaJoin(taihe::string_view, + ::taihe::callback_view callback) { std::unique_lock guard(g_wifiHotspotStaJoinLock); auto wifiHotspotStaJoinCallback = ::taihe::optional<::taihe::callback> callback) { std::unique_lock guard(g_wifiHotspotStaJoinLock); @@ -617,7 +632,8 @@ void OffHotspotStaJoin( } } -void OnHotspotStaLeave(::taihe::callback_view callback) +void OnHotspotStaLeave(taihe::string_view, + ::taihe::callback_view callback) { std::unique_lock guard(g_wifiHotspotStaLeaveLock); auto wifiHotspotStaLeaveCallback = ::taihe::optional<::taihe::callback> callback) { std::unique_lock guard(g_wifiHotspotStaLeaveLock); @@ -659,7 +675,8 @@ void OffHotspotStaLeave( } } -void OnP2pStateChange(::taihe::callback_view callback) +void OnP2pStateChange(taihe::string_view, + ::taihe::callback_view callback) { std::unique_lock guard(g_wifiP2pStateChangeLock); auto wifiP2pStateChangeCallback = @@ -681,7 +698,8 @@ void OnP2pStateChange(::taihe::callback_view callback) g_wifiP2pStateChangeVec.emplace_back(wifiP2pStateChangeCallback); } -void OffP2pStateChange(::taihe::optional_view<::taihe::callback> callback) +void OffP2pStateChange(taihe::string_view, + ::taihe::optional_view<::taihe::callback> callback) { std::unique_lock guard(g_wifiP2pStateChangeLock); if (g_wifiP2pStateChangeVec.empty()) { @@ -700,7 +718,8 @@ void OffP2pStateChange(::taihe::optional_view<::taihe::callback> call } } -void OnP2pConnectionChange(::taihe::callback_view callback) +void OnP2pConnectionChange(taihe::string_view, + ::taihe::callback_view callback) { std::unique_lock guard(g_wifiP2pConnectionChangeLock); auto wifiP2pConnectionChangeCallback = ::taihe::optional<::taihe::callback> callback) { std::unique_lock guard(g_wifiP2pConnectionChangeLock); @@ -742,7 +761,8 @@ void OffP2pConnectionChange( } } -void OnP2pDeviceChange(::taihe::callback_view callback) +void OnP2pDeviceChange(taihe::string_view, + ::taihe::callback_view callback) { std::unique_lock guard(g_wifiP2pDeviceChangeLock); auto wifiP2pDeviceChangeCallback = ::taihe::optional<::taihe::callback> callback) { std::unique_lock guard(g_wifiP2pDeviceChangeLock); @@ -784,8 +805,8 @@ void OffP2pDeviceChange(::taihe::optional_view<::taihe::callback)> callback) +void OnP2pPeerDeviceChange(taihe::string_view, + ::taihe::callback_view)> callback) { std::unique_lock guard(g_wifiP2pPeerDeviceChangeLock); auto wifiP2pPeerDeviceChangeCallback = @@ -808,7 +829,8 @@ void OnP2pPeerDeviceChange(::taihe::callback_view)>> callback) { std::unique_lock guard(g_wifiP2pPeerDeviceChangeLock); @@ -828,7 +850,8 @@ void OffP2pPeerDeviceChange(::taihe::optional_view<::taihe::callback callback) +void OnP2pPersistentGroupChange(taihe::string_view, + ::taihe::callback_view callback) { std::unique_lock guard(g_wifiP2pPersistentGroupChangeLock); auto wifiP2pPersistentGroupChangeCallback = ::taihe::optional<::taihe::callback> callback) { std::unique_lock guard(g_wifiP2pPersistentGroupChangeLock); @@ -870,7 +894,8 @@ void OffP2pPersistentGroupChange(::taihe::optional_view<::taihe::callback callback) +void OnP2pDiscoveryChange(taihe::string_view, + ::taihe::callback_view callback) { std::unique_lock guard(g_wifiP2pDiscoveryChangeLock); auto wifiP2pDiscoveryChangeCallback = @@ -892,7 +917,8 @@ void OnP2pDiscoveryChange(::taihe::callback_view callback) g_wifiP2pDiscoveryChangeVec.emplace_back(wifiP2pDiscoveryChangeCallback); } -void OffP2pDiscoveryChange(::taihe::optional_view<::taihe::callback> callback) +void OffP2pDiscoveryChange(taihe::string_view, + ::taihe::optional_view<::taihe::callback> callback) { std::unique_lock guard(g_wifiP2pDiscoveryChangeLock); if (g_wifiP2pDiscoveryChangeVec.empty()) { @@ -915,6 +941,8 @@ void OffP2pDiscoveryChange(::taihe::optional_view<::taihe::callback> TH_EXPORT_CPP_API_IsConnected(IsConnected); TH_EXPORT_CPP_API_IsWifiActive(IsWifiActive); TH_EXPORT_CPP_API_GetLinkedInfoSync(GetLinkedInfoSync); +TH_EXPORT_CPP_API_GetLinkedInfoReturnsPromise(GetLinkedInfoSync); +TH_EXPORT_CPP_API_GetLinkedInfoWithCallback(GetLinkedInfoSync); TH_EXPORT_CPP_API_GetSignalLevel(GetSignalLevel); TH_EXPORT_CPP_API_GetIpInfo(GetIpInfo); TH_EXPORT_CPP_API_GetIpv6Info(GetIpv6Info);