void YelpBusinessQuery::HandleWebResponseComplete(Eegeo::Web::IWebResponse& webResponse) { Eegeo_ASSERT(!webResponse.IsCancelled()); size_t resultSize = webResponse.GetBodyData().size(); const std::string& responseString = resultSize > 0 ? std::string(reinterpret_cast<char const*>(&(webResponse.GetBodyData().front())), resultSize) : "<empty>"; bool parseSuccess = false; Search::SdkModel::SearchResultModel result; if (webResponse.IsSucceeded()) { parseSuccess = m_yelpBusinessParser.TryParse(responseString, result); } else { Eegeo_TTY("YelpBusinessQuery failed: %s", responseString.c_str()); } const Search::SdkModel::IdentitySearchCallbackData& callbackData = parseSuccess ? Search::SdkModel::IdentitySearchCallbackData::CreateSucceeded(result) : Search::SdkModel::IdentitySearchCallbackData::CreateFailed(result); m_completionCallback(callbackData); Eegeo_DELETE this; }
void EegeoSearchQuery::OnWebResponseReceived(Eegeo::Web::IWebResponse& webResponse) { if(webResponse.IsSucceeded()) { size_t resultSize = webResponse.GetBodyData().size(); m_responseString = std::string(reinterpret_cast<char const*>(&(webResponse.GetBodyData().front())), resultSize); m_isSuccess = true; } m_completionCallback(); }