]> git.ipfire.org Git - thirdparty/squid.git/blame - src/auth/digest/Scheme.h
SourceFormat Enforcement
[thirdparty/squid.git] / src / auth / digest / Scheme.h
CommitLineData
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_DIGEST_SCHEME_H
10#define SQUID_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
16namespace Auth
17{
18namespace Digest
19{
d6374be6 20
63be0a78 21/// \ingroup AuthSchemeAPI
22/// \ingroup AuthAPI
c6cf8dee 23class Scheme : public Auth::Scheme
f5691f9c 24{
25
26public:
c6cf8dee 27 static Auth::Scheme::Pointer GetInstance();
d6374be6
AJ
28 Scheme() {};
29 virtual ~Scheme() {}
f5691f9c 30
31 /* per scheme */
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
40private:
c6cf8dee 41 static Auth::Scheme::Pointer _instance;
56a49fda 42
f5691f9c 43};
44
d6374be6
AJ
45} // namespace Digest
46} // namespace Auth
47
a0026a6c 48#endif /* HAVE_AUTH_MODULE_DIGEST */
d6374be6 49#endif /* SQUID_AUTH_DIGEST_SCHEME_H */
f53969cc 50