]> git.ipfire.org Git - thirdparty/squid.git/blame - src/auth/digest/Scheme.h
Source Format Enforcement (#532)
[thirdparty/squid.git] / src / auth / digest / Scheme.h
CommitLineData
f5691f9c 1/*
77b1029d 2 * Copyright (C) 1996-2020 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 AuthAPI
c6cf8dee 22class Scheme : public Auth::Scheme
f5691f9c 23{
24
25public:
c6cf8dee 26 static Auth::Scheme::Pointer GetInstance();
d6374be6
AJ
27 Scheme() {};
28 virtual ~Scheme() {}
f5691f9c 29
30 /* per scheme */
31 virtual char const *type () const;
c6cf8dee 32 virtual void shutdownCleanup();
dc79fed8 33 virtual Auth::SchemeConfig *createConfig();
5817ee13 34
f5691f9c 35 /* Not implemented */
d6374be6
AJ
36 Scheme(Scheme const &);
37 Scheme &operator=(Scheme const &);
f5691f9c 38
39private:
c6cf8dee 40 static Auth::Scheme::Pointer _instance;
56a49fda 41
f5691f9c 42};
43
d6374be6
AJ
44} // namespace Digest
45} // namespace Auth
46
a0026a6c 47#endif /* HAVE_AUTH_MODULE_DIGEST */
d6374be6 48#endif /* SQUID_AUTH_DIGEST_SCHEME_H */
f53969cc 49