]>
Commit | Line | Data |
---|---|---|
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 | ||
ff9d9458 FC |
9 | #ifndef SQUID_SRC_AUTH_DIGEST_SCHEME_H |
10 | #define SQUID_SRC_AUTH_DIGEST_SCHEME_H | |
f5691f9c | 11 | |
a0026a6c AJ |
12 | #if HAVE_AUTH_MODULE_DIGEST |
13 | ||
602d9612 | 14 | #include "auth/Scheme.h" |
f5691f9c | 15 | |
c6cf8dee AJ |
16 | namespace Auth |
17 | { | |
18 | namespace Digest | |
19 | { | |
d6374be6 | 20 | |
63be0a78 | 21 | /// \ingroup AuthAPI |
c6cf8dee | 22 | class Scheme : public Auth::Scheme |
f5691f9c | 23 | { |
24 | ||
25 | public: | |
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; | |
5817ee13 | 34 | |
f5691f9c | 35 | /* Not implemented */ |
d6374be6 AJ |
36 | Scheme(Scheme const &); |
37 | Scheme &operator=(Scheme const &); | |
f5691f9c | 38 | |
39 | private: | |
c6cf8dee | 40 | static Auth::Scheme::Pointer _instance; |
56a49fda | 41 | |
f5691f9c | 42 | }; |
43 | ||
d6374be6 AJ |
44 | } // namespace Digest |
45 | } // namespace Auth | |
46 | ||
a0026a6c | 47 | #endif /* HAVE_AUTH_MODULE_DIGEST */ |
ff9d9458 | 48 | #endif /* SQUID_SRC_AUTH_DIGEST_SCHEME_H */ |
f53969cc | 49 |