// static bool LLAvatarActions::handleRemove(const LLSD& notification, const LLSD& response) { S32 option = LLNotificationsUtil::getSelectedOption(notification, response); const LLSD& ids = notification["payload"]["ids"]; for (LLSD::array_const_iterator itr = ids.beginArray(); itr != ids.endArray(); ++itr) { LLUUID id = itr->asUUID(); const LLRelationship* ip = LLAvatarTracker::instance().getBuddyInfo(id); if (ip) { switch (option) { case 0: // YES if( ip->isRightGrantedTo(LLRelationship::GRANT_MODIFY_OBJECTS)) { LLAvatarTracker::instance().empower(id, FALSE); LLAvatarTracker::instance().notifyObservers(); } LLAvatarTracker::instance().terminateBuddy(id); LLAvatarTracker::instance().notifyObservers(); gInventory.addChangedMask(LLInventoryObserver::LABEL | LLInventoryObserver::CALLING_CARD, LLUUID::null); gInventory.notifyObservers(); break; case 1: // NO default: LL_INFOS() << "No removal performed." << LL_ENDL; break; } } } return false; }
void LLIMMgr::loadIgnoreGroup() { std::string filename = gDirUtilp->getExpandedFilename(LL_PATH_PER_SL_ACCOUNT, "ignore_groups.xml"); LLSD settings_llsd; llifstream file; file.open(filename); if (file.is_open()) { // llinfos << "loading group chat ignore from " << filename << "..." << llendl; LLSDSerialize::fromXML(settings_llsd, file); mIgnoreGroupList.clear(); for(LLSD::array_const_iterator iter = settings_llsd.beginArray(); iter != settings_llsd.endArray(); ++iter) { // llinfos << "added " << iter->asUUID() // << " to group chat ignore list" << llendl; mIgnoreGroupList.push_back( iter->asUUID() ); } } else { // llinfos << "can't load " << filename // << " (probably it doesn't exist yet)" << llendl; } }
/*virtual*/ void httpCompleted() { LLSD experiences = getContent()["experience_keys"]; LLSD::array_const_iterator it = experiences.beginArray(); for( /**/ ; it != experiences.endArray(); ++it) { const LLSD& row = *it; LLUUID public_key = row[EXPERIENCE_ID].asUUID(); LL_DEBUGS("ExperienceCache") << "Received result for " << public_key << " display '" << row[LLExperienceCache::NAME].asString() << "'" << LL_ENDL ; processExperience(public_key, row); } LLSD error_ids = getContent()["error_ids"]; LLSD::array_const_iterator errIt = error_ids.beginArray(); for( /**/ ; errIt != error_ids.endArray() ; ++errIt ) { LLUUID id = errIt->asUUID(); LLSD exp; exp[EXPIRES]=DEFAULT_EXPIRATION; exp[EXPERIENCE_ID] = id; exp[PROPERTIES]=PROPERTY_INVALID; exp[MISSING]=true; exp[QUOTA] = DEFAULT_QUOTA; processExperience(id, exp); LL_WARNS("ExperienceCache") << "LLExperienceResponder::result() error result for " << id << LL_ENDL ; } LL_DEBUGS("ExperienceCache") << sCache.size() << " cached experiences" << LL_ENDL; }
void LLPanelGroupExperiences::setExperienceList(const LLSD& experiences) { if (hasString("no_experiences")) { mExperiencesList->setNoItemsCommentText(getString("no_experiences")); } mExperiencesList->clear(); LLSD::array_const_iterator it = experiences.beginArray(); for ( /**/ ; it != experiences.endArray(); ++it) { LLUUID public_key = it->asUUID(); LLExperienceItem* item = new LLExperienceItem(); item->init(public_key); mExperiencesList->addItem(item, public_key); } }