bool RCSResourceObject::applyAcceptanceMethod(const RCSSetResponse& response, const RCSResourceAttributes& requstAttrs) { auto requestHandler = response.getHandler(); assert(requestHandler != nullptr); auto replaced = requestHandler->applyAcceptanceMethod(response.getAcceptanceMethod(), *this, requstAttrs); OC_LOG_V(WARNING, LOG_TAG, "replaced num %zu", replaced.size()); for (const auto& attrKeyValPair : replaced) { std::shared_ptr< AttributeUpdatedListener > foundListener; { std::lock_guard< std::mutex > lock(m_mutexAttributeUpdatedListeners); auto it = m_attributeUpdatedListeners.find(attrKeyValPair.first); if (it != m_attributeUpdatedListeners.end()) { foundListener = it->second; } } if (foundListener) { (*foundListener)(attrKeyValPair.second, requstAttrs.at(attrKeyValPair.first)); } } return !replaced.empty(); }
TEST(RCSResponseTest, SetResponseHasMethodSetBySetter) { RCSSetResponse::AcceptanceMethod method = RCSSetResponse::AcceptanceMethod::ACCEPT; RCSSetResponse response = RCSSetResponse::defaultAction().setAcceptanceMethod(method); EXPECT_EQ(method, response.getAcceptanceMethod()); }