void EtherLoginNotifier::ParseInfoFromData(QPair<Data::AvatarInfo*, Data::WorldInfo*> data_cards) { QMap<QString, QString> info_map; switch (data_cards.second->worldType()) { case WorldTypes::OpenSim: { Data::OpenSimWorld *ow = dynamic_cast<Data::OpenSimWorld*>(data_cards.second); info_map["WorldAddress"] = ow->loginUrl().toString(); break; } } switch (data_cards.first->avatarType()) { case AvatarTypes::OpenSim: { Data::OpenSimAvatar *oa = dynamic_cast<Data::OpenSimAvatar*>(data_cards.first); info_map["Username"] = oa->userName(); info_map["Password"] = oa->password(); emit StartOsLogin(info_map); break; } case AvatarTypes::RealXtend: { Data::RealXtendAvatar *ra = dynamic_cast<Data::RealXtendAvatar*>(data_cards.first); info_map["Username"] = ra->account(); info_map["Password"] = ra->password(); info_map["AuthenticationAddress"] = ra->authUrl().toString(); emit StartRexLogin(info_map); break; } } }
void OpenSimLoginHandler::SetLoginNotifier(QObject *notifier) { connect(notifier, SIGNAL( StartOsLogin(QMap<QString, QString>) ), SLOT( ProcessOpenSimLogin(QMap<QString, QString>) )); connect(notifier, SIGNAL( StartRexLogin(QMap<QString, QString>) ), SLOT( ProcessRealXtendLogin(QMap<QString, QString>) )); connect(notifier, SIGNAL( Quit() ), SLOT( Quit() )); }
void EtherLoginNotifier::EmitRealXtendLogin(QMap<QString, QString> info_map) { emit StartRexLogin(info_map); }