本文整理汇总了C++中LLPointer::getIdentifier方法的典型用法代码示例。如果您正苦于以下问题:C++ LLPointer::getIdentifier方法的具体用法?C++ LLPointer::getIdentifier怎么用?C++ LLPointer::getIdentifier使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类LLPointer
的用法示例。
在下文中一共展示了LLPointer::getIdentifier方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: onSelectSavedLogin
// static
void LLPanelLogin::onSelectSavedLogin(LLUICtrl*, void*)
{
// *NOTE: The paramters for this method are ignored.
LL_INFOS("AppInit") << "onSelectSavedLogin" << LL_ENDL;
LLComboBox* combo = sInstance->getChild<LLComboBox>("username_combo");
LLSD combo_val = combo->getSelectedValue();
if (combo_val.isUndefined())
{
combo_val = combo->getValue();
}
std::string credName = combo_val.asString();
if(combo_val.asString().find("@")<0)
return;
// if they've selected another grid, we should load the credentials
// for that grid and set them to the UI.
if(sInstance)
{
LLPointer<LLCredential> credential = gSecAPIHandler->loadCredential(credName);
if(credential->getIdentifier()["first_name"].asString().size()<=0 && credential->getIdentifier()["account_name"].asString().size()<=0 ) return;
LLSD authenticator = credential->getAuthenticator();
sInstance->setFields(credential);
}
}
示例2: setFields
// static
void LLPanelLogin::setFields(LLPointer<LLCredential> credential,
BOOL remember)
{
if (!sInstance)
{
llwarns << "Attempted fillFields with no login view shown" << llendl;
return;
}
LL_INFOS("Credentials") << "Setting login fields to " << *credential << LL_ENDL;
LLSD identifier = credential->getIdentifier();
if((std::string)identifier["type"] == "agent")
{
std::string firstname = identifier["first_name"].asString();
std::string lastname = identifier["last_name"].asString();
std::string login_id = firstname;
if (!lastname.empty() && lastname != "Resident")
{
// support traditional First Last name SLURLs
login_id += " ";
login_id += lastname;
}
sInstance->getChild<LLComboBox>("username_combo")->setLabel(login_id);
}
else if((std::string)identifier["type"] == "account")
{
sInstance->getChild<LLComboBox>("username_combo")->setLabel((std::string)identifier["account_name"]);
}
else
{
sInstance->getChild<LLComboBox>("username_combo")->setLabel(std::string());
}
sInstance->addFavoritesToStartLocation();
// if the password exists in the credential, set the password field with
// a filler to get some stars
LLSD authenticator = credential->getAuthenticator();
LL_INFOS("Credentials") << "Setting authenticator field " << authenticator["type"].asString() << LL_ENDL;
if(authenticator.isMap() &&
authenticator.has("secret") &&
(authenticator["secret"].asString().size() > 0))
{
// This is a MD5 hex digest of a password.
// We don't actually use the password input field,
// fill it with MAX_PASSWORD characters so we get a
// nice row of asterixes.
const std::string filler("123456789!123456");
sInstance->getChild<LLUICtrl>("password_edit")->setValue(std::string("123456789!123456"));
}
else
{
sInstance->getChild<LLUICtrl>("password_edit")->setValue(std::string());
}
sInstance->getChild<LLUICtrl>("remember_check")->setValue(remember);
}
示例3: saveCredential
// Save the credential to the credential store. Save the authenticator also if requested.
// That feature is used to implement the 'remember password' functionality.
void LLSecAPIBasicHandler::saveCredential(LLPointer<LLCredential> cred, bool save_authenticator)
{
LLSD credential = LLSD::emptyMap();
credential["identifier"] = cred->getIdentifier();
if (save_authenticator)
{
credential["authenticator"] = cred->getAuthenticator();
}
LL_DEBUGS("SECAPI") << "Saving Credential " << cred->getGrid() << ":" << cred->userID() << " " << save_authenticator << LL_ENDL;
setProtectedData("credential", cred->getGrid(), credential);
//*TODO: If we're saving Agni credentials, should we write the
// credentials to the legacy password.dat/etc?
_writeProtectedData();
}
示例4: setFields
// static
void FSPanelLogin::setFields(LLPointer<LLCredential> credential, bool from_startup /* = false*/)
{
if (!sInstance)
{
LL_WARNS() << "Attempted setFields with no login view shown" << LL_ENDL;
return;
}
LL_INFOS("Credentials") << "Setting login fields to " << *credential << LL_ENDL;
std::string login_id;
LLSD identifier = credential->getIdentifier();
if (identifier["type"].asString() == "agent")
{
std::string firstname = identifier["first_name"].asString();
std::string lastname = identifier["last_name"].asString();
login_id = firstname;
if (!lastname.empty() && lastname != "Resident")
{
// support traditional First Last name SLURLs
login_id += " ";
login_id += lastname;
}
}
const std::string cred_name = credential->getCredentialName();
LLComboBox* username_combo = sInstance->getChild<LLComboBox>("username_combo");
if (!username_combo->selectByValue(cred_name))
{
username_combo->setTextEntry(login_id);
sInstance->mPasswordModified = TRUE;
sInstance->getChild<LLButton>("remove_user_btn")->setEnabled(FALSE);
}
sInstance->mPreviousUsername = username_combo->getValue().asString();
sInstance->addFavoritesToStartLocation();
// if the password exists in the credential, set the password field with
// a filler to get some stars
LLSD authenticator = credential->getAuthenticator();
LL_INFOS("Credentials") << "Setting authenticator field " << authenticator["type"].asString() << LL_ENDL;
bool remember;
if (authenticator.isMap() &&
authenticator.has("secret") &&
(authenticator["secret"].asString().size() > 0))
{
// This is a MD5 hex digest of a password.
// We don't actually use the password input field,
// fill it with MAX_PASSWORD_SL characters so we get a
// nice row of asterixes.
const std::string filler("123456789!123456");
sInstance->getChild<LLLineEditor>("password_edit")->setText(filler);
remember = true;
// We run into this case, if a user tries to login with a newly entered password
// and the login fails with some error (except wrong credentials). In that case,
// LLStartUp will bring us back here and provide us with the credentials that were
// used for the login. In case we don't have credentials already saved for this
// username OR the password hash is different, we have to set the password back
// to the one the user entered or we will end up trying to login with the filler
// as password!
if (from_startup)
{
LLPointer<LLCredential> stored_credential = gSecAPIHandler->loadCredential(cred_name);
if (stored_credential->getAuthenticator().size() == 0 ||
(stored_credential->getAuthenticator().has("secret") && stored_credential->getAuthenticator()["secret"].asString() != authenticator["secret"].asString()))
{
sInstance->getChild<LLLineEditor>("password_edit")->setText(sPassword);
sInstance->mPasswordModified = TRUE;
}
}
}
else
{
sInstance->getChild<LLLineEditor>("password_edit")->clear();
remember = false;
}
if (from_startup)
{
remember = gSavedSettings.getBOOL("RememberPassword");
}
sInstance->getChild<LLUICtrl>("remember_check")->setValue(remember);
}
示例5: setFields
// static
void LLPanelLogin::setFields(LLPointer<LLCredential> credential)
{
if (!sInstance)
{
llwarns << "Attempted fillFields with no login view shown" << llendl;
return;
}
LL_INFOS("Credentials") << "Setting login fields to " << *credential << LL_ENDL;
LLSD identifier = credential->getIdentifier();
if((std::string)identifier["type"] == "agent")
{
std::string firstname = identifier["first_name"].asString();
std::string lastname = identifier["last_name"].asString();
std::string login_id = firstname;
if (!lastname.empty() && lastname != "Resident")
{
// support traditional First Last name SLURLs
login_id += " ";
login_id += lastname;
}
}
std::string credName = credential->getCredentialName();
sInstance->getChild<LLComboBox>("username_combo")->selectByValue(credName);
// <FS:AW FIRE-6492 Firestorm doesn't always honor the start location option>
/* if(identifier.has("startlocation")){
llinfos << "Settings startlocation to: " << identifier["startlocation"].asString() << llendl;
LLStartUp::setStartSLURL(LLSLURL(identifier["startlocation"].asString()));
updateLocationCombo(false);
}
*/
// </FS:AW FIRE-6492 Firestorm doesn't always honor the start location option>
sInstance->addFavoritesToStartLocation();
// if the password exists in the credential, set the password field with
// a filler to get some stars
LLSD authenticator = credential->getAuthenticator();
LL_INFOS("Credentials") << "Setting authenticator field " << authenticator["type"].asString() << LL_ENDL;
bool remember;
if(authenticator.isMap() &&
authenticator.has("secret") &&
(authenticator["secret"].asString().size() > 0))
{
// This is a MD5 hex digest of a password.
// We don't actually use the password input field,
// fill it with MAX_PASSWORD characters so we get a
// nice row of asterixes.
const std::string filler("123456789!123456");
sInstance->getChild<LLUICtrl>("password_edit")->setValue(std::string("123456789!123456"));
remember=true;
}
else
{
sInstance->getChild<LLUICtrl>("password_edit")->setValue(std::string());
remember=false;
}
sInstance->getChild<LLUICtrl>("remember_check")->setValue(remember);
U32 arobase = credName.find("@");
if (arobase != -1 && arobase +1 < credName.length())
credName = credName.substr(arobase+1, credName.length() - arobase - 1);
// <SA: opensim>
if(LLGridManager::getInstance()->getGrid() == credName)
{
return;
}
try
{
LLGridManager::getInstance()->setGridChoice(credName);
}
catch (LLInvalidGridName ex)
{
// do nothing
}
// </SA: opensim>
//updateServerCombo();
// grid changed so show new splash screen (possibly)
updateServer();
updateLoginPanelLinks();
sInstance->addFavoritesToStartLocation();
}