]>
Commit | Line | Data |
---|---|---|
f5691f9c | 1 | /* |
bbc27441 | 2 | * Copyright (C) 1996-2014 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_DIGEST_SCHEME_H |
10 | #define SQUID_AUTH_DIGEST_SCHEME_H | |
f5691f9c | 11 | |
602d9612 | 12 | #include "auth/Scheme.h" |
f5691f9c | 13 | |
c6cf8dee AJ |
14 | namespace Auth |
15 | { | |
16 | namespace Digest | |
17 | { | |
d6374be6 | 18 | |
63be0a78 | 19 | /// \ingroup AuthSchemeAPI |
20 | /// \ingroup AuthAPI | |
c6cf8dee | 21 | class Scheme : public Auth::Scheme |
f5691f9c | 22 | { |
23 | ||
24 | public: | |
c6cf8dee | 25 | static Auth::Scheme::Pointer GetInstance(); |
d6374be6 AJ |
26 | Scheme() {}; |
27 | virtual ~Scheme() {} | |
f5691f9c | 28 | |
29 | /* per scheme */ | |
30 | virtual char const *type () const; | |
c6cf8dee | 31 | virtual void shutdownCleanup(); |
9f3d2b2e | 32 | virtual Auth::Config *createConfig(); |
5817ee13 | 33 | |
f5691f9c | 34 | /* Not implemented */ |
d6374be6 AJ |
35 | Scheme(Scheme const &); |
36 | Scheme &operator=(Scheme const &); | |
f5691f9c | 37 | |
38 | private: | |
c6cf8dee | 39 | static Auth::Scheme::Pointer _instance; |
56a49fda AJ |
40 | |
41 | /** | |
42 | * Remove all cached user credentials from circulation. | |
43 | * Intended for use during shutdown procedure. | |
44 | * After calling this all newly received credentials must be re-authenticated. | |
45 | */ | |
46 | static void PurgeCredentialsCache(void); | |
f5691f9c | 47 | }; |
48 | ||
d6374be6 AJ |
49 | } // namespace Digest |
50 | } // namespace Auth | |
51 | ||
52 | #endif /* SQUID_AUTH_DIGEST_SCHEME_H */ | |
f53969cc | 53 |