]> git.ipfire.org Git - thirdparty/squid.git/blame - src/auth/ntlm/Scheme.h
SourceFormat Enforcement
[thirdparty/squid.git] / src / auth / ntlm / Scheme.h
CommitLineData
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
14namespace Auth
15{
16namespace Ntlm
17{
d6374be6 18
63be0a78 19/// \ingroup AuthSchemeAPI
20/// \ingroup AuthAPI
c6cf8dee 21class Scheme : public Auth::Scheme
f5691f9c 22{
23
24public:
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
38private:
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