Пример #1
0
void LoginManager::onLineReceived(const QString& aLine, Client &aClient)
{
    if(state_ == ELoginStateWelcome)
	{
        processWelcomeScreen(aClient);
		return;
	}
	else if(state_ == ELoginStateLogin)
    {
        processLoginState(aLine, aClient);
        return;
    }
    if(aLine.length() == 0)
        return;
    if (state_ == ELoginStateNewAccountName)
    {
        processNewAccountName(aLine, aClient);
        return;
    }
    else if (state_ == ELoginStateNewPassword)
    {
        processNewPassword(aLine, aClient);
        return;
    }
    else if (state_ == ELoginStateConfirmPassword)
    {
        processPasswordConfirmation(aLine, aClient);
        return;
    }
	else if (state_ == ELoginStatePassword)
	{
		processPasswordState(aLine, aClient);
	}
    //TODO account menu
}
Пример #2
0
void LoginState::processInput(const std::string& input, std::shared_ptr<Connection> connection) {
    int state = m_state_map[connection->GetID()];
    switch(state) {
        case USERNAME:
            processUsername(input, connection);
            break;
        case PASSWORD:
            processPassword(input, connection);
            break;
        case NEWPASSWORD:
            processNewPassword(input, connection);
            break;
        case NEWACCOUNT:
            processNewAccount(input, connection);
            break;
        default:
            break;
    }
}