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"
19 class ACLMaxUserIP
: public ACL
22 MEMPROXY_CLASS(ACLMaxUserIP
);
24 ACLMaxUserIP(char const *theClass
);
25 ACLMaxUserIP(ACLMaxUserIP
const &old
);
27 ACLMaxUserIP
&operator =(ACLMaxUserIP
const &);
29 virtual ACL
*clone() const;
30 virtual char const *typeString() const;
32 virtual int match(ACLChecklist
*cl
);
33 virtual SBufList
dump() const;
34 virtual bool empty() const;
35 virtual bool valid() const;
36 virtual bool requiresRequest() const {return true;}
38 int getMaximum() const {return maximum
;}
40 bool getStrict() const {return flags
.isSet(ACL_F_STRICT
);}
43 static Prototype RegistryProtoype
;
44 static ACLMaxUserIP RegistryEntry_
;
45 static ACLFlag SupportedFlags
[];
47 int match(Auth::UserRequest::Pointer auth_user_request
, Ip::Address
const &src_addr
);
52 MEMPROXY_CLASS_INLINE(ACLMaxUserIP
);
55 #endif /* SQUID_ACLMAXUSERIP_H */