From fd3a763123b1959f8006bebbecf66d33cfc2cb0d Mon Sep 17 00:00:00 2001 From: zhuzhihui7 Date: Wed, 26 Mar 2025 21:11:01 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=9C=A8=E5=89=8D=E5=90=8E?= =?UTF-8?q?=E7=BD=AE=E6=91=84=E5=83=8F=E5=A4=B4=E5=88=87=E6=8D=A2=E6=97=B6?= =?UTF-8?q?allconnect=E7=8A=B6=E6=80=81=E5=8F=91=E5=B8=83=E9=94=99?= =?UTF-8?q?=E8=AF=AF=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zhuzhihui7 --- .../softbusadapter_fuzzer.cpp | 6 +- .../distributed_camera_sink_service.cpp | 13 ++ .../distributed_camera_source_service.cpp | 14 +++ .../dcamera_source_dev.cpp | 37 ++---- .../distributed_camera_allconnect_manager.h | 5 +- .../channel/include/dcamera_softbus_adapter.h | 2 +- .../channel/include/dcamera_softbus_session.h | 4 +- .../distributed_camera_allconnect_manager.cpp | 17 ++- .../channel/src/dcamera_channel_sink_impl.cpp | 5 +- .../src/dcamera_channel_source_impl.cpp | 5 +- .../channel/src/dcamera_softbus_adapter.cpp | 46 ++++--- .../channel/src/dcamera_softbus_session.cpp | 20 +++- .../dcamera_allconnect_manager_test.cpp | 5 +- .../channel/dcamera_softbus_adapter_test.cpp | 112 +++++++++++------- .../channel/dcamera_softbus_session_test.cpp | 3 +- 15 files changed, 179 insertions(+), 115 deletions(-) diff --git a/interfaces/inner_kits/native_cpp/test/sourcefuzztest/softbusadapter_fuzzer/softbusadapter_fuzzer.cpp b/interfaces/inner_kits/native_cpp/test/sourcefuzztest/softbusadapter_fuzzer/softbusadapter_fuzzer.cpp index 44dd4d08..dd17ad8e 100644 --- a/interfaces/inner_kits/native_cpp/test/sourcefuzztest/softbusadapter_fuzzer/softbusadapter_fuzzer.cpp +++ b/interfaces/inner_kits/native_cpp/test/sourcefuzztest/softbusadapter_fuzzer/softbusadapter_fuzzer.cpp @@ -47,7 +47,8 @@ void SoftbusCreateSoftBusSourceSocketClientFuzzTest(const uint8_t* data, size_t DCameraSessionMode sessionMode = DCameraSessionMode::DCAMERA_SESSION_MODE_CTRL; std::string peerDevId = "bb536a637105409e904d4da83790a4a7"; std::string myDevId = "abcde"; - DCameraSoftbusAdapter::GetInstance().CreateSoftBusSourceSocketClient(myDevId, peerSessName, peerDevId, + std::string myDhId = "mydhid"; + DCameraSoftbusAdapter::GetInstance().CreateSoftBusSourceSocketClient(myDhId, myDevId, peerSessName, peerDevId, sessionMode, role); } @@ -98,7 +99,8 @@ void SoftbusSendSofbusStreamFuzzTest(const uint8_t* data, size_t size) DCameraSessionMode sessionMode = DCameraSessionMode::DCAMERA_SESSION_MODE_VIDEO; std::string peerDevId = "bb536a637105409e904d4da83790a4a7"; std::string myDevId = "abcde"; - DCameraSoftbusAdapter::GetInstance().CreateSoftBusSourceSocketClient(myDevId, peerSessName, peerDevId, + std::string myDhId = "mydhid"; + DCameraSoftbusAdapter::GetInstance().CreateSoftBusSourceSocketClient(myDhId, myDevId, peerSessName, peerDevId, sessionMode, role); size_t capacity = 1; std::shared_ptr dataBuffer = std::make_shared(capacity); diff --git a/services/cameraservice/sinkservice/src/distributedcamera/distributed_camera_sink_service.cpp b/services/cameraservice/sinkservice/src/distributedcamera/distributed_camera_sink_service.cpp index 8296a3f3..1c6f2407 100644 --- a/services/cameraservice/sinkservice/src/distributedcamera/distributed_camera_sink_service.cpp +++ b/services/cameraservice/sinkservice/src/distributedcamera/distributed_camera_sink_service.cpp @@ -56,6 +56,12 @@ void DistributedCameraSinkService::OnStart() state_ = DCameraServiceState::DCAMERA_SRV_STATE_RUNNING; if (!DCameraAllConnectManager::IsInited()) { DCameraAllConnectManager::GetInstance().InitDCameraAllConnectManager(); + int32_t ret = DCameraAllConnectManager::GetInstance().RegisterLifecycleCallback(); + if (ret != DCAMERA_OK) { + DHLOGE("DCamera allconnect sink init and register lifecycle callback failed"); + } else { + DHLOGI("DCamera allconnect sink init and register lifecycle callback success"); + } } DHLOGI("DCameraServiceState OnStart service success."); } @@ -79,8 +85,15 @@ void DistributedCameraSinkService::OnStop() state_ = DCameraServiceState::DCAMERA_SRV_STATE_NOT_START; registerToService_ = false; if (DCameraAllConnectManager::IsInited()) { + int32_t ret = DCameraAllConnectManager::GetInstance().UnRegisterLifecycleCallback(); + if (ret != DCAMERA_OK) { + DHLOGE("DCamera allconnect sink UnRegisterLifecycle failed"); + } else { + DHLOGI("DCamera allconnect sink UnRegisterLifecycle success"); + } DCameraAllConnectManager::GetInstance().UnInitDCameraAllConnectManager(); } + DCameraSinkServiceIpc::GetInstance().UnInit(); } diff --git a/services/cameraservice/sourceservice/src/distributedcamera/distributed_camera_source_service.cpp b/services/cameraservice/sourceservice/src/distributedcamera/distributed_camera_source_service.cpp index 02fc55db..db51843b 100644 --- a/services/cameraservice/sourceservice/src/distributedcamera/distributed_camera_source_service.cpp +++ b/services/cameraservice/sourceservice/src/distributedcamera/distributed_camera_source_service.cpp @@ -67,7 +67,14 @@ void DistributedCameraSourceService::OnStart() #endif if (!DCameraAllConnectManager::IsInited()) { DCameraAllConnectManager::GetInstance().InitDCameraAllConnectManager(); + int32_t ret = DCameraAllConnectManager::GetInstance().RegisterLifecycleCallback(); + if (ret != DCAMERA_OK) { + DHLOGE("DCamera allconnect source init and RegisterLifecycle failed"); + } else { + DHLOGI("DCamera allconnect source init and RegisterLifecycle success"); + } } + state_ = DCameraServiceState::DCAMERA_SRV_STATE_RUNNING; DHLOGI("start service success."); } @@ -105,8 +112,15 @@ void DistributedCameraSourceService::OnStop() hicollieThread_.join(); } if (DCameraAllConnectManager::IsInited()) { + int32_t ret = DCameraAllConnectManager::GetInstance().UnRegisterLifecycleCallback(); + if (ret != DCAMERA_OK) { + DHLOGE("DCamera allconnect source UnRegisterLifecycle failed"); + } else { + DHLOGI("DCamera allconnect source UnRegisterLifecycle success"); + } DCameraAllConnectManager::GetInstance().UnInitDCameraAllConnectManager(); } + #ifdef DCAMERA_MMAP_RESERVE ConverterHandle::GetInstance().DeInitConverter(); #endif diff --git a/services/cameraservice/sourceservice/src/distributedcameramgr/dcamera_source_dev.cpp b/services/cameraservice/sourceservice/src/distributedcameramgr/dcamera_source_dev.cpp index a8e4aba3..3c92ae9d 100644 --- a/services/cameraservice/sourceservice/src/distributedcameramgr/dcamera_source_dev.cpp +++ b/services/cameraservice/sourceservice/src/distributedcameramgr/dcamera_source_dev.cpp @@ -475,27 +475,20 @@ int32_t DCameraSourceDev::OpenCamera() } if (DCameraAllConnectManager::IsInited()) { - ret = DCameraAllConnectManager::GetInstance().RegisterLifecycleCallback(); - if (ret == DCAMERA_OK) { - auto resourceReq = DCameraAllConnectManager::GetInstance().BuildResourceRequest(); - ret = DCameraAllConnectManager::GetInstance().ApplyAdvancedResource(devId_, resourceReq.get()); - if (ret != DCAMERA_OK) { - DHLOGE("DCamera allconnect apply advanced resource failed, ret: %{public}d, devId: %{public}s", - ret, GetAnonyString(devId_).c_str()); - return ret; - } - ret = DCameraAllConnectManager::GetInstance().PublishServiceState(devId_, SCM_PREPARE); - if (ret != DCAMERA_OK) { - DHLOGE("DCamera allconnect publish scm prepare failed, ret: %{public}d, devId: %{public}s", - ret, GetAnonyString(devId_).c_str()); - return ret; - } - } else { - DHLOGE("DCamera allconnect init and register lifecycle callback failed, ret: %{public}d, devId: %{public}s", + auto resourceReq = DCameraAllConnectManager::GetInstance().BuildResourceRequest(); + ret = DCameraAllConnectManager::GetInstance().ApplyAdvancedResource(devId_, resourceReq.get()); + if (ret != DCAMERA_OK) { + DHLOGE("DCamera allconnect apply advanced resource failed, ret: %{public}d, devId: %{public}s", + ret, GetAnonyString(devId_).c_str()); + return ret; + } + ret = DCameraAllConnectManager::GetInstance().PublishServiceState(devId_, dhId_, SCM_PREPARE); + if (ret != DCAMERA_OK) { + DHLOGE("DCamera allconnect publish scm prepare failed, ret: %{public}d, devId: %{public}s", ret, GetAnonyString(devId_).c_str()); return ret; } - DHLOGI("DCamera allconnect register lifecyle and apply advanced resource scm prepare success"); + DHLOGI("DCamera allconnect apply advanced resource and publish scm prepare success"); } DcameraStartAsyncTrace(DCAMERA_OPEN_CHANNEL_CONTROL, DCAMERA_OPEN_CHANNEL_TASKID); @@ -531,17 +524,11 @@ int32_t DCameraSourceDev::CloseCamera() "%{public}s dhId: %{public}s", ret, GetAnonyString(devId_).c_str(), GetAnonyString(dhId_).c_str()); } if (DCameraAllConnectManager::IsInited()) { - ret = DCameraAllConnectManager::GetInstance().PublishServiceState(devId_, SCM_IDLE); + ret = DCameraAllConnectManager::GetInstance().PublishServiceState(devId_, dhId_, SCM_IDLE); if (ret != DCAMERA_OK) { DHLOGE("DCamera allconnect CloseCamera PublishServiceState failed, ret: %{public}d, devId: %{public}s ", ret, GetAnonyString(devId_).c_str()); } - - ret = DCameraAllConnectManager::GetInstance().UnRegisterLifecycleCallback(); - if (ret != DCAMERA_OK) { - DHLOGE("DCamera allconnect source CloseCamera UnInitDCamera failed, ret: %{public}d, devId: %{public}s", - ret, GetAnonyString(devId_).c_str()); - } } CHECK_AND_RETURN_RET_LOG(stateListener_ == nullptr, DCAMERA_BAD_VALUE, "stateListener_ is nullptr."); stateListener_->OnHardwareStateChanged(devId_, dhId_, DcameraBusinessState::IDLE); diff --git a/services/channel/include/allconnect/distributed_camera_allconnect_manager.h b/services/channel/include/allconnect/distributed_camera_allconnect_manager.h index 3004fc0e..d2003b04 100644 --- a/services/channel/include/allconnect/distributed_camera_allconnect_manager.h +++ b/services/channel/include/allconnect/distributed_camera_allconnect_manager.h @@ -32,7 +32,7 @@ public: static DCameraAllConnectManager &GetInstance(); int32_t InitDCameraAllConnectManager(); int32_t UnInitDCameraAllConnectManager(); - int32_t PublishServiceState(const std::string &peerNetworkId, + int32_t PublishServiceState(const std::string &peerNetworkId, const std::string &dhId, DCameraCollaborationBussinessStatus state); int32_t ApplyAdvancedResource(const std::string &peerNetworkId, DCameraCollaborationResourceRequestInfoSets *resourceRequest); @@ -57,6 +57,7 @@ private: static int32_t ApplyResult(int32_t errorcode, int32_t result, const char *reason); std::mutex allConnectLock_; + std::map dhIdStateMap_; void *dllHandle_ = nullptr; DCameraCollaborationApi allConnect_ = { @@ -72,7 +73,7 @@ private: static std::shared_ptr> applyResultBlock_; static constexpr uint32_t BLOCK_INTERVAL_ALLCONNECT = 60 * 1000; - static inline const std::string SERVICE_NAME {"DistributedCamera"}; // to be discussed + static inline const std::string SERVICE_NAME {"DistributedCamera"}; static std::map netwkIdSourceSessionIdMap_; static std::mutex netwkIdSourceSessionIdMapLock_; diff --git a/services/channel/include/dcamera_softbus_adapter.h b/services/channel/include/dcamera_softbus_adapter.h index f5d4db30..1e0cd7eb 100644 --- a/services/channel/include/dcamera_softbus_adapter.h +++ b/services/channel/include/dcamera_softbus_adapter.h @@ -40,7 +40,7 @@ DECLARE_SINGLE_INSTANCE_BASE(DCameraSoftbusAdapter); public: int32_t CreatSoftBusSinkSocketServer(std::string mySessionName, DCAMERA_CHANNEL_ROLE role, DCameraSessionMode sessionMode, std::string peerDevId, std::string peerSessionName); - int32_t CreateSoftBusSourceSocketClient(std::string myDevId, std::string peerSessionName, + int32_t CreateSoftBusSourceSocketClient(std::string myDhId, std::string myDevId, std::string peerSessionName, std::string peerDevId, DCameraSessionMode sessionMode, DCAMERA_CHANNEL_ROLE role); int32_t DestroySoftbusSessionServer(std::string sessionName); diff --git a/services/channel/include/dcamera_softbus_session.h b/services/channel/include/dcamera_softbus_session.h index 1ae110ac..8a76ff26 100644 --- a/services/channel/include/dcamera_softbus_session.h +++ b/services/channel/include/dcamera_softbus_session.h @@ -33,7 +33,7 @@ typedef enum { class DCameraSoftbusSession { public: DCameraSoftbusSession(); - DCameraSoftbusSession(std::string myDevId, std::string mySessionName, std::string peerDevId, + DCameraSoftbusSession(std::string myDhId, std::string myDevId, std::string mySessionName, std::string peerDevId, std::string peerSessionName, std::shared_ptr listener, DCameraSessionMode mode); ~DCameraSoftbusSession(); int32_t CloseSession(); @@ -44,6 +44,7 @@ public: std::string GetPeerDevId(); std::string GetPeerSessionName(); std::string GetMySessionName(); + std::string GetMyDhId(); int32_t GetSessionId(); int32_t CreateSocketServer(); int32_t BindSocketServer(); @@ -110,6 +111,7 @@ private: uint32_t totalLen_; private: + std::string myDhId_; std::string myDevId_; std::string mySessionName_; std::string peerDevId_; diff --git a/services/channel/src/allconnect/distributed_camera_allconnect_manager.cpp b/services/channel/src/allconnect/distributed_camera_allconnect_manager.cpp index 5029608e..456288ed 100644 --- a/services/channel/src/allconnect/distributed_camera_allconnect_manager.cpp +++ b/services/channel/src/allconnect/distributed_camera_allconnect_manager.cpp @@ -89,10 +89,21 @@ bool DCameraAllConnectManager::IsInited() } int32_t DCameraAllConnectManager::PublishServiceState(const std::string &peerNetworkId, - DCameraCollaborationBussinessStatus state) + const std::string &dhId, DCameraCollaborationBussinessStatus state) { DHLOGI("DCamera allconnect PublishServiceState begin"); std::lock_guard lock(allConnectLock_); + dhIdStateMap_[dhId] = state; + DHLOGI("DCamera allconnect PublishServiceState dhId:%{public}s, state:%{public}d", + dhId.c_str(), state); + DCameraCollaborationBussinessStatus maxState = SCM_IDLE; + std::string dhIdOfmaxState; + for (const auto& statePair : dhIdStateMap_) { + if (statePair.second > maxState) { + maxState = statePair.second; + dhIdOfmaxState = statePair.first; + } + } if (dllHandle_ == nullptr) { DHLOGE("DCamera allconnect dllHandle_ is nullptr, all connect not support."); return DistributedCameraErrno::DCAMERA_OK; @@ -102,9 +113,11 @@ int32_t DCameraAllConnectManager::PublishServiceState(const std::string &peerNet return DistributedCameraErrno::DCAMERA_ERR_DLOPEN; } + DHLOGI("DCamera allconnect PublishDhId:%{public}s, pulishState:%{public}d", + dhIdOfmaxState.c_str(), maxState); int32_t ret = allConnect_.dCameraCollaborationPublishServiceState(peerNetworkId.c_str(), SERVICE_NAME.c_str(), - "", state); + "", maxState); if (ret != DistributedCameraErrno::DCAMERA_OK) { DHLOGE("DCamera allconnect PublishServiceState %{public}d fail, ret %{public}d", state, ret); return DistributedCameraErrno::DCAMERA_ERR_PUBLISH_STATE; diff --git a/services/channel/src/dcamera_channel_sink_impl.cpp b/services/channel/src/dcamera_channel_sink_impl.cpp index c30d3289..4bb98414 100644 --- a/services/channel/src/dcamera_channel_sink_impl.cpp +++ b/services/channel/src/dcamera_channel_sink_impl.cpp @@ -71,11 +71,12 @@ int32_t DCameraChannelSinkImpl::CreateSession(std::vector& camInde } mode_ = sessionMode; std::string peerDevId = camIndexs[0].devId_; + std::string dhId = camIndexs[0].dhId_; std::string peerSessionName = SESSION_HEAD + sessionFlag; DHLOGI("DCameraChannelSinkImpl CreateSession Listen Start, devId: %{public}s", GetAnonyString(myDevId).c_str()); // sink_server_listen - softbusSession_ = std::make_shared(myDevId, mySessionName_, peerDevId, peerSessionName, - listener, sessionMode); + softbusSession_ = std::make_shared(dhId, myDevId, mySessionName_, peerDevId, + peerSessionName, listener, sessionMode); ret = softbusSession_->CreateSocketServer(); if (ret != DCAMERA_OK) { DHLOGE("DCameraChannelSinkImpl CreateSession Error, ret %{public}d", ret); diff --git a/services/channel/src/dcamera_channel_source_impl.cpp b/services/channel/src/dcamera_channel_source_impl.cpp index f190ad32..2ca45745 100644 --- a/services/channel/src/dcamera_channel_source_impl.cpp +++ b/services/channel/src/dcamera_channel_source_impl.cpp @@ -80,10 +80,11 @@ int32_t DCameraChannelSourceImpl::CreateSession(std::vector& camIn GetAnonyString(mySessionName_).c_str(), GetAnonyString(myDevId).c_str()); for (auto iter = camIndexs.begin(); iter != camIndexs.end(); iter++) { std::string peerDevId = (*iter).devId_; + std::string dhId = (*iter).dhId_; std::string peerSessionName = SESSION_HEAD + (*iter).dhId_ + std::string("_") + sessionFlag; // source_bind - std::shared_ptr softbusSess = std::make_shared(myDevId, - mySessionName_, peerDevId, peerSessionName, listener, sessionMode); + std::shared_ptr softbusSess = std::make_shared( + dhId, myDevId, mySessionName_, peerDevId, peerSessionName, listener, sessionMode); int32_t socketId = softbusSess->BindSocketServer(); if (socketId == 0 || socketId == DCAMERA_BAD_VALUE) { DHLOGE("DCameraChannelSourceImpl Create Session failed. socketId: %{public}d.", socketId); diff --git a/services/channel/src/dcamera_softbus_adapter.cpp b/services/channel/src/dcamera_softbus_adapter.cpp index 60cb4b9f..5663a438 100644 --- a/services/channel/src/dcamera_softbus_adapter.cpp +++ b/services/channel/src/dcamera_softbus_adapter.cpp @@ -197,8 +197,8 @@ int32_t DCameraSoftbusAdapter::CreatSoftBusSinkSocketServer(std::string mySessio return DCAMERA_OK; } -int32_t DCameraSoftbusAdapter::CreateSoftBusSourceSocketClient(std::string myDevId, std::string peerSessionName, - std::string peerDevId, DCameraSessionMode sessionMode, DCAMERA_CHANNEL_ROLE role) +int32_t DCameraSoftbusAdapter::CreateSoftBusSourceSocketClient(std::string myDhId, std::string myDevId, + std::string peerSessionName, std::string peerDevId, DCameraSessionMode sessionMode, DCAMERA_CHANNEL_ROLE role) { DHLOGI("create socket client start, myDevId: %{public}s, peerSessionName: %{public}s", GetAnonyString(myDevId).c_str(), GetAnonyString(peerSessionName).c_str()); @@ -240,9 +240,11 @@ int32_t DCameraSoftbusAdapter::CreateSoftBusSourceSocketClient(std::string myDev } sourceSocketId_ = socketId; if (peerSessionName.find("_control") != std::string::npos && DCameraAllConnectManager::IsInited()) { - DCameraAllConnectManager::GetInstance().PublishServiceState(peerDevId, SCM_CONNECTED); + DCameraAllConnectManager::GetInstance().PublishServiceState(peerDevId, myDhId, SCM_CONNECTED); DCameraAllConnectManager::SetSourceNetworkId(peerDevId, sourceSocketId_); } + DHLOGI("DCamera allconnect create socket client publish scm connected success, dhId: %{public}s", + myDhId.c_str()); DHLOGI("create socket client end, myDevId: %{public}s, peerSessionName: %{public}s", GetAnonyString(myDevId).c_str(), GetAnonyString(peerSessionName).c_str()); return socketId; @@ -359,10 +361,13 @@ int32_t DCameraSoftbusAdapter::SourceOnBind(int32_t socket, PeerSocketInfo info) DHLOGE("source bind socket failed, ret: %{public}d socket: %{public}d", ret, socket); } if (session->GetPeerSessionName().find("_control") != std::string::npos && DCameraAllConnectManager::IsInited()) { - ret = DCameraAllConnectManager::GetInstance().PublishServiceState(info.networkId, SCM_CONNECTED); + ret = DCameraAllConnectManager::GetInstance().PublishServiceState(info.networkId, + session->GetMyDhId(), SCM_CONNECTED); if (ret != DCAMERA_OK) { DHLOGE("DCamera allconnect sourceonBind publish scm connected failed, ret: %{public}d", ret); } + DHLOGI("DCamera allconnect sourceonBind publish scm connected success, dhId: %{public}s", + session->GetMyDhId().c_str()); DCameraAllConnectManager::SetSourceNetworkId(info.networkId, socket); } DHLOGI("source bind socket end, socket: %{public}d end", socket); @@ -582,16 +587,13 @@ int32_t DCameraSoftbusAdapter::SinkOnBind(int32_t socket, PeerSocketInfo info) DHLOGE("sink bind socket error, not find socket %{public}d", socket); } if (session->GetPeerSessionName().find("_control") != std::string::npos && DCameraAllConnectManager::IsInited()) { - ret = DCameraAllConnectManager::GetInstance().RegisterLifecycleCallback(); - if (ret == DCAMERA_OK) { - ret = DCameraAllConnectManager::GetInstance().PublishServiceState(info.networkId, SCM_CONNECTED); - if (ret != DCAMERA_OK) { - DHLOGE("DCamera allconnect sink on bind, publish service state failed %{public}d", ret); - } - } else { - DHLOGE("DCamera allconnect sink on bind, InitDCameraAllConnectManager failed %{public}d", ret); + ret = DCameraAllConnectManager::GetInstance().PublishServiceState(info.networkId, + session->GetMyDhId(), SCM_CONNECTED); + if (ret != DCAMERA_OK) { + DHLOGE("DCamera allconnect sink on bind, publish service state failed %{public}d", ret); } - + DHLOGI("DCamera allconnect sink on bind publish scm connected success, dhId: %{public}s", + session->GetMyDhId().c_str()); DCameraAllConnectManager::SetSinkNetWorkId(info.networkId, socket); } DHLOGI("sink bind socket end, socket: %{public}d", socket); @@ -611,18 +613,14 @@ void DCameraSoftbusAdapter::SinkOnShutDown(int32_t socket, ShutdownReason reason if (session->GetPeerSessionName().find("_control") != std::string::npos && DCameraAllConnectManager::IsInited()) { std::string devId = DCameraAllConnectManager::GetSinkDevIdBySocket(socket); if (!devId.empty()) { - ret = DCameraAllConnectManager::GetInstance().PublishServiceState(devId, SCM_IDLE); + ret = DCameraAllConnectManager::GetInstance().PublishServiceState(devId, session->GetMyDhId(), SCM_IDLE); if (ret != DCAMERA_OK) { DHLOGE("DCamera allconnect sinkDown PublishServiceState failed, ret: %{public}d, devId: %{public}s ", ret, GetAnonyString(devId).c_str()); } - - ret = DCameraAllConnectManager::GetInstance().UnRegisterLifecycleCallback(); - if (ret != DCAMERA_OK) { - DHLOGE("DCamera allconnect sinkdown UnInitDCameraAllConn failed, ret: %{public}d, devId: %{public}s", - ret, GetAnonyString(devId).c_str()); - } } + DHLOGI("DCamera allconnect sinkdown publish scm idle success, dhId: %{public}s", + session->GetMyDhId().c_str()); DCameraAllConnectManager::RemoveSinkNetworkId(socket); } @@ -730,14 +728,12 @@ void DCameraSoftbusAdapter::CloseSessionWithNetWorkId(const std::string &network session->OnSessionClose(sessionId); Shutdown(sessionId); if (bSinkConflict) { - ret = DCameraAllConnectManager::GetInstance().PublishServiceState(networkId, SCM_IDLE); + ret = DCameraAllConnectManager::GetInstance().PublishServiceState(networkId, session->GetMyDhId(), SCM_IDLE); if (ret != DCAMERA_OK) { DHLOGE("DCamera allconnect CloseSessionWithNetworkId publish service state failed"); } - ret = DCameraAllConnectManager::GetInstance().UnRegisterLifecycleCallback(); - if (ret != DCAMERA_OK) { - DHLOGE("DCamera allconnect CloseSessionWithNetworkId UnInitDCameraAllConnectManager failed"); - } + DHLOGI("DCamera allconnect close session publish scm idle success, dhId: %{public}s", + session->GetMyDhId().c_str()); } } diff --git a/services/channel/src/dcamera_softbus_session.cpp b/services/channel/src/dcamera_softbus_session.cpp index 7ee7b790..c8b434c6 100644 --- a/services/channel/src/dcamera_softbus_session.cpp +++ b/services/channel/src/dcamera_softbus_session.cpp @@ -34,10 +34,12 @@ DCameraSoftbusSession::DCameraSoftbusSession() ResetAssembleFrag(); } -DCameraSoftbusSession::DCameraSoftbusSession(std::string myDevId, std::string mySessionName, std::string peerDevId, - std::string peerSessionName, std::shared_ptr listener, DCameraSessionMode mode) - : myDevId_(myDevId), mySessionName_(mySessionName), peerDevId_(peerDevId), peerSessionName_(peerSessionName), - listener_(listener), sessionId_(-1), state_(DCAMERA_SOFTBUS_STATE_CLOSED), mode_(mode) +DCameraSoftbusSession::DCameraSoftbusSession(std::string myDhId, std::string myDevId, std::string mySessionName, + std::string peerDevId, std::string peerSessionName, std::shared_ptr listener, + DCameraSessionMode mode) + : myDhId_(myDhId), myDevId_(myDevId), mySessionName_(mySessionName), peerDevId_(peerDevId), + peerSessionName_(peerSessionName), listener_(listener), sessionId_(-1), state_(DCAMERA_SOFTBUS_STATE_CLOSED), + mode_(mode) { sendFuncMap_[DCAMERA_SESSION_MODE_CTRL] = &DCameraSoftbusSession::SendBytes; sendFuncMap_[DCAMERA_SESSION_MODE_VIDEO] = &DCameraSoftbusSession::SendStream; @@ -336,8 +338,8 @@ int32_t DCameraSoftbusSession::CreateSocketServer() int32_t DCameraSoftbusSession::BindSocketServer() { - int32_t socketId = DCameraSoftbusAdapter::GetInstance().CreateSoftBusSourceSocketClient(myDevId_, peerSessionName_, - peerDevId_, mode_, DCAMERA_CHANNLE_ROLE_SOURCE); + int32_t socketId = DCameraSoftbusAdapter::GetInstance().CreateSoftBusSourceSocketClient(myDhId_, myDevId_, + peerSessionName_, peerDevId_, mode_, DCAMERA_CHANNLE_ROLE_SOURCE); if (socketId == 0 || socketId == DCAMERA_BAD_VALUE) { DHLOGE("DCameraSoftbusSession BindSocketServer Error, socketId %{public}d", socketId); return socketId; @@ -503,5 +505,11 @@ int32_t DCameraSoftbusSession::GetSessionId() { return sessionId_; } + +std::string DCameraSoftbusSession::GetMyDhId() +{ + return myDhId_; +} + } // namespace DistributedHardware } // namespace OHOS diff --git a/services/channel/test/unittest/common/channel/dcamera_allconnect_manager_test.cpp b/services/channel/test/unittest/common/channel/dcamera_allconnect_manager_test.cpp index c72e2141..b17887c7 100644 --- a/services/channel/test/unittest/common/channel/dcamera_allconnect_manager_test.cpp +++ b/services/channel/test/unittest/common/channel/dcamera_allconnect_manager_test.cpp @@ -29,6 +29,7 @@ constexpr int32_t VALUABLE_SESSION_ID = 10; constexpr int32_t UNVALUABLE_SESSION_ID = -1; constexpr const char* DL_HANDLE = "dlhandle success"; const std::string PEER_NETWORK_ID = "peerNetworkId"; +const std::string DH_ID = "dhId"; } // namespace bool DCameraAllConnectManagerTest::InitAllConnectManagerMockEnv() @@ -80,7 +81,7 @@ void DCameraAllConnectManagerTest::TearDownTestCase(void) HWTEST_F(DCameraAllConnectManagerTest, PublishServiceState_001, testing::ext::TestSize.Level1) { auto ret = DCameraAllConnectManager::GetInstance().PublishServiceState(PEER_NETWORK_ID, - DCameraCollaborationBussinessStatus::SCM_CONNECTING); + DH_ID, DCameraCollaborationBussinessStatus::SCM_CONNECTING); EXPECT_EQ(ret, DistributedCameraErrno::DCAMERA_OK); } @@ -88,7 +89,7 @@ HWTEST_F(DCameraAllConnectManagerTest, PublishServiceState_002, testing::ext::Te { std::string emptyPeerNetworkId; auto ret = DCameraAllConnectManager::GetInstance().PublishServiceState(emptyPeerNetworkId, - DCameraCollaborationBussinessStatus::SCM_CONNECTING); + DH_ID, DCameraCollaborationBussinessStatus::SCM_CONNECTING); EXPECT_EQ(ret, DistributedCameraErrno::DCAMERA_ERR_PUBLISH_STATE); } diff --git a/services/channel/test/unittest/common/channel/dcamera_softbus_adapter_test.cpp b/services/channel/test/unittest/common/channel/dcamera_softbus_adapter_test.cpp index b5777154..d819f351 100644 --- a/services/channel/test/unittest/common/channel/dcamera_softbus_adapter_test.cpp +++ b/services/channel/test/unittest/common/channel/dcamera_softbus_adapter_test.cpp @@ -168,8 +168,9 @@ HWTEST_F(DCameraSoftbusAdapterTest, dcamera_softbus_adapter_test_005, TestSize.L DCameraSessionMode sessionMode = DCameraSessionMode::DCAMERA_SESSION_MODE_CTRL; std::string peerDevId = TEST_DEVICE_ID; std::string myDevId = "abcde"; - int32_t ret = DCameraSoftbusAdapter::GetInstance().CreateSoftBusSourceSocketClient(myDevId, peerSessName, peerDevId, - sessionMode, role); + std::string myDhId = "mydhid"; + int32_t ret = DCameraSoftbusAdapter::GetInstance().CreateSoftBusSourceSocketClient(myDhId, myDevId, + peerSessName, peerDevId, sessionMode, role); size_t capacity = 1; std::shared_ptr dataBuffer = std::make_shared(capacity); int32_t sessionId = 2; @@ -193,8 +194,9 @@ HWTEST_F(DCameraSoftbusAdapterTest, dcamera_softbus_adapter_test_006, TestSize.L DCameraSessionMode sessionMode = DCameraSessionMode::DCAMERA_SESSION_MODE_VIDEO; std::string peerDevId = TEST_DEVICE_ID; std::string myDevId = "abcde"; - int32_t ret = DCameraSoftbusAdapter::GetInstance().CreateSoftBusSourceSocketClient(myDevId, peerSessName, peerDevId, - sessionMode, role); + std::string myDhId = "mydhid"; + int32_t ret = DCameraSoftbusAdapter::GetInstance().CreateSoftBusSourceSocketClient(myDhId, myDevId, + peerSessName, peerDevId, sessionMode, role); size_t capacity = 1; std::shared_ptr dataBuffer = std::make_shared(capacity); int32_t sessionId = 2; @@ -233,8 +235,9 @@ HWTEST_F(DCameraSoftbusAdapterTest, dcamera_softbus_adapter_test_008, TestSize.L DCameraSessionMode sessionMode = DCameraSessionMode::DCAMERA_SESSION_MODE_VIDEO; std::string peerDevId = TEST_DEVICE_ID; std::string myDevId = "abcde"; - int32_t ret = DCameraSoftbusAdapter::GetInstance().CreateSoftBusSourceSocketClient(myDevId, peerSessName, peerDevId, - sessionMode, role); + std::string myDhId = "mydhid"; + int32_t ret = DCameraSoftbusAdapter::GetInstance().CreateSoftBusSourceSocketClient(myDhId, myDevId, + peerSessName, peerDevId, sessionMode, role); int32_t sessionId = 2; PeerSocketInfo info = { .name = const_cast(peerSessName.c_str()), @@ -263,8 +266,9 @@ HWTEST_F(DCameraSoftbusAdapterTest, dcamera_softbus_adapter_test_009, TestSize.L DCameraSessionMode sessionMode = DCameraSessionMode::DCAMERA_SESSION_MODE_VIDEO; std::string peerDevId = TEST_DEVICE_ID; std::string myDevId = "abcde"; - int32_t ret = DCameraSoftbusAdapter::GetInstance().CreateSoftBusSourceSocketClient(myDevId, peerSessName, peerDevId, - sessionMode, role); + std::string myDhId = "mydhid"; + int32_t ret = DCameraSoftbusAdapter::GetInstance().CreateSoftBusSourceSocketClient(myDhId, myDevId, + peerSessName, peerDevId, sessionMode, role); int32_t sessionId = 2; PeerSocketInfo info = { .name = const_cast(peerSessName.c_str()), @@ -294,8 +298,9 @@ HWTEST_F(DCameraSoftbusAdapterTest, dcamera_softbus_adapter_test_010, TestSize.L DCameraSessionMode sessionMode = DCameraSessionMode::DCAMERA_SESSION_MODE_VIDEO; std::string peerDevId = TEST_DEVICE_ID; std::string myDevId = "abcde"; - int32_t ret = DCameraSoftbusAdapter::GetInstance().CreateSoftBusSourceSocketClient(myDevId, peerSessName, peerDevId, - sessionMode, role); + std::string myDhId = "mydhid"; + int32_t ret = DCameraSoftbusAdapter::GetInstance().CreateSoftBusSourceSocketClient(myDhId, myDevId, + peerSessName, peerDevId, sessionMode, role); int32_t sessionId = 2; PeerSocketInfo info = { .name = const_cast(peerSessName.c_str()), @@ -327,8 +332,9 @@ HWTEST_F(DCameraSoftbusAdapterTest, dcamera_softbus_adapter_test_011, TestSize.L DCameraSessionMode sessionMode = DCameraSessionMode::DCAMERA_SESSION_MODE_VIDEO; std::string peerDevId = TEST_DEVICE_ID; std::string myDevId = "abcde"; - int32_t ret = DCameraSoftbusAdapter::GetInstance().CreateSoftBusSourceSocketClient(myDevId, peerSessName, peerDevId, - sessionMode, role); + std::string myDhId = "mydhid"; + int32_t ret = DCameraSoftbusAdapter::GetInstance().CreateSoftBusSourceSocketClient(myDhId, myDevId, + peerSessName, peerDevId, sessionMode, role); int32_t sessionId = 2; PeerSocketInfo info = { .name = const_cast(peerSessName.c_str()), @@ -360,8 +366,9 @@ HWTEST_F(DCameraSoftbusAdapterTest, dcamera_softbus_adapter_test_012, TestSize.L DCameraSessionMode sessionMode = DCameraSessionMode::DCAMERA_SESSION_MODE_VIDEO; std::string peerDevId = TEST_DEVICE_ID; std::string myDevId = "abcde"; - int32_t ret = DCameraSoftbusAdapter::GetInstance().CreateSoftBusSourceSocketClient(myDevId, peerSessName, peerDevId, - sessionMode, role); + std::string myDhId = "mydhid"; + int32_t ret = DCameraSoftbusAdapter::GetInstance().CreateSoftBusSourceSocketClient(myDhId, myDevId, + peerSessName, peerDevId, sessionMode, role); int32_t sessionId = 2; PeerSocketInfo info = { .name = const_cast(peerSessName.c_str()), @@ -410,8 +417,9 @@ HWTEST_F(DCameraSoftbusAdapterTest, dcamera_softbus_adapter_test_013, TestSize.L DCameraSessionMode sessionMode = DCameraSessionMode::DCAMERA_SESSION_MODE_VIDEO; std::string peerDevId = TEST_DEVICE_ID; std::string myDevId = "abcde"; - int32_t ret = DCameraSoftbusAdapter::GetInstance().CreateSoftBusSourceSocketClient(myDevId, peerSessName, peerDevId, - sessionMode, role); + std::string myDhId = "mydhid"; + int32_t ret = DCameraSoftbusAdapter::GetInstance().CreateSoftBusSourceSocketClient(myDhId, myDevId, + peerSessName, peerDevId, sessionMode, role); int32_t sessionId = 2; PeerSocketInfo info = { .name = const_cast(peerSessName.c_str()), @@ -441,8 +449,9 @@ HWTEST_F(DCameraSoftbusAdapterTest, dcamera_softbus_adapter_test_014, TestSize.L std::string peerDevId = TEST_DEVICE_ID; std::string myDevId = "abcde"; ManageSelectChannel::GetInstance().SetSinkConnect(true); - int32_t ret = DCameraSoftbusAdapter::GetInstance().CreateSoftBusSourceSocketClient(myDevId, peerSessName, peerDevId, - sessionMode, role); + std::string myDhId = "mydhid"; + int32_t ret = DCameraSoftbusAdapter::GetInstance().CreateSoftBusSourceSocketClient(myDhId, myDevId, + peerSessName, peerDevId, sessionMode, role); int32_t sessionId = 2; PeerSocketInfo info = { .name = const_cast(peerSessName.c_str()), @@ -472,8 +481,9 @@ HWTEST_F(DCameraSoftbusAdapterTest, dcamera_softbus_adapter_test_015, TestSize.L DCameraSessionMode sessionMode = DCameraSessionMode::DCAMERA_SESSION_MODE_CTRL; std::string peerDevId = TEST_DEVICE_ID; std::string myDevId = "abcde"; - int32_t ret = DCameraSoftbusAdapter::GetInstance().CreateSoftBusSourceSocketClient(myDevId, peerSessName, peerDevId, - sessionMode, role); + std::string myDhId = "mydhid"; + int32_t ret = DCameraSoftbusAdapter::GetInstance().CreateSoftBusSourceSocketClient(myDhId, myDevId, + peerSessName, peerDevId, sessionMode, role); int32_t sessionId = 2; PeerSocketInfo info = { .name = const_cast(peerSessName.c_str()), @@ -505,8 +515,9 @@ HWTEST_F(DCameraSoftbusAdapterTest, dcamera_softbus_adapter_test_016, TestSize.L DCameraSessionMode sessionMode = DCameraSessionMode::DCAMERA_SESSION_MODE_CTRL; std::string peerDevId = TEST_DEVICE_ID; std::string myDevId = "abcde"; - int32_t ret = DCameraSoftbusAdapter::GetInstance().CreateSoftBusSourceSocketClient(myDevId, peerSessName, peerDevId, - sessionMode, role); + std::string myDhId = "mydhid"; + int32_t ret = DCameraSoftbusAdapter::GetInstance().CreateSoftBusSourceSocketClient(myDhId, myDevId, + peerSessName, peerDevId, sessionMode, role); int32_t sessionId = 2; PeerSocketInfo info = { .name = const_cast(peerSessName.c_str()), @@ -538,8 +549,9 @@ HWTEST_F(DCameraSoftbusAdapterTest, dcamera_softbus_adapter_test_017, TestSize.L DCameraSessionMode sessionMode = DCameraSessionMode::DCAMERA_SESSION_MODE_CTRL; std::string peerDevId = TEST_DEVICE_ID; std::string myDevId = "abcde"; - int32_t ret = DCameraSoftbusAdapter::GetInstance().CreateSoftBusSourceSocketClient(myDevId, peerSessName, peerDevId, - sessionMode, role); + std::string myDhId = "mydhid"; + int32_t ret = DCameraSoftbusAdapter::GetInstance().CreateSoftBusSourceSocketClient(myDhId, myDevId, + peerSessName, peerDevId, sessionMode, role); int32_t sessionId = 2; PeerSocketInfo info = { .name = const_cast(peerSessName.c_str()), @@ -581,8 +593,9 @@ HWTEST_F(DCameraSoftbusAdapterTest, dcamera_softbus_adapter_test_018, TestSize.L DCameraSessionMode sessionMode = DCameraSessionMode::DCAMERA_SESSION_MODE_CTRL; std::string peerDevId = TEST_DEVICE_ID; std::string myDevId = "abcde"; - int32_t ret = DCameraSoftbusAdapter::GetInstance().CreateSoftBusSourceSocketClient(myDevId, peerSessName, peerDevId, - sessionMode, role); + std::string myDhId = "mydhid"; + int32_t ret = DCameraSoftbusAdapter::GetInstance().CreateSoftBusSourceSocketClient(myDhId, myDevId, + peerSessName, peerDevId, sessionMode, role); int32_t sessionId = 2; std::shared_ptr session = std::make_shared(); PeerSocketInfo info = { @@ -613,8 +626,9 @@ HWTEST_F(DCameraSoftbusAdapterTest, dcamera_softbus_adapter_test_019, TestSize.L DCameraSessionMode sessionMode = DCameraSessionMode::DCAMERA_SESSION_MODE_CTRL; std::string peerDevId = TEST_DEVICE_ID; std::string myDevId = "abcde"; - int32_t ret = DCameraSoftbusAdapter::GetInstance().CreateSoftBusSourceSocketClient(myDevId, peerSessName, peerDevId, - sessionMode, role); + std::string myDhId = "mydhid"; + int32_t ret = DCameraSoftbusAdapter::GetInstance().CreateSoftBusSourceSocketClient(myDhId, myDevId, + peerSessName, peerDevId, sessionMode, role); int32_t sessionId = 2; PeerSocketInfo info = { .name = const_cast(peerSessName.c_str()), @@ -645,8 +659,9 @@ HWTEST_F(DCameraSoftbusAdapterTest, dcamera_softbus_adapter_test_020, TestSize.L DCameraSessionMode sessionMode = DCameraSessionMode::DCAMERA_SESSION_MODE_CTRL; std::string peerDevId = TEST_DEVICE_ID; std::string myDevId = "abcde"; - int32_t ret = DCameraSoftbusAdapter::GetInstance().CreateSoftBusSourceSocketClient(myDevId, peerSessName, peerDevId, - sessionMode, role); + std::string myDhId = "mydhid"; + int32_t ret = DCameraSoftbusAdapter::GetInstance().CreateSoftBusSourceSocketClient(myDhId, myDevId, + peerSessName, peerDevId, sessionMode, role); int32_t sessionId = 2; PeerSocketInfo info = { .name = const_cast(peerSessName.c_str()), @@ -676,8 +691,9 @@ HWTEST_F(DCameraSoftbusAdapterTest, dcamera_softbus_adapter_test_023, TestSize.L DCameraSessionMode sessionMode = DCameraSessionMode::DCAMERA_SESSION_MODE_CTRL; std::string peerDevId = TEST_DEVICE_ID; std::string myDevId = "abcde"; - int32_t ret = DCameraSoftbusAdapter::GetInstance().CreateSoftBusSourceSocketClient(myDevId, peerSessName, peerDevId, - sessionMode, role); + std::string myDhId = "mydhid"; + int32_t ret = DCameraSoftbusAdapter::GetInstance().CreateSoftBusSourceSocketClient(myDhId, myDevId, + peerSessName, peerDevId, sessionMode, role); int32_t sessionId = -1; PeerSocketInfo info = { .name = const_cast(peerSessName.c_str()), @@ -707,8 +723,9 @@ HWTEST_F(DCameraSoftbusAdapterTest, dcamera_softbus_adapter_test_027, TestSize.L DCameraSessionMode sessionMode = DCameraSessionMode::DCAMERA_SESSION_MODE_CTRL; std::string peerDevId = TEST_DEVICE_ID; std::string myDevId = "abcde"; - int32_t ret = DCameraSoftbusAdapter::GetInstance().CreateSoftBusSourceSocketClient(myDevId, peerSessName, peerDevId, - sessionMode, role); + std::string myDhId = "mydhid"; + int32_t ret = DCameraSoftbusAdapter::GetInstance().CreateSoftBusSourceSocketClient(myDhId, myDevId, + peerSessName, peerDevId, sessionMode, role); int32_t sessionId = 27; std::shared_ptr session = std::make_shared(); PeerSocketInfo info = { @@ -851,8 +868,9 @@ HWTEST_F(DCameraSoftbusAdapterTest, dcamera_softbus_adapter_test_033, TestSize.L std::string peerDevId = TEST_DEVICE_ID; std::string myDevId = "abcde"; ManageSelectChannel::GetInstance().SetSrcConnect(true); - int32_t ret = DCameraSoftbusAdapter::GetInstance().CreateSoftBusSourceSocketClient(myDevId, peerSessName, peerDevId, - sessionMode, role); + std::string myDhId = "mydhid"; + int32_t ret = DCameraSoftbusAdapter::GetInstance().CreateSoftBusSourceSocketClient(myDhId, myDevId, + peerSessName, peerDevId, sessionMode, role); int32_t sessionId = 27; std::shared_ptr session = std::make_shared(); PeerSocketInfo info = { @@ -897,8 +915,9 @@ HWTEST_F(DCameraSoftbusAdapterTest, dcamera_softbus_adapter_test_034, TestSize.L DCameraSessionMode sessionMode = DCameraSessionMode::DCAMERA_SESSION_MODE_VIDEO; std::string peerDevId = TEST_DEVICE_ID; std::string myDevId = "abcde"; - int32_t ret = DCameraSoftbusAdapter::GetInstance().CreateSoftBusSourceSocketClient(myDevId, peerSessName, peerDevId, - sessionMode, role); + std::string myDhId = "mydhid"; + int32_t ret = DCameraSoftbusAdapter::GetInstance().CreateSoftBusSourceSocketClient(myDhId, myDevId, + peerSessName, peerDevId, sessionMode, role); size_t capacity = 1; std::shared_ptr dataBuffer = std::make_shared(capacity); int32_t sessionId = 1; @@ -922,8 +941,9 @@ HWTEST_F(DCameraSoftbusAdapterTest, DCameraSoftbusAdapterTest_035, TestSize.Leve DCameraSessionMode sessionMode = DCameraSessionMode::DCAMERA_SESSION_MODE_VIDEO; std::string peerDevId = TEST_DEVICE_ID; std::string myDevId = "abcde"; - DCameraSoftbusAdapter::GetInstance().CreateSoftBusSourceSocketClient(myDevId, peerSessName, peerDevId, - sessionMode, role); + std::string myDhId = "mydhid"; + DCameraSoftbusAdapter::GetInstance().CreateSoftBusSourceSocketClient(myDhId, myDevId, + peerSessName, peerDevId, sessionMode, role); DCameraSoftbusAdapter::GetInstance().CloseSessionWithNetWorkId("testNetworkId"); } @@ -934,8 +954,9 @@ HWTEST_F(DCameraSoftbusAdapterTest, DCameraSoftbusAdapterTest_036, TestSize.Leve std::string peerDevId = TEST_DEVICE_ID; DCameraSessionMode sessionMode = DCameraSessionMode::DCAMERA_SESSION_MODE_VIDEO; DCAMERA_CHANNEL_ROLE role = DCAMERA_CHANNLE_ROLE_SOURCE; - auto ret = DCameraSoftbusAdapter::GetInstance().CreateSoftBusSourceSocketClient(myDevId, peerSessName, peerDevId, - sessionMode, role); + std::string myDhId = "mydhid"; + int32_t ret = DCameraSoftbusAdapter::GetInstance().CreateSoftBusSourceSocketClient(myDhId, myDevId, + peerSessName, peerDevId, sessionMode, role); DCameraSoftbusAdapter::GetInstance().CloseSessionWithNetWorkId(peerDevId); EXPECT_EQ(ret, UNIQUE_SOCKED_ID); @@ -947,10 +968,11 @@ HWTEST_F(DCameraSoftbusAdapterTest, DCameraSoftbusAdapterTest_037, TestSize.Leve std::string sessionName = "sourcetest037"; std::string peerDevId = TEST_DEVICE_ID; std::string peerSessName = "sink_control"; + std::string dhId = "dhId"; auto listener = std::make_shared(); auto session = std::make_shared( - myDevId, sessionName, peerDevId, peerSessName, listener, DCameraSessionMode::DCAMERA_SESSION_MODE_CTRL); + dhId, myDevId, sessionName, peerDevId, peerSessName, listener, DCameraSessionMode::DCAMERA_SESSION_MODE_CTRL); EXPECT_CALL(*listener, OnSessionState(_, _)).Times(AtLeast(1)); DCameraSoftbusAdapter::GetInstance().RecordSourceSocketSession(UNIQUE_SOCKED_ID, session); @@ -975,6 +997,7 @@ HWTEST_F(DCameraSoftbusAdapterTest, DCameraSoftbusAdapterTest_038, TestSize.Leve std::string myDevId = "abcde"; std::string peerDevId = TEST_DEVICE_ID; std::string peerSessionName = peerDevId + "_control"; + std::string dhId = "dhId"; DCameraSoftbusAdapter::GetInstance().mySocketSet_.clear(); ManageSelectChannel::GetInstance().SetSinkConnect(false); DCameraSoftbusAdapter::GetInstance().CreatSoftBusSinkSocketServer( @@ -982,7 +1005,8 @@ HWTEST_F(DCameraSoftbusAdapterTest, DCameraSoftbusAdapterTest_038, TestSize.Leve auto listener = std::make_shared(); EXPECT_CALL(*listener, OnSessionState(_, _)).Times(AtLeast(1)); auto session = std::make_shared( - myDevId, mySessionName, peerDevId, peerSessionName, listener, DCameraSessionMode::DCAMERA_SESSION_MODE_CTRL); + dhId, myDevId, mySessionName, peerDevId, peerSessionName, listener, + DCameraSessionMode::DCAMERA_SESSION_MODE_CTRL); DCameraSoftbusAdapter::GetInstance().sinkSessions_[mySessionName] = session; PeerSocketInfo info = { .name = const_cast(peerSessionName.c_str()), diff --git a/services/channel/test/unittest/common/channel/dcamera_softbus_session_test.cpp b/services/channel/test/unittest/common/channel/dcamera_softbus_session_test.cpp index 474d2d87..49b54f3c 100644 --- a/services/channel/test/unittest/common/channel/dcamera_softbus_session_test.cpp +++ b/services/channel/test/unittest/common/channel/dcamera_softbus_session_test.cpp @@ -64,6 +64,7 @@ void DCameraSoftbusSessionTest::TearDownTestCase(void) void DCameraSoftbusSessionTest::SetUp(void) { + std::string myDhId = "dhId"; std::string myDevId = TEST_MYDEVICE_ID; std::string mySessionName = "testmysession"; std::string peerSessionName = "testpeersession"; @@ -74,7 +75,7 @@ void DCameraSoftbusSessionTest::SetUp(void) listener_ = std::make_shared(CONTINUOUS_FRAME, output_); - softbusSession_ = std::make_shared(myDevId, mySessionName, peerDevId, + softbusSession_ = std::make_shared(myDhId, myDevId, mySessionName, peerDevId, peerSessionName, listener_, sessionMode); } -- Gitee