Modified LLUserAuth to use LLSD when parsing login response parameters. Will facilitate easy wholesale replacement with LLLoginInstance in the future.

This commit is contained in:
Shyotl
2012-03-30 09:51:30 -05:00
parent 0453971a85
commit e7bcf1e9ec
11 changed files with 656 additions and 748 deletions

View File

@@ -101,35 +101,19 @@ void LLEventInfo::unpack(LLMessageSystem *msg)
}
// static
void LLEventInfo::loadCategories(LLUserAuth::options_t event_options)
void LLEventInfo::loadCategories(LLSD& event_options)
{
LLUserAuth::options_t::iterator resp_it;
for (resp_it = event_options.begin();
resp_it != event_options.end();
++resp_it)
for(LLSD::array_const_iterator resp_it = event_options.beginArray(),
end = event_options.endArray(); resp_it != end; ++resp_it)
{
const LLUserAuth::response_t& response = *resp_it;
LLUserAuth::response_t::const_iterator option_it;
S32 cat_id = 0;
option_it = response.find("category_id");
if (option_it != response.end())
LLSD name = (*resp_it)["category_name"];
if(name.isDefined())
{
cat_id = atoi(option_it->second.c_str());
LLSD id = (*resp_it)["category_id"];
if(id.isDefined())
{
LLEventInfo::sCategories[id.asInteger()] = name.asString();
}
}
else
{
continue;
}
// Add the category id/name pair
option_it = response.find("category_name");
if (option_it != response.end())
{
LLEventInfo::sCategories[cat_id] = option_it->second;
}
}
}