]> git.ipfire.org Git - thirdparty/squid.git/blame - src/auth/basic/Scheme.h
Source Format Enforcement (#1234)
[thirdparty/squid.git] / src / auth / basic / Scheme.h
CommitLineData
f5691f9c 1/*
b8ae064d 2 * Copyright (C) 1996-2023 The Squid Software Foundation and contributors
f5691f9c 3 *
bbc27441
AJ
4 * Squid software is distributed under GPLv2+ license and includes
5 * contributions from numerous individuals and organizations.
6 * Please see the COPYING and CONTRIBUTORS files for details.
f5691f9c 7 */
8
d6374be6
AJ
9#ifndef SQUID_AUTH_BASIC_SCHEME_H
10#define SQUID_AUTH_BASIC_SCHEME_H
f5691f9c 11
a0026a6c
AJ
12#if HAVE_AUTH_MODULE_BASIC
13
602d9612 14#include "auth/Scheme.h"
f5691f9c 15
c6cf8dee
AJ
16namespace Auth
17{
18namespace Basic
19{
d6374be6 20
63be0a78 21/// \ingroup AuthAPI
c6cf8dee 22class Scheme : public Auth::Scheme
f5691f9c 23{
24
25public:
c6cf8dee 26 static Auth::Scheme::Pointer GetInstance();
d6374be6 27 Scheme() {};
337b9aa4 28 ~Scheme() override {}
f5691f9c 29
30 /* per scheme */
337b9aa4
AR
31 char const *type() const override;
32 void shutdownCleanup() override;
33 Auth::SchemeConfig *createConfig() override;
f5691f9c 34 /* Not implemented */
d6374be6
AJ
35 Scheme(Scheme const &);
36 Scheme &operator=(Scheme const &);
f5691f9c 37
38private:
c6cf8dee 39 static Auth::Scheme::Pointer _instance;
f5691f9c 40};
41
d6374be6
AJ
42} // namespace Basic
43} // namespace Auth
44
a0026a6c 45#endif /* HAVE_AUTH_MODULE_BASIC */
d6374be6 46#endif /* SQUID_AUTH_BASIC_SCHEME_H */
f53969cc 47