]>
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_NTLM_SCHEME_H |
10 | #define SQUID_AUTH_NTLM_SCHEME_H | |
f5691f9c | 11 | |
602d9612 | 12 | #include "auth/Scheme.h" |
f5691f9c | 13 | |
c6cf8dee AJ |
14 | namespace Auth |
15 | { | |
16 | namespace Ntlm | |
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 */ | |
d6374be6 | 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: | |
5817ee13 AJ |
39 | /** |
40 | * Main instance of this authentication Scheme. | |
41 | * NULL when the scheme is not being used. | |
42 | */ | |
c6cf8dee | 43 | static Auth::Scheme::Pointer _instance; |
f5691f9c | 44 | }; |
45 | ||
d6374be6 AJ |
46 | } // namespace Ntlm |
47 | } // namespace Auth | |
48 | ||
49 | #endif /* SQUID_AUTH_NTLM_SCHEME_H */ | |
f53969cc | 50 |