Files
UltimMC_Launcher/api/logic/minecraft/auth/AuthProviders.cpp
Max 167b6bd405 Dehardcode account providers (#38)
* Dehardcode account providers

* Fix crash on creation

* Add dynamic 'add account dialog' provider selector

* Fix typo and add newlines

* Rename loginType to provider

* Rename MojangAccount to Account and MojangAccountList to AccountList

* Fix json save error
2021-06-14 12:51:25 +03:00

38 lines
895 B
C++

#include "AuthProviders.h"
#include "providers/ElybyAuthProvider.h"
#include "providers/DummyAuthProvider.h"
#include "providers/MojangAuthProvider.h"
#define REGISTER_AUTH_PROVIDER(Provider) \
{ \
AuthProviderPtr provider(new Provider()); \
m_providers.insert(provider->id(), provider); \
}
namespace AuthProviders
{
QMap<QString, AuthProviderPtr> m_providers;
void load()
{
REGISTER_AUTH_PROVIDER(ElybyAuthProvider);
REGISTER_AUTH_PROVIDER(DummyAuthProvider);
REGISTER_AUTH_PROVIDER(MojangAuthProvider);
}
AuthProviderPtr lookup(QString id)
{
qDebug() << "LOOKUP AUTH_PROVIDER" << id;
if (m_providers.contains(id))
return m_providers.value(id);
qDebug() << "Lookup failed";
return nullptr;
}
QList<AuthProviderPtr> getAll() {
return m_providers.values();
}
}