#ifndef CHROME_BROWSER_ASH_KERBEROS_KERBEROS_CREDENTIALS_MANAGER_FACTORY_H_
#define CHROME_BROWSER_ASH_KERBEROS_KERBEROS_CREDENTIALS_MANAGER_FACTORY_H_
#include "chrome/browser/profiles/profile_keyed_service_factory.h"
#include "components/keyed_service/core/keyed_service.h"
namespace base {
template <typename T>
class NoDestructor;
}
namespace ash {
class KerberosCredentialsManager;
class KerberosCredentialsManagerFactory : public ProfileKeyedServiceFactory {
public:
static KerberosCredentialsManager* GetExisting(
content::BrowserContext* context);
static KerberosCredentialsManager* Get(content::BrowserContext* context);
static KerberosCredentialsManagerFactory* GetInstance();
KerberosCredentialsManagerFactory(const KerberosCredentialsManagerFactory&) =
delete;
KerberosCredentialsManagerFactory& operator=(
const KerberosCredentialsManagerFactory&) = delete;
private:
friend base::NoDestructor<KerberosCredentialsManagerFactory>;
KerberosCredentialsManagerFactory();
~KerberosCredentialsManagerFactory() override;
bool ServiceIsCreatedWithBrowserContext() const override;
std::unique_ptr<KeyedService> BuildServiceInstanceForBrowserContext(
content::BrowserContext* context) const override;
};
}
#endif