]>
Commit | Line | Data |
---|---|---|
f5691f9c | 1 | /* |
ef57eb7b | 2 | * Copyright (C) 1996-2016 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_NTLM_SCHEME_H |
10 | #define SQUID_AUTH_NTLM_SCHEME_H | |
f5691f9c | 11 | |
a0026a6c AJ |
12 | #if HAVE_AUTH_MODULE_NTLM |
13 | ||
602d9612 | 14 | #include "auth/Scheme.h" |
f5691f9c | 15 | |
c6cf8dee AJ |
16 | namespace Auth |
17 | { | |
18 | namespace Ntlm | |
19 | { | |
d6374be6 | 20 | |
63be0a78 | 21 | /// \ingroup AuthSchemeAPI |
22 | /// \ingroup AuthAPI | |
c6cf8dee | 23 | class Scheme : public Auth::Scheme |
f5691f9c | 24 | { |
25 | ||
26 | public: | |
c6cf8dee | 27 | static Auth::Scheme::Pointer GetInstance(); |
d6374be6 AJ |
28 | Scheme() {}; |
29 | virtual ~Scheme() {}; | |
f5691f9c | 30 | |
31 | /* per scheme */ | |
d6374be6 | 32 | virtual char const *type() const; |
c6cf8dee | 33 | virtual void shutdownCleanup(); |
9f3d2b2e | 34 | virtual Auth::Config *createConfig(); |
5817ee13 | 35 | |
f5691f9c | 36 | /* Not implemented */ |
d6374be6 AJ |
37 | Scheme (Scheme const &); |
38 | Scheme &operator=(Scheme const &); | |
f5691f9c | 39 | |
40 | private: | |
5817ee13 AJ |
41 | /** |
42 | * Main instance of this authentication Scheme. | |
43 | * NULL when the scheme is not being used. | |
44 | */ | |
c6cf8dee | 45 | static Auth::Scheme::Pointer _instance; |
f5691f9c | 46 | }; |
47 | ||
d6374be6 AJ |
48 | } // namespace Ntlm |
49 | } // namespace Auth | |
50 | ||
a0026a6c | 51 | #endif /* HAVE_AUTH_MODULE_NTLM */ |
d6374be6 | 52 | #endif /* SQUID_AUTH_NTLM_SCHEME_H */ |
f53969cc | 53 |