From 909c73cd12d1b15c13b2977353c4e9e4418373d0 Mon Sep 17 00:00:00 2001 From: zhangjie <2756669622@qq.com> Date: Sat, 26 Jul 2025 17:35:18 +0800 Subject: [PATCH 1/3] merge release cellular ipc --- .../include/common/cellular_data_constant.h | 4 +-- .../include/utils/net_manager_call_back.h | 3 +- services/src/utils/net_manager_call_back.cpp | 29 ++++++++----------- test/cellular_data_test.cpp | 13 +++++---- 4 files changed, 22 insertions(+), 27 deletions(-) diff --git a/services/include/common/cellular_data_constant.h b/services/include/common/cellular_data_constant.h index 96dca889..28d599f9 100644 --- a/services/include/common/cellular_data_constant.h +++ b/services/include/common/cellular_data_constant.h @@ -61,14 +61,14 @@ struct NetSupplier { int32_t regState = -1; }; enum RegisterType { - UNKOWN, + RELEASE, REGISTER, REQUEST }; struct NetRequest { uint64_t capability = 0; std::string ident = ""; - int32_t registerType = UNKOWN; + int32_t registerType = RELEASE; uint64_t bearTypes = 0; uint32_t uid = 0; }; diff --git a/services/include/utils/net_manager_call_back.h b/services/include/utils/net_manager_call_back.h index 674151ba..0e576f82 100644 --- a/services/include/utils/net_manager_call_back.h +++ b/services/include/utils/net_manager_call_back.h @@ -25,9 +25,8 @@ class NetManagerCallBack : public NetManagerStandard::NetSupplierCallbackBase { public: int32_t RequestNetwork(const std::string &ident, const std::set &netCaps, const NetManagerStandard::NetRequest &netrequest = {}) override; - int32_t ReleaseNetwork(const std::string &ident, const std::set &netCaps) override; + int32_t ReleaseNetwork(const NetManagerStandard::NetRequest &netrequest) override; int32_t AddRequest(const NetManagerStandard::NetRequest &netrequest) override; - int32_t RemoveRequest(const NetManagerStandard::NetRequest &netrequest) override; }; } // namespace Telephony } // namespace OHOS diff --git a/services/src/utils/net_manager_call_back.cpp b/services/src/utils/net_manager_call_back.cpp index d0ed80ba..00991c1a 100644 --- a/services/src/utils/net_manager_call_back.cpp +++ b/services/src/utils/net_manager_call_back.cpp @@ -44,33 +44,28 @@ int32_t NetManagerCallBack::RequestNetwork(const std::string &ident, return result; } -int32_t NetManagerCallBack::ReleaseNetwork(const std::string &ident, const std::set &netCaps) +int32_t NetManagerCallBack::ReleaseNetwork(const NetManagerStandard::NetRequest &netrequest) { - if (netCaps.empty()) { - TELEPHONY_LOGI("netCaps is empty[%{public}s]", ident.c_str()); + if (netrequest.netCaps.empty()) { + TELEPHONY_LOGI("netCaps is empty[%{public}s]", netrequest.ident.c_str()); return CELLULAR_DATA_INVALID_PARAM; } - NetRequest request; - for (const auto &netCap : netCaps) { - request.capability |= 1L << netCap; - } - request.ident = ident; - int32_t result = DelayedRefSingleton::GetInstance().ReleaseNet(request); - return result; -} - -int32_t NetManagerCallBack::AddRequest(const NetManagerStandard::NetRequest &netrequest) -{ NetRequest request; request.ident = netrequest.ident; for (const auto &netCap : netrequest.netCaps) { request.capability |= 1L << netCap; } request.uid = netrequest.uid; - return DelayedRefSingleton::GetInstance().AddUid(request); + int32_t result = DelayedRefSingleton::GetInstance().RemoveUid(request); + if (result != static_cast(RequestNetCode::REQUEST_SUCCESS)) { + TELEPHONY_LOGE("RemoveUid Request Fail"); + return result; + } + result = DelayedRefSingleton::GetInstance().ReleaseNet(request); + return result; } -int32_t NetManagerCallBack::RemoveRequest(const NetManagerStandard::NetRequest &netrequest) +int32_t NetManagerCallBack::AddRequest(const NetManagerStandard::NetRequest &netrequest) { NetRequest request; request.ident = netrequest.ident; @@ -78,7 +73,7 @@ int32_t NetManagerCallBack::RemoveRequest(const NetManagerStandard::NetRequest & request.capability |= 1L << netCap; } request.uid = netrequest.uid; - return DelayedRefSingleton::GetInstance().RemoveUid(request); + return DelayedRefSingleton::GetInstance().AddUid(request); } } // namespace Telephony diff --git a/test/cellular_data_test.cpp b/test/cellular_data_test.cpp index 80d94857..44202a79 100644 --- a/test/cellular_data_test.cpp +++ b/test/cellular_data_test.cpp @@ -1868,9 +1868,9 @@ HWTEST_F(CellularDataTest, RequestNetwork_002, TestSize.Level3) */ HWTEST_F(CellularDataTest, ReleaseNetwork_001, TestSize.Level3) { - std::string ident = "testIdent"; - std::set netCaps; - int32_t result = netAgent.callBack_->ReleaseNetwork(ident, netCaps); + NetManagerStandard::NetRequest request; + request.ident = "testIdent"; + int32_t result = netAgent.callBack_->ReleaseNetwork(request); ASSERT_EQ(result, CELLULAR_DATA_INVALID_PARAM); } @@ -1881,9 +1881,10 @@ HWTEST_F(CellularDataTest, ReleaseNetwork_001, TestSize.Level3) */ HWTEST_F(CellularDataTest, ReleaseNetwork_002, TestSize.Level3) { - std::string ident = "testIdent"; - std::set netCaps = { NetManagerStandard::NetCap::NET_CAPABILITY_INTERNET }; - int32_t result = netAgent.callBack_->ReleaseNetwork(ident, netCaps); + NetManagerStandard::NetRequest request; + request.ident = "testIdent"; + request.netCaps = { NetManagerStandard::NetCap::NET_CAPABILITY_INTERNET }; + int32_t result = netAgent.callBack_->ReleaseNetwork(request); ASSERT_EQ(result, CELLULAR_DATA_INVALID_PARAM); } -- Gitee From d1a1649e1020c78578c285950c71a43929717c59 Mon Sep 17 00:00:00 2001 From: zhangjie <2756669622@qq.com> Date: Sat, 26 Jul 2025 17:35:18 +0800 Subject: [PATCH 2/3] merge release cellular ipc Signed-off-by: zhangjie <2756669622@qq.com> --- .../include/common/cellular_data_constant.h | 4 +-- .../include/utils/net_manager_call_back.h | 3 +- services/src/utils/net_manager_call_back.cpp | 29 ++++++++----------- test/cellular_data_test.cpp | 13 +++++---- 4 files changed, 22 insertions(+), 27 deletions(-) diff --git a/services/include/common/cellular_data_constant.h b/services/include/common/cellular_data_constant.h index 96dca889..28d599f9 100644 --- a/services/include/common/cellular_data_constant.h +++ b/services/include/common/cellular_data_constant.h @@ -61,14 +61,14 @@ struct NetSupplier { int32_t regState = -1; }; enum RegisterType { - UNKOWN, + RELEASE, REGISTER, REQUEST }; struct NetRequest { uint64_t capability = 0; std::string ident = ""; - int32_t registerType = UNKOWN; + int32_t registerType = RELEASE; uint64_t bearTypes = 0; uint32_t uid = 0; }; diff --git a/services/include/utils/net_manager_call_back.h b/services/include/utils/net_manager_call_back.h index 674151ba..0e576f82 100644 --- a/services/include/utils/net_manager_call_back.h +++ b/services/include/utils/net_manager_call_back.h @@ -25,9 +25,8 @@ class NetManagerCallBack : public NetManagerStandard::NetSupplierCallbackBase { public: int32_t RequestNetwork(const std::string &ident, const std::set &netCaps, const NetManagerStandard::NetRequest &netrequest = {}) override; - int32_t ReleaseNetwork(const std::string &ident, const std::set &netCaps) override; + int32_t ReleaseNetwork(const NetManagerStandard::NetRequest &netrequest) override; int32_t AddRequest(const NetManagerStandard::NetRequest &netrequest) override; - int32_t RemoveRequest(const NetManagerStandard::NetRequest &netrequest) override; }; } // namespace Telephony } // namespace OHOS diff --git a/services/src/utils/net_manager_call_back.cpp b/services/src/utils/net_manager_call_back.cpp index d0ed80ba..00991c1a 100644 --- a/services/src/utils/net_manager_call_back.cpp +++ b/services/src/utils/net_manager_call_back.cpp @@ -44,33 +44,28 @@ int32_t NetManagerCallBack::RequestNetwork(const std::string &ident, return result; } -int32_t NetManagerCallBack::ReleaseNetwork(const std::string &ident, const std::set &netCaps) +int32_t NetManagerCallBack::ReleaseNetwork(const NetManagerStandard::NetRequest &netrequest) { - if (netCaps.empty()) { - TELEPHONY_LOGI("netCaps is empty[%{public}s]", ident.c_str()); + if (netrequest.netCaps.empty()) { + TELEPHONY_LOGI("netCaps is empty[%{public}s]", netrequest.ident.c_str()); return CELLULAR_DATA_INVALID_PARAM; } - NetRequest request; - for (const auto &netCap : netCaps) { - request.capability |= 1L << netCap; - } - request.ident = ident; - int32_t result = DelayedRefSingleton::GetInstance().ReleaseNet(request); - return result; -} - -int32_t NetManagerCallBack::AddRequest(const NetManagerStandard::NetRequest &netrequest) -{ NetRequest request; request.ident = netrequest.ident; for (const auto &netCap : netrequest.netCaps) { request.capability |= 1L << netCap; } request.uid = netrequest.uid; - return DelayedRefSingleton::GetInstance().AddUid(request); + int32_t result = DelayedRefSingleton::GetInstance().RemoveUid(request); + if (result != static_cast(RequestNetCode::REQUEST_SUCCESS)) { + TELEPHONY_LOGE("RemoveUid Request Fail"); + return result; + } + result = DelayedRefSingleton::GetInstance().ReleaseNet(request); + return result; } -int32_t NetManagerCallBack::RemoveRequest(const NetManagerStandard::NetRequest &netrequest) +int32_t NetManagerCallBack::AddRequest(const NetManagerStandard::NetRequest &netrequest) { NetRequest request; request.ident = netrequest.ident; @@ -78,7 +73,7 @@ int32_t NetManagerCallBack::RemoveRequest(const NetManagerStandard::NetRequest & request.capability |= 1L << netCap; } request.uid = netrequest.uid; - return DelayedRefSingleton::GetInstance().RemoveUid(request); + return DelayedRefSingleton::GetInstance().AddUid(request); } } // namespace Telephony diff --git a/test/cellular_data_test.cpp b/test/cellular_data_test.cpp index 80d94857..44202a79 100644 --- a/test/cellular_data_test.cpp +++ b/test/cellular_data_test.cpp @@ -1868,9 +1868,9 @@ HWTEST_F(CellularDataTest, RequestNetwork_002, TestSize.Level3) */ HWTEST_F(CellularDataTest, ReleaseNetwork_001, TestSize.Level3) { - std::string ident = "testIdent"; - std::set netCaps; - int32_t result = netAgent.callBack_->ReleaseNetwork(ident, netCaps); + NetManagerStandard::NetRequest request; + request.ident = "testIdent"; + int32_t result = netAgent.callBack_->ReleaseNetwork(request); ASSERT_EQ(result, CELLULAR_DATA_INVALID_PARAM); } @@ -1881,9 +1881,10 @@ HWTEST_F(CellularDataTest, ReleaseNetwork_001, TestSize.Level3) */ HWTEST_F(CellularDataTest, ReleaseNetwork_002, TestSize.Level3) { - std::string ident = "testIdent"; - std::set netCaps = { NetManagerStandard::NetCap::NET_CAPABILITY_INTERNET }; - int32_t result = netAgent.callBack_->ReleaseNetwork(ident, netCaps); + NetManagerStandard::NetRequest request; + request.ident = "testIdent"; + request.netCaps = { NetManagerStandard::NetCap::NET_CAPABILITY_INTERNET }; + int32_t result = netAgent.callBack_->ReleaseNetwork(request); ASSERT_EQ(result, CELLULAR_DATA_INVALID_PARAM); } -- Gitee From f87378d4cf8302d2516c9d70dd78fd9d1d4b9aaa Mon Sep 17 00:00:00 2001 From: zhangjie <2756669622@qq.com> Date: Sat, 26 Jul 2025 17:35:18 +0800 Subject: [PATCH 3/3] merge release cellular ipc Signed-off-by: zhangjie <2756669622@qq.com> -- Gitee