2 * Copyright (C) 1996-2014 The Squid Software Foundation and contributors
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.
9 #ifndef SQUID_ACLMAXUSERIP_H
10 #define SQUID_ACLMAXUSERIP_H
15 #include "acl/Checklist.h"
16 #include "auth/UserRequest.h"
18 class ACLMaxUserIP
: public ACL
20 MEMPROXY_CLASS(ACLMaxUserIP
);
23 ACLMaxUserIP(char const *theClass
);
24 ACLMaxUserIP(ACLMaxUserIP
const &old
);
26 ACLMaxUserIP
&operator =(ACLMaxUserIP
const &);
28 virtual ACL
*clone() const;
29 virtual char const *typeString() const;
31 virtual int match(ACLChecklist
*cl
);
32 virtual SBufList
dump() const;
33 virtual bool empty() const;
34 virtual bool valid() const;
35 virtual bool requiresRequest() const {return true;}
37 int getMaximum() const {return maximum
;}
39 bool getStrict() const {return flags
.isSet(ACL_F_STRICT
);}
42 static Prototype RegistryProtoype
;
43 static ACLMaxUserIP RegistryEntry_
;
44 static ACLFlag SupportedFlags
[];
46 int match(Auth::UserRequest::Pointer auth_user_request
, Ip::Address
const &src_addr
);
52 #endif /* SQUID_ACLMAXUSERIP_H */