-
/*
- * $Id: ACLMaxUserIP.h,v 1.2 2003/03/10 11:13:36 robertc Exp $
+ * $Id$
*
*
* SQUID Web Proxy Cache http://www.squid-cache.org/
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
- *
+ *
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
- *
+ *
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.
#ifndef SQUID_ACLMAXUSERIP_H
#define SQUID_ACLMAXUSERIP_H
+
#include "ACL.h"
#include "ACLChecklist.h"
+/// \ingroup ACLAPI
class ACLMaxUserIP : public ACL
{
public:
- void *operator new(size_t);
- void operator delete(void *);
- virtual void deleteSelf() const;
+ MEMPROXY_CLASS(ACLMaxUserIP);
ACLMaxUserIP(char const *);
ACLMaxUserIP(ACLMaxUserIP const &);
virtual void parse();
virtual int match(ACLChecklist *checklist);
virtual wordlist *dump() const;
+ virtual bool empty () const;
virtual bool valid () const;
virtual bool requiresRequest() const {return true;}
+ int getMaximum() const {return maximum;}
+
+ int getStrict() const {return flags.strict;}
+
private:
- static MemPool *Pool;
static Prototype RegistryProtoype;
static ACLMaxUserIP RegistryEntry_;
- int match(auth_user_request_t *, struct in_addr const &);
+ int match(AuthUserRequest *, IpAddress const &);
char const *class_;
- size_t maximum;
+ int maximum;
- struct Flags
- {
- Flags() : strict(0){}
+ struct Flags {
+ Flags() : strict(0) {}
-unsigned int strict:
- 1;
- }
-
- flags;
+ unsigned int strict:1;
+ } flags;
};
+MEMPROXY_CLASS_INLINE(ACLMaxUserIP) /**DOCS_NOSEMI*/
+
#endif /* SQUID_ACLMAXUSERIP_H */