From 8acec71570fc5f5dc7da7d0dc1aa0e1ee2f77b5d Mon Sep 17 00:00:00 2001 From: zhangfeng Date: Wed, 14 Sep 2022 08:34:53 +0000 Subject: [PATCH] Fix hotspot can't dump issue Signed-off-by: zhangfeng --- .../native/src/wifi_device_callback_stub.cpp | 2 +- .../native/src/wifi_hotspot_callback_stub.cpp | 2 +- .../native/src/wifi_p2p_callback_stub.cpp | 2 +- .../native/src/wifi_scan_callback_stub.cpp | 2 +- .../wifi_manage/wifi_device_service_impl.cpp | 1 + .../wifi_manage/wifi_device_stub.cpp | 2 +- .../wifi_hotspot_mgr_service_impl.cpp | 19 +++++++++++++++++++ .../wifi_hotspot_mgr_service_impl.h | 17 ++++++++++++++--- .../wifi_manage/wifi_hotspot_mgr_stub.cpp | 2 +- .../wifi_manage/wifi_hotspot_service_impl.cpp | 19 ------------------- .../wifi_manage/wifi_hotspot_service_impl.h | 9 +++------ .../wifi_manage/wifi_hotspot_stub.cpp | 2 +- .../wifi_manage/wifi_p2p_service_impl.cpp | 1 + .../wifi_manage/wifi_p2p_stub.cpp | 2 +- .../wifi_manage/wifi_scan_service_impl.cpp | 1 + .../wifi_manage/wifi_scan_stub.cpp | 2 +- 16 files changed, 48 insertions(+), 37 deletions(-) diff --git a/wifi/frameworks/native/src/wifi_device_callback_stub.cpp b/wifi/frameworks/native/src/wifi_device_callback_stub.cpp index d449ce8c2..bc08d175d 100644 --- a/wifi/frameworks/native/src/wifi_device_callback_stub.cpp +++ b/wifi/frameworks/native/src/wifi_device_callback_stub.cpp @@ -38,7 +38,7 @@ int WifiDeviceCallBackStub::OnRemoteRequest( } if (data.ReadInterfaceToken() != GetDescriptor()) { - WIFI_LOGE("Sta callback stub token verification error"); + WIFI_LOGE("Sta callback stub token verification error: %{public}d", code); return WIFI_OPT_FAILED; } diff --git a/wifi/frameworks/native/src/wifi_hotspot_callback_stub.cpp b/wifi/frameworks/native/src/wifi_hotspot_callback_stub.cpp index 5a18637d0..5ea421e18 100644 --- a/wifi/frameworks/native/src/wifi_hotspot_callback_stub.cpp +++ b/wifi/frameworks/native/src/wifi_hotspot_callback_stub.cpp @@ -39,7 +39,7 @@ int WifiHotspotCallbackStub::OnRemoteRequest( } if (data.ReadInterfaceToken() != GetDescriptor()) { - WIFI_LOGE("Hotspot callback stub token verification error"); + WIFI_LOGE("Hotspot callback stub token verification error: %{public}d", code); return WIFI_OPT_FAILED; } diff --git a/wifi/frameworks/native/src/wifi_p2p_callback_stub.cpp b/wifi/frameworks/native/src/wifi_p2p_callback_stub.cpp index 12d13ff18..630fe7eb0 100644 --- a/wifi/frameworks/native/src/wifi_p2p_callback_stub.cpp +++ b/wifi/frameworks/native/src/wifi_p2p_callback_stub.cpp @@ -55,7 +55,7 @@ int WifiP2pCallbackStub::OnRemoteRequest( } if (data.ReadInterfaceToken() != GetDescriptor()) { - WIFI_LOGE("P2p callback stub token verification error"); + WIFI_LOGE("P2p callback stub token verification error: %{public}d", code); return WIFI_OPT_FAILED; } diff --git a/wifi/frameworks/native/src/wifi_scan_callback_stub.cpp b/wifi/frameworks/native/src/wifi_scan_callback_stub.cpp index b12092c5e..a19cf3ddf 100644 --- a/wifi/frameworks/native/src/wifi_scan_callback_stub.cpp +++ b/wifi/frameworks/native/src/wifi_scan_callback_stub.cpp @@ -38,7 +38,7 @@ int WifiScanCallbackStub::OnRemoteRequest( } if (data.ReadInterfaceToken() != GetDescriptor()) { - WIFI_LOGE("Scan callback stub token verification error"); + WIFI_LOGE("Scan callback stub token verification error: %{public}d", code); return WIFI_OPT_FAILED; } diff --git a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_device_service_impl.cpp b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_device_service_impl.cpp index 0baf7b69d..dbd7808b2 100644 --- a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_device_service_impl.cpp +++ b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_device_service_impl.cpp @@ -1187,6 +1187,7 @@ void WifiDeviceServiceImpl::SaBasicDump(std::string& result) #ifndef OHOS_ARCH_LITE int32_t WifiDeviceServiceImpl::Dump(int32_t fd, const std::vector& args) { + WIFI_LOGI("Enter sta dump func."); std::vector vecArgs; std::transform(args.begin(), args.end(), std::back_inserter(vecArgs), [](const std::u16string &arg) { return Str16ToStr8(arg); diff --git a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_device_stub.cpp b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_device_stub.cpp index 56cdd72e4..4b273de21 100644 --- a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_device_stub.cpp +++ b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_device_stub.cpp @@ -73,7 +73,7 @@ void WifiDeviceStub::InitHandleMap() int WifiDeviceStub::OnRemoteRequest(uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option) { if (data.ReadInterfaceToken() != GetDescriptor()) { - WIFI_LOGE("Sta stub token verification error"); + WIFI_LOGE("Sta stub token verification error: %{public}d", code); return WIFI_OPT_FAILED; } diff --git a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_hotspot_mgr_service_impl.cpp b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_hotspot_mgr_service_impl.cpp index 29cb1ad47..dffd84e74 100644 --- a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_hotspot_mgr_service_impl.cpp +++ b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_hotspot_mgr_service_impl.cpp @@ -16,6 +16,7 @@ #include #include "wifi_logger.h" #include "wifi_config_center.h" +#include "wifi_dumper.h" #include "wifi_manager.h" #include "wifi_hotspot_mgr_service_impl.h" #include "wifi_hotspot_service_impl.h" @@ -141,5 +142,23 @@ sptr WifiHotspotMgrServiceImpl::GetWifiRemote(int id) } return nullptr; } + +int32_t WifiHotspotMgrServiceImpl::Dump(int32_t fd, const std::vector& args) +{ + WIFI_LOGI("Enter hotspot dump func."); + std::vector vecArgs; + std::transform(args.begin(), args.end(), std::back_inserter(vecArgs), [](const std::u16string &arg) { + return Str16ToStr8(arg); + }); + + WifiDumper dumper; + std::string result; + dumper.HotspotDump(WifiHotspotServiceImpl::SaBasicDump, vecArgs, result); + if (!SaveStringToFd(fd, result)) { + WIFI_LOGE("WiFi hotspot save string to fd failed."); + return ERR_OK; + } + return ERR_OK; +} } // namespace Wifi } // namespace OHOS diff --git a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_hotspot_mgr_service_impl.h b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_hotspot_mgr_service_impl.h index 4304de1fe..5c180a0f3 100644 --- a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_hotspot_mgr_service_impl.h +++ b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_hotspot_mgr_service_impl.h @@ -16,11 +16,12 @@ #ifndef OHOS_WIFI_HOTSPOT_MGR_SERVICE_IMPL_H #define OHOS_WIFI_HOTSPOT_MGR_SERVICE_IMPL_H -#include "wifi_errcode.h" +#include +#include "iremote_object.h" #include "system_ability.h" -#include "wifi_hotspot_stub.h" +#include "wifi_errcode.h" #include "wifi_hotspot_mgr_stub.h" -#include "iremote_object.h" +#include "wifi_hotspot_stub.h" namespace OHOS { namespace Wifi { @@ -38,6 +39,16 @@ public: void OnStart() override; void OnStop() override; sptr GetWifiRemote(int id) override; + + /** + * @Description dump hotspot information + * + * @param fd - file descriptor + * @param args - dump arguments + * @return ErrCode - operation result + */ + int32_t Dump(int32_t fd, const std::vector& args) override; + private: bool Init(); friend void SigHandler(int sig); diff --git a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_hotspot_mgr_stub.cpp b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_hotspot_mgr_stub.cpp index 08f792159..250f5e0c9 100644 --- a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_hotspot_mgr_stub.cpp +++ b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_hotspot_mgr_stub.cpp @@ -43,7 +43,7 @@ int WifiHotspotMgrStub::OnRemoteRequest( uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option) { if (data.ReadInterfaceToken() != GetDescriptor()) { - WIFI_LOGE("Hotspot stub token verification error"); + WIFI_LOGE("Hotspot stub token verification error: %{public}d", code); return WIFI_OPT_FAILED; } FuncHandleMap::iterator iter = funcHandleMap_.find(code); diff --git a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_hotspot_service_impl.cpp b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_hotspot_service_impl.cpp index 3f89c2e16..3afe59d83 100644 --- a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_hotspot_service_impl.cpp +++ b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_hotspot_service_impl.cpp @@ -14,7 +14,6 @@ */ #include "wifi_hotspot_service_impl.h" -#include #include #include "wifi_permission_utils.h" #include "wifi_global_func.h" @@ -26,7 +25,6 @@ #include "wifi_logger.h" #include "define.h" #include "wifi_logger.h" -#include "wifi_dumper.h" #include "wifi_common_util.h" DEFINE_WIFILOG_HOTSPOT_LABEL("WifiHotspotServiceImpl"); @@ -669,22 +667,5 @@ void WifiHotspotServiceImpl::SaBasicDump(std::string& result) StationsInfoDump(result); } } - -int32_t WifiHotspotServiceImpl::Dump(int32_t fd, const std::vector& args) -{ - std::vector vecArgs; - std::transform(args.begin(), args.end(), std::back_inserter(vecArgs), [](const std::u16string &arg) { - return Str16ToStr8(arg); - }); - - WifiDumper dumper; - std::string result; - dumper.HotspotDump(SaBasicDump, vecArgs, result); - if (!SaveStringToFd(fd, result)) { - WIFI_LOGE("WiFi hotspot save string to fd failed."); - return ERR_OK; - } - return ERR_OK; -} } // namespace Wifi } // namespace OHOS diff --git a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_hotspot_service_impl.h b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_hotspot_service_impl.h index 0e0e12d69..55050ffe2 100644 --- a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_hotspot_service_impl.h +++ b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_hotspot_service_impl.h @@ -179,19 +179,16 @@ public: ErrCode SetPowerModel(const PowerModel& model) override; /** - * @Description dump p2p information + * @Description Dump sa basic information * - * @param fd - file descriptor - * @param args - dump arguments - * @return ErrCode - operation result + * @param result[out] - dump result */ - int32_t Dump(int32_t fd, const std::vector& args) override; + static void SaBasicDump(std::string& result); private: ErrCode CheckCanEnableHotspot(const ServiceType type); int CheckOperHotspotSwitchPermission(const ServiceType type); bool IsApServiceRunning(); - static void SaBasicDump(std::string& result); static void ConfigInfoDump(std::string& result); static void StationsInfoDump(std::string& result); static void SigHandler(int sig); diff --git a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_hotspot_stub.cpp b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_hotspot_stub.cpp index 26c5527a4..74f0b643f 100644 --- a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_hotspot_stub.cpp +++ b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_hotspot_stub.cpp @@ -64,7 +64,7 @@ void WifiHotspotStub::InitHandleMap() int WifiHotspotStub::OnRemoteRequest(uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option) { if (data.ReadInterfaceToken() != GetDescriptor()) { - WIFI_LOGE("Hotspot stub token verification error"); + WIFI_LOGE("Hotspot stub token verification error: %{public}d", code); return WIFI_OPT_FAILED; } diff --git a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_p2p_service_impl.cpp b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_p2p_service_impl.cpp index e66ea4581..f6e781df3 100644 --- a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_p2p_service_impl.cpp +++ b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_p2p_service_impl.cpp @@ -1016,6 +1016,7 @@ void WifiP2pServiceImpl::SaBasicDump(std::string& result) int32_t WifiP2pServiceImpl::Dump(int32_t fd, const std::vector& args) { + WIFI_LOGI("Enter p2p dump func."); std::vector vecArgs; std::transform(args.begin(), args.end(), std::back_inserter(vecArgs), [](const std::u16string &arg) { return Str16ToStr8(arg); diff --git a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_p2p_stub.cpp b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_p2p_stub.cpp index 264c56f1a..fa01fa93a 100644 --- a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_p2p_stub.cpp +++ b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_p2p_stub.cpp @@ -81,7 +81,7 @@ void WifiP2pStub::InitHandleMap() int WifiP2pStub::OnRemoteRequest(uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option) { if (data.ReadInterfaceToken() != GetDescriptor()) { - WIFI_LOGE("P2p stub token verification error"); + WIFI_LOGE("P2p stub token verification error: %{public}d", code); return WIFI_OPT_FAILED; } diff --git a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_scan_service_impl.cpp b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_scan_service_impl.cpp index e77caddb5..2aa11eebb 100644 --- a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_scan_service_impl.cpp +++ b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_scan_service_impl.cpp @@ -274,6 +274,7 @@ void WifiScanServiceImpl::SaBasicDump(std::string& result) #ifndef OHOS_ARCH_LITE int32_t WifiScanServiceImpl::Dump(int32_t fd, const std::vector& args) { + WIFI_LOGI("Enter scan dump func."); std::vector vecArgs; std::transform(args.begin(), args.end(), std::back_inserter(vecArgs), [](const std::u16string &arg) { return Str16ToStr8(arg); diff --git a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_scan_stub.cpp b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_scan_stub.cpp index d36456829..5c711e715 100644 --- a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_scan_stub.cpp +++ b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_scan_stub.cpp @@ -36,7 +36,7 @@ int WifiScanStub::OnRemoteRequest(uint32_t code, MessageParcel &data, MessagePar WIFI_LOGD("WifiScanStub::OnRemoteRequest,code:%{public}u", code); if (data.ReadInterfaceToken() != GetDescriptor()) { - WIFI_LOGE("Scan stub token verification error"); + WIFI_LOGE("Scan stub token verification error: %{public}d", code); return WIFI_OPT_FAILED; } -- Gitee