]> git.ipfire.org Git - thirdparty/squid.git/blame - src/ident/AclIdent.h
Maintenance: bump astyle to 2.04 and quieten report
[thirdparty/squid.git] / src / ident / AclIdent.h
CommitLineData
8000a965 1/*
bbc27441 2 * Copyright (C) 1996-2014 The Squid Software Foundation and contributors
8000a965 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.
8000a965 7 */
8
4daaf3cb
AJ
9#ifndef SQUID_IDENT_ACLIDENT_H
10#define SQUID_IDENT_ACLIDENT_H
11
4daaf3cb 12#if USE_IDENT
63be0a78 13
3ad63615 14#include "acl/Checklist.h"
3841dd46 15
63be0a78 16/// \ingroup ACLAPI
62e76326 17class IdentLookup : public ACLChecklist::AsyncState
18{
19
20public:
3841dd46 21 static IdentLookup *Instance();
22 virtual void checkForAsync(ACLChecklist *)const;
62e76326 23
24private:
3841dd46 25 static IdentLookup instance_;
26 static void LookupDone(const char *ident, void *data);
27};
8000a965 28
3ad63615
AR
29#include "acl/Acl.h"
30#include "acl/Data.h"
e1f7507e 31
63be0a78 32/// \ingroup ACLAPI
62e76326 33class ACLIdent : public ACL
34{
b001e822 35 MEMPROXY_CLASS(ACLIdent);
8000a965 36
741c2986 37public:
5dee515e 38 ACLIdent(ACLData<char const *> *newData, char const *);
3841dd46 39 ACLIdent (ACLIdent const &old);
40 ACLIdent & operator= (ACLIdent const &rhs);
8000a965 41 ~ACLIdent();
62e76326 42
8000a965 43 virtual char const *typeString() const;
8000a965 44 virtual void parse();
45 virtual bool isProxyAuth() const {return true;}
62e76326 46
8000a965 47 virtual int match(ACLChecklist *checklist);
dfad5100 48 virtual SBufList dump() const;
4b0f5de8 49 virtual bool empty () const;
3841dd46 50 virtual ACL *clone()const;
62e76326 51
52private:
3841dd46 53 static Prototype UserRegistryProtoype;
54 static ACLIdent UserRegistryEntry_;
55 static Prototype RegexRegistryProtoype;
56 static ACLIdent RegexRegistryEntry_;
5dee515e 57 ACLData<char const *> *data;
3841dd46 58 char const *type_;
8000a965 59};
60
4daaf3cb
AJ
61#endif /* USE_IDENT */
62#endif /* SQUID_IDENT_ACLIDENT_H */