]> git.ipfire.org Git - thirdparty/squid.git/blobdiff - src/DelayUser.h
Source Format Enforcement (#532)
[thirdparty/squid.git] / src / DelayUser.h
index ac575b14d5fd262d7d0606e1b214571ab3cee90c..944b0d4e3831cb990521c8e9ca0f034e1f0543c5 100644 (file)
@@ -1,76 +1,48 @@
-
 /*
- * $Id: DelayUser.h,v 1.7 2003/08/04 22:14:40 robertc Exp $
- *
- * DEBUG: section 77    Delay Pools
- * AUTHOR: Robert Collins <robertc@squid-cache.org>
- *
- * SQUID Web Proxy Cache          http://www.squid-cache.org/
- * ----------------------------------------------------------
- *
- *  Squid is the result of efforts by numerous individuals from
- *  the Internet community; see the CONTRIBUTORS file for full
- *  details.   Many organizations have provided support for Squid's
- *  development; see the SPONSORS file for full details.  Squid is
- *  Copyrighted (C) 2001 by the Regents of the University of
- *  California; see the COPYRIGHT file for full details.  Squid
- *  incorporates software developed and/or copyrighted by other
- *  sources; see the CREDITS file for full details.
- *
- *  This program is free software; you can redistribute it and/or modify
- *  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.
+ * Copyright (C) 1996-2020 The Squid Software Foundation and contributors
  *
- *
- * Copyright (c) 2003, Robert Collins <robertc@squid-cache.org>
+ * Squid software is distributed under GPLv2+ license and includes
+ * contributions from numerous individuals and organizations.
+ * Please see the COPYING and CONTRIBUTORS files for details.
  */
 
-#include "config.h"
+/* DEBUG: section 77    Delay Pools */
 
 #ifndef DELAYUSER_H
 #define DELAYUSER_H
 
-#include "squid.h"
-#include "authenticate.h"
+#if USE_DELAY_POOLS && USE_AUTH
+
+#include "auth/Gadgets.h"
+#include "auth/User.h"
 #include "CompositePoolNode.h"
-#include "DelayIdComposite.h"
 #include "DelayBucket.h"
+#include "DelayIdComposite.h"
 #include "DelaySpec.h"
-#include "Array.h"
 #include "splay.h"
 
+/// \ingroup DelayPoolsAPI
 class DelayUserBucket : public RefCountable
 {
+    MEMPROXY_CLASS(DelayUserBucket);
 
 public:
     typedef RefCount<DelayUserBucket> Pointer;
-    void *operator new(size_t);
-    void operator delete (void *);
 
     void stats(StoreEntry *)const;
-    DelayUserBucket(AuthUser *);
+    DelayUserBucket(Auth::User::Pointer);
     ~DelayUserBucket();
     DelayBucket theBucket;
-    AuthUser *authUser;
+    Auth::User::Pointer authUser;
 };
 
+/// \ingroup DelayPoolsAPI
 class DelayUser : public CompositePoolNode
 {
+    MEMPROXY_CLASS(DelayUser);
 
 public:
     typedef RefCount<DelayUser> Pointer;
-    void *operator new(size_t);
-    void operator delete (void *);
     DelayUser();
     virtual ~DelayUser();
     virtual void stats(StoreEntry * sentry);
@@ -82,13 +54,13 @@ public:
 
 private:
 
-class Id:public DelayIdComposite
+    /// \ingroup DelayPoolsInternal
+    class Id:public DelayIdComposite
     {
+        MEMPROXY_CLASS(DelayUser::Id);
 
     public:
-        void *operator new(size_t);
-        void operator delete (void *);
-        Id (RefCount<DelayUser>, AuthUser *);
+        Id(RefCount<DelayUser>, Auth::User::Pointer);
         ~Id();
         virtual int bytesWanted (int min, int max) const;
         virtual void bytesIn(int qty);
@@ -104,4 +76,6 @@ class Id:public DelayIdComposite
     Splay<DelayUserBucket::Pointer> buckets;
 };
 
+#endif /* USE_DELAY_POOLS && USE_AUTH */
 #endif /* DELAYUSER_H */
+