diff --git a/services/implementation/include/authentication/dm_auth_manager.h b/services/implementation/include/authentication/dm_auth_manager.h index a4d1ec014cb452c6d7cf7d6052962b40d8c7a123..1d3f72374390458c1220ef8545088d5a13c16dc0 100644 --- a/services/implementation/include/authentication/dm_auth_manager.h +++ b/services/implementation/include/authentication/dm_auth_manager.h @@ -278,7 +278,7 @@ public: * @tc.desc: Join Member of the DeviceManager Authenticate Manager * @tc.type: FUNC */ - void OnMemberJoin(int64_t requestId, int32_t status); + void OnMemberJoin(int64_t requestId, int32_t status, int32_t operationCode); /** * @tc.name: DmAuthManager::EstablishAuthChannel @@ -595,6 +595,8 @@ private: void ProcessReqPublicKey(); void RegisterCleanNotifyCallback(CleanNotifyCallback cleanNotifyCallback); void GetBindCallerInfo(); + void ProcessReqAuthTerminate(); + void ResetParams(); private: std::shared_ptr softbusConnector_; @@ -645,6 +647,10 @@ private: CleanNotifyCallback cleanNotifyCallback_{nullptr}; std::mutex bindParamMutex_; std::map bindParam_; + std::mutex groupMutex_; + bool isAddMember_ = false; + bool isCreateGroup_ = false; + bool transitToFinishState_ = false; }; } // namespace DistributedHardware } // namespace OHOS diff --git a/services/implementation/include/authentication_v2/dm_auth_manager_base.h b/services/implementation/include/authentication_v2/dm_auth_manager_base.h index c680323a42aa2443360017c9edf8a8c3c738c270..d3a4fa411a7e520369591f4097a9e2d9702390fe 100644 --- a/services/implementation/include/authentication_v2/dm_auth_manager_base.h +++ b/services/implementation/include/authentication_v2/dm_auth_manager_base.h @@ -144,7 +144,7 @@ public: virtual void OnGroupCreated(int64_t requestId, const std::string &groupId); - virtual void OnMemberJoin(int64_t requestId, int32_t status); + virtual void OnMemberJoin(int64_t requestId, int32_t status, int32_t operationCode); virtual int32_t EstablishAuthChannel(const std::string &deviceId); diff --git a/services/implementation/include/dependency/hichain/hichain_connector_callback.h b/services/implementation/include/dependency/hichain/hichain_connector_callback.h index 5590744cc707cdbfbcaf75afb4eb79df1c6cf428..4c90cd961a52e5e691bf807f51b9be81b13a6abb 100644 --- a/services/implementation/include/dependency/hichain/hichain_connector_callback.h +++ b/services/implementation/include/dependency/hichain/hichain_connector_callback.h @@ -21,7 +21,7 @@ namespace DistributedHardware { class IHiChainConnectorCallback { public: virtual void OnGroupCreated(int64_t requestId, const std::string &groupId) = 0; - virtual void OnMemberJoin(int64_t requestId, int32_t status) = 0; + virtual void OnMemberJoin(int64_t requestId, int32_t status, int32_t operationCode) = 0; virtual std::string GetConnectAddr(std::string deviceId) = 0; virtual int32_t GetPinCode(std::string &code) = 0; }; diff --git a/services/implementation/src/authentication/dm_auth_manager.cpp b/services/implementation/src/authentication/dm_auth_manager.cpp index 42dc1d7df36dcc9d5c30b79baaf8441510ce1766..307ee014fc26daf873ffc8ab8d29cf51509fbe57 100644 --- a/services/implementation/src/authentication/dm_auth_manager.cpp +++ b/services/implementation/src/authentication/dm_auth_manager.cpp @@ -577,6 +577,14 @@ void DmAuthManager::OnSessionClosed(const int32_t sessionId) { LOGI("DmAuthManager::OnSessionClosed sessionId = %{public}d", sessionId); if (authResponseState_ != nullptr && authResponseContext_ != nullptr) { + { + std::lock_guard lock(groupMutex_); + if (authResponseState_->GetStateType() == AUTH_RESPONSE_SHOW && + authResponseContext_->reply == DM_OK && isCreateGroup_ && !isAddMember_) { + LOGI("wait addmemer callback"); + return; + } + } isFinishOfLocal_ = false; authResponseContext_->state = authResponseState_->GetStateType(); authResponseState_->TransitionTo(std::make_shared()); @@ -664,14 +672,7 @@ void DmAuthManager::ProcessSinkMsg() } break; case MSG_TYPE_REQ_AUTH_TERMINATE: - if (authResponseState_->GetStateType() != AuthState::AUTH_RESPONSE_FINISH) { - isFinishOfLocal_ = false; - authResponseContext_->state = authResponseState_->GetStateType(); - if (authResponseContext_->reply == DM_OK) { - authResponseContext_->state = AuthState::AUTH_RESPONSE_FINISH; - } - authResponseState_->TransitionTo(std::make_shared()); - } + ProcessReqAuthTerminate(); break; case MSG_TYPE_REQ_PUBLICKEY: ProcessReqPublicKey(); @@ -691,6 +692,27 @@ void DmAuthManager::ProcessSinkMsg() } } +void DmAuthManager::ProcessReqAuthTerminate() +{ + { + std::lock_guard lock(groupMutex_); + if (authResponseState_->GetStateType() == AUTH_RESPONSE_SHOW && + authResponseContext_->reply == DM_OK && isCreateGroup_ && !isAddMember_) { + LOGI("wait addmemer callback"); + transitToFinishState_ = true; + return; + } + } + if (authResponseState_->GetStateType() != AuthState::AUTH_RESPONSE_FINISH) { + isFinishOfLocal_ = false; + authResponseContext_->state = authResponseState_->GetStateType(); + if (authResponseContext_->reply == DM_OK) { + authResponseContext_->state = AuthState::AUTH_RESPONSE_FINISH; + } + authResponseState_->TransitionTo(std::make_shared()); + } +} + void DmAuthManager::OnDataReceived(const int32_t sessionId, const std::string message) { if (authResponseContext_ == nullptr || authMessageProcessor_ == nullptr || @@ -740,7 +762,6 @@ void DmAuthManager::OnGroupCreated(int64_t requestId, const std::string &groupId softbusConnector_->GetSoftbusSession()->SendData(authResponseContext_->sessionId, message); return; } - CompatiblePutAcl(); std::string pinCode = ""; if (authResponseContext_->authType == AUTH_TYPE_IMPORT_AUTH_CODE && !importAuthCode_.empty()) { GetAuthCode(authResponseContext_->hostPkgName, pinCode); @@ -764,7 +785,7 @@ void DmAuthManager::OnGroupCreated(int64_t requestId, const std::string &groupId authResponseState_->TransitionTo(std::make_shared()); } -void DmAuthManager::OnMemberJoin(int64_t requestId, int32_t status) +void DmAuthManager::OnMemberJoin(int64_t requestId, int32_t status, int32_t operationCode) { isAddingMember_ = false; if (authResponseContext_ == nullptr || authUiStateMgr_ == nullptr) { @@ -772,6 +793,25 @@ void DmAuthManager::OnMemberJoin(int64_t requestId, int32_t status) return; } LOGI("DmAuthManager OnMemberJoin start authTimes %{public}d", authTimes_); + if (status == DM_OK && operationCode == GroupOperationCode::MEMBER_JOIN) { + LOGI("join group success."); + CompatiblePutAcl(); + { + std::lock_guard lock(groupMutex_); + isAddMember_ = true; + if (transitToFinishState_) { + LOGI("Have received src finish state."); + authResponseContext_->state = AuthState::AUTH_RESPONSE_FINISH; + authResponseState_->TransitionTo(std::make_shared()); + } + } + } + if (status == DM_OK && operationCode == GroupOperationCode::GROUP_CREATE) { + { + std::lock_guard lock(groupMutex_); + isCreateGroup_ = true; + } + } if ((authRequestState_ != nullptr) && (authResponseState_ == nullptr)) { MemberJoinAuthRequest(requestId, status); } else if ((authResponseState_ != nullptr) && (authRequestState_ == nullptr)) { @@ -798,10 +838,6 @@ void DmAuthManager::MemberJoinAuthRequest(int64_t requestId, int32_t status) if (timer_ != nullptr) { timer_->DeleteTimer(std::string(ADD_TIMEOUT_TASK)); } - if (status == DM_OK) { - LOGI("join group success."); - CompatiblePutAcl(); - } if (authResponseContext_->authType == AUTH_TYPE_IMPORT_AUTH_CODE) { HandleMemberJoinImportAuthCode(requestId, status); return; @@ -1515,6 +1551,12 @@ void DmAuthManager::AuthenticateFinish() } else if (authRequestState_ != nullptr) { SrcAuthenticateFinish(); } + ResetParams(); + LOGI("DmAuthManager::AuthenticateFinish complete"); +} + +void DmAuthManager::ResetParams() +{ isFinishOfLocal_ = true; authResponseContext_ = nullptr; authMessageProcessor_ = nullptr; @@ -1522,10 +1564,12 @@ void DmAuthManager::AuthenticateFinish() authRequestStateTemp_ = nullptr; authenticationType_ = USER_OPERATION_TYPE_ALLOW_AUTH; bundleName_ = ""; + isAddMember_ = false; + isCreateGroup_ = false; + transitToFinishState_ = false; if (cleanNotifyCallback_ != nullptr) { cleanNotifyCallback_(0); } - LOGI("DmAuthManager::AuthenticateFinish complete"); } int32_t DmAuthManager::RegisterUiStateCallback(const std::string pkgName) diff --git a/services/implementation/src/authentication_v2/dm_auth_manager_base.cpp b/services/implementation/src/authentication_v2/dm_auth_manager_base.cpp index 3c9fb29de51fa0b2b83b89d63e1db4e3bbe2f57a..f5ec91846baf9fd921a0d78a17e69238a1c2bafe 100644 --- a/services/implementation/src/authentication_v2/dm_auth_manager_base.cpp +++ b/services/implementation/src/authentication_v2/dm_auth_manager_base.cpp @@ -171,7 +171,7 @@ void AuthManagerBase::OnGroupCreated(int64_t requestId, const std::string &group LOGE("OnGroupCreated is not implemented in the current version"); } -void AuthManagerBase::OnMemberJoin(int64_t requestId, int32_t status) +void AuthManagerBase::OnMemberJoin(int64_t requestId, int32_t status, int32_t operationCode) { LOGE("OnMemberJoin is not implemented in the current version"); } diff --git a/services/implementation/src/dependency/hichain/hichain_connector.cpp b/services/implementation/src/dependency/hichain/hichain_connector.cpp index 6b3fda504deb3002e48e2b7c6cfad164d6b3540e..ea4ddd7b2d72325fe39e3fa3f42fc89581b5e26a 100644 --- a/services/implementation/src/dependency/hichain/hichain_connector.cpp +++ b/services/implementation/src/dependency/hichain/hichain_connector.cpp @@ -336,7 +336,7 @@ int32_t HiChainConnector::AddMember(const std::string &deviceId, const std::stri LOGE("DecodeRequestAuth jsonStr error"); return ERR_DM_FAILED; } - if (!IsString(jsonObject, TAG_DEVICE_ID) || !IsInt32(jsonObject, PIN_CODE_KEY) || + if (!IsString(jsonObject, TAG_DEVICE_ID) || !IsString(jsonObject, PIN_CODE_KEY) || !IsString(jsonObject, TAG_GROUP_ID) || !IsInt64(jsonObject, TAG_REQUEST_ID) || !IsString(jsonObject, TAG_GROUP_NAME)) { LOGE("HiChainConnector::AddMember err json string."); @@ -386,7 +386,7 @@ void HiChainConnector::onFinish(int64_t requestId, int operationCode, const char SysEventWrite(std::string(ADD_HICHAIN_GROUP_SUCCESS), DM_HISYEVENT_BEHAVIOR, std::string(ADD_HICHAIN_GROUP_SUCCESS_MSG)); if (hiChainConnectorCallback_ != nullptr) { - hiChainConnectorCallback_->OnMemberJoin(requestId, DM_OK); + hiChainConnectorCallback_->OnMemberJoin(requestId, DM_OK, operationCode); } } if (operationCode == GroupOperationCode::GROUP_CREATE) { @@ -405,7 +405,7 @@ void HiChainConnector::onFinish(int64_t requestId, int operationCode, const char } } else { if (hiChainConnectorCallback_ != nullptr) { - hiChainConnectorCallback_->OnMemberJoin(requestId, DM_OK); + hiChainConnectorCallback_->OnMemberJoin(requestId, DM_OK, operationCode); hiChainConnectorCallback_->OnGroupCreated(requestId, data); } } @@ -439,7 +439,7 @@ void HiChainConnector::onError(int64_t requestId, int operationCode, int errorCo SysEventWrite(std::string(ADD_HICHAIN_GROUP_FAILED), DM_HISYEVENT_BEHAVIOR, std::string(ADD_HICHAIN_GROUP_FAILED_MSG)); if (hiChainConnectorCallback_ != nullptr) { - hiChainConnectorCallback_->OnMemberJoin(requestId, ERR_DM_ADD_GROUP_FAILED); + hiChainConnectorCallback_->OnMemberJoin(requestId, ERR_DM_ADD_GROUP_FAILED, operationCode); } } if (operationCode == GroupOperationCode::GROUP_CREATE) { diff --git a/test/commonfuzztest/dmauthmanager_fuzzer/dm_auth_manager_fuzzer.cpp b/test/commonfuzztest/dmauthmanager_fuzzer/dm_auth_manager_fuzzer.cpp index 053f739b42d242982e690c910b6a7f0c3c959635..0ab530b0c45ac597a8952262141e525f4a056dfe 100644 --- a/test/commonfuzztest/dmauthmanager_fuzzer/dm_auth_manager_fuzzer.cpp +++ b/test/commonfuzztest/dmauthmanager_fuzzer/dm_auth_manager_fuzzer.cpp @@ -65,6 +65,7 @@ void DmAuthManagerFuzzTest(const uint8_t* data, size_t size) FuzzedDataProvider fdp(data, size); std::string str(reinterpret_cast(data), size); int32_t bindLevel = fdp.ConsumeIntegral(); + int32_t operationCode = fdp.ConsumeIntegral(); g_authManager->authMessageProcessor_ = std::make_shared(g_authManager); g_authManager->authMessageProcessor_->authResponseContext_ = std::make_shared(); g_authManager->authRequestContext_ = std::make_shared(); @@ -87,7 +88,7 @@ void DmAuthManagerFuzzTest(const uint8_t* data, size_t size) g_authManager->ShowStartAuthDialog(); g_authManager->OnDataReceived(g_sessionId, str); g_authManager->OnGroupCreated(g_requestId, str); - g_authManager->OnMemberJoin(g_requestId, g_status); + g_authManager->OnMemberJoin(g_requestId, g_status, operationCode); g_authManager->StartNegotiate(g_sessionId); g_authManager->RespNegotiate(g_sessionId); g_authManager->SendAuthRequest(g_sessionId); diff --git a/test/commonfuzztest/hichainconnector_fuzzer/hichain_connector_fuzzer.cpp b/test/commonfuzztest/hichainconnector_fuzzer/hichain_connector_fuzzer.cpp index dcc417f83afeac898a424a45cedbfd5167105c30..c9eec26f742df3fc790232a7eb9d382d6ff0ef90 100644 --- a/test/commonfuzztest/hichainconnector_fuzzer/hichain_connector_fuzzer.cpp +++ b/test/commonfuzztest/hichainconnector_fuzzer/hichain_connector_fuzzer.cpp @@ -43,7 +43,7 @@ public: (void)requestId; (void)groupId; } - void OnMemberJoin(int64_t requestId, int32_t status) override + void OnMemberJoin(int64_t requestId, int32_t status, int32_t operationCode) override { (void)requestId; (void)status; diff --git a/test/commonfuzztest/onerror_fuzzer/on_error_fuzzer.cpp b/test/commonfuzztest/onerror_fuzzer/on_error_fuzzer.cpp index 781698e0de92c003b2c23e84aec694e0c6a9faeb..afc699f1848539e5a7e06f7fa7325c8e7c902c1c 100644 --- a/test/commonfuzztest/onerror_fuzzer/on_error_fuzzer.cpp +++ b/test/commonfuzztest/onerror_fuzzer/on_error_fuzzer.cpp @@ -37,10 +37,11 @@ public: (void)requestId; (void)groupId; } - void OnMemberJoin(int64_t requestId, int32_t status) override + void OnMemberJoin(int64_t requestId, int32_t status, int32_t operationCode) override { (void)requestId; (void)status; + (void)operationCode; } std::string GetConnectAddr(std::string deviceId) override { diff --git a/test/commonfuzztest/onfinish_fuzzer/on_finish_fuzzer.cpp b/test/commonfuzztest/onfinish_fuzzer/on_finish_fuzzer.cpp index 19b2b0ae56bdf8a939b5ce242bc55e1eb883e634..f27b4ae57adf2266dcb4ca392e4bb728ba8f3765 100644 --- a/test/commonfuzztest/onfinish_fuzzer/on_finish_fuzzer.cpp +++ b/test/commonfuzztest/onfinish_fuzzer/on_finish_fuzzer.cpp @@ -37,10 +37,11 @@ public: (void)requestId; (void)groupId; } - void OnMemberJoin(int64_t requestId, int32_t status) override + void OnMemberJoin(int64_t requestId, int32_t status, int32_t operationCode) override { (void)requestId; (void)status; + (void)operationCode; } std::string GetConnectAddr(std::string deviceId) override { diff --git a/test/commonfuzztest/onrequest_fuzzer/on_request_fuzzer.cpp b/test/commonfuzztest/onrequest_fuzzer/on_request_fuzzer.cpp index 4a9a99f9636c0d6cc5a0c12b411033c57b71ba86..7399f8507fa5fe3b29e82a1a299f50b774dfdae1 100644 --- a/test/commonfuzztest/onrequest_fuzzer/on_request_fuzzer.cpp +++ b/test/commonfuzztest/onrequest_fuzzer/on_request_fuzzer.cpp @@ -36,10 +36,11 @@ public: (void)requestId; (void)groupId; } - void OnMemberJoin(int64_t requestId, int32_t status) override + void OnMemberJoin(int64_t requestId, int32_t status, int32_t operationCode) override { (void)requestId; (void)status; + (void)operationCode; } std::string GetConnectAddr(std::string deviceId) override { diff --git a/test/commonunittest/UTTest_dm_auth_manager_first.cpp b/test/commonunittest/UTTest_dm_auth_manager_first.cpp index 68638d2dd2ad62d7db6c7e8175b4900429e9e3cb..deb4543468eb529cb7906f86ccfcfe44a4497f54 100644 --- a/test/commonunittest/UTTest_dm_auth_manager_first.cpp +++ b/test/commonunittest/UTTest_dm_auth_manager_first.cpp @@ -313,7 +313,7 @@ HWTEST_F(DmAuthManagerTest, JoinNetwork_001, testing::ext::TestSize.Level1) const std::string groupId = "{}"; int32_t status = 1; authManager_->OnGroupCreated(requestId, groupId); - authManager_->OnMemberJoin(requestId, status); + authManager_->OnMemberJoin(requestId, status, 0); authManager_->OnDataReceived(sessionId, message); authManager_->SetAuthRequestState(authRequestState); int32_t ret = authManager_->JoinNetwork(); @@ -380,7 +380,7 @@ HWTEST_F(DmAuthManagerTest, SetPageId_002, testing::ext::TestSize.Level1) int32_t status = 2; JsonObject jsonObject; jsonObject[TAG_MSG_TYPE] = MSG_TYPE_AUTH_BY_PIN; - authManager_->OnMemberJoin(requestId, status); + authManager_->OnMemberJoin(requestId, status, 0); authManager_->OnDataReceived(sessionId, message); authManager_->authResponseContext_ = std::make_shared(); authManager_->authRequestState_ = std::make_shared(); diff --git a/test/commonunittest/UTTest_dm_auth_manager_second.cpp b/test/commonunittest/UTTest_dm_auth_manager_second.cpp index 7e654c117ae6ed534dab473e35374bceb36b8a2d..46e18cbc86d9926abaa6b498e136ebc619988f38 100644 --- a/test/commonunittest/UTTest_dm_auth_manager_second.cpp +++ b/test/commonunittest/UTTest_dm_auth_manager_second.cpp @@ -174,7 +174,7 @@ HWTEST_F(DmAuthManagerTest, OnMemberJoin_001, testing::ext::TestSize.Level1) int64_t requestId = 0; int32_t status = 11; authManager_->authResponseContext_ = nullptr; - authManager_->OnMemberJoin(requestId, status); + authManager_->OnMemberJoin(requestId, status, 0); ASSERT_EQ(authManager_->isFinishOfLocal_, true); } @@ -183,7 +183,7 @@ HWTEST_F(DmAuthManagerTest, OnMemberJoin_002, testing::ext::TestSize.Level1) int64_t requestId = 0; int32_t status = 11; authManager_->authUiStateMgr_ = nullptr; - authManager_->OnMemberJoin(requestId, status); + authManager_->OnMemberJoin(requestId, status, 0); ASSERT_EQ(authManager_->isFinishOfLocal_, true); } @@ -194,7 +194,7 @@ HWTEST_F(DmAuthManagerTest, OnMemberJoin_003, testing::ext::TestSize.Level1) authManager_->authRequestState_ = std::make_shared(); authManager_->authResponseState_ = nullptr; authManager_->authResponseContext_->authType = 5; - authManager_->OnMemberJoin(requestId, status); + authManager_->OnMemberJoin(requestId, status, 0); ASSERT_EQ(authManager_->isFinishOfLocal_, true); } @@ -206,7 +206,7 @@ HWTEST_F(DmAuthManagerTest, OnMemberJoin_004, testing::ext::TestSize.Level1) authManager_->authResponseState_ = nullptr; authManager_->authResponseContext_->authType = 6; authManager_->authResponseContext_->requestId = 1; - authManager_->OnMemberJoin(requestId, status); + authManager_->OnMemberJoin(requestId, status, 0); ASSERT_EQ(authManager_->isFinishOfLocal_, true); } @@ -218,7 +218,7 @@ HWTEST_F(DmAuthManagerTest, OnMemberJoin_006, testing::ext::TestSize.Level1) authManager_->authResponseState_ = nullptr; authManager_->authResponseContext_->authType = 6; authManager_->authResponseContext_->requestId = 0; - authManager_->OnMemberJoin(requestId, status); + authManager_->OnMemberJoin(requestId, status, 0); ASSERT_EQ(authManager_->isFinishOfLocal_, true); } @@ -230,7 +230,7 @@ HWTEST_F(DmAuthManagerTest, OnMemberJoin_007, testing::ext::TestSize.Level1) authManager_->authResponseState_ = std::make_shared(); authManager_->authResponseContext_->authType = 6; authManager_->authResponseContext_->requestId = 0; - authManager_->OnMemberJoin(requestId, status); + authManager_->OnMemberJoin(requestId, status, 0); ASSERT_EQ(authManager_->isFinishOfLocal_, true); } @@ -240,7 +240,7 @@ HWTEST_F(DmAuthManagerTest, OnMemberJoin_008, testing::ext::TestSize.Level1) int32_t status = 0; authManager_->authRequestState_ = nullptr; authManager_->authResponseState_ = nullptr; - authManager_->OnMemberJoin(requestId, status); + authManager_->OnMemberJoin(requestId, status, 0); ASSERT_EQ(authManager_->isFinishOfLocal_, true); } @@ -257,17 +257,17 @@ HWTEST_F(DmAuthManagerTest, OnMemberJoin_009, testing::ext::TestSize.Level1) authManager_->authResponseState_ = authResponseInitStateMock; authManager_->authResponseContext_->isFinish = true; authManager_->authResponseContext_->requestId = 0; - authManager_->OnMemberJoin(requestId, status); + authManager_->OnMemberJoin(requestId, status, 0); ASSERT_TRUE(authManager_->authResponseContext_->isFinish); authManager_->authResponseContext_->isFinish = true; authManager_->authResponseContext_->requestId = 1; - authManager_->OnMemberJoin(requestId, status); + authManager_->OnMemberJoin(requestId, status, 0); ASSERT_FALSE(authManager_->authResponseContext_->isFinish); authManager_->authResponseContext_->isFinish = true; status = ERR_DM_FAILED; - authManager_->OnMemberJoin(requestId, status); + authManager_->OnMemberJoin(requestId, status, 0); ASSERT_FALSE(authManager_->authResponseContext_->isFinish); } diff --git a/test/commonunittest/UTTest_hichain_connector.cpp b/test/commonunittest/UTTest_hichain_connector.cpp index 9b4d5b0a439fa7c9b52162d01db66a5b58a1a994..e7088f210c4f60cd6c718f8ad9b23fe6ee8659d3 100755 --- a/test/commonunittest/UTTest_hichain_connector.cpp +++ b/test/commonunittest/UTTest_hichain_connector.cpp @@ -52,10 +52,11 @@ public: (void)requestId; (void)groupId; } - void OnMemberJoin(int64_t requestId, int32_t status) override + void OnMemberJoin(int64_t requestId, int32_t status, int32_t operationCode) override { (void)requestId; (void)status; + (void)operationCode; } std::string GetConnectAddr(std::string deviceId) { diff --git a/test/commonunittest/UTTest_hichain_connector.h b/test/commonunittest/UTTest_hichain_connector.h index e41fe69b91ae846ba38b83bc494fa804b84d2dc0..e94d2040a39312fab2b44061d8d8133268a8242f 100644 --- a/test/commonunittest/UTTest_hichain_connector.h +++ b/test/commonunittest/UTTest_hichain_connector.h @@ -48,7 +48,7 @@ public: MockIHiChainConnectorCallback() = default; virtual ~MockIHiChainConnectorCallback() = default; MOCK_METHOD(void, OnGroupCreated, (int64_t requestId, const std::string &groupId), (override)); - MOCK_METHOD(void, OnMemberJoin, (int64_t requestId, int32_t status), (override)); + MOCK_METHOD(void, OnMemberJoin, (int64_t requestId, int32_t status, int32_t operationCode), (override)); MOCK_METHOD(std::string, GetConnectAddr, (std::string deviceId), (override)); MOCK_METHOD(int32_t, GetPinCode, (std::string &code), (override)); };