]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Added variant of registration function which takes in an object rather than
authorKinkie <kinkie@squid-cache.org>
Fri, 4 Jul 2008 02:49:40 +0000 (04:49 +0200)
committerKinkie <kinkie@squid-cache.org>
Fri, 4 Jul 2008 02:49:40 +0000 (04:49 +0200)
a legacy C function.

src/CacheManager.h
src/cache_manager.cc

index c8151fc4f1b19721084f491ed525004a820cc964..f2c18b590db99f95d2d4ae67d27ba233eb75fc6e 100644 (file)
@@ -55,7 +55,6 @@ public:
      virtual ~CacheManagerAction();
      CacheManagerAction(char const *anAction, char const *aDesc, unsigned int isPwReq, unsigned int isAtomic);
 
-     CacheManagerAction *next;
 };
 
 /**
@@ -108,6 +107,7 @@ public:
     virtual ~CacheManager() {}
 
     void registerAction(char const * action, char const * desc, OBJH * handler, int pw_req_flag, int atomic);
+    void registerAction(CacheManagerAction *anAction);
     CacheManagerAction * findAction(char const * action);
 
     void Start(int fd, HttpRequest * request, StoreEntry * entry);
index 0595448557aaf85e6579e72a11c0165c83c139bc..2445818d12bbc68d3bb57febab86b030e3be6efa 100644 (file)
@@ -75,21 +75,27 @@ CacheManager::CacheManager()
 void
 CacheManager::registerAction(char const * action, char const * desc, OBJH * handler, int pw_req_flag, int atomic)
 {
-    CacheManagerActionLegacy *a;
+    debugs(16, 3, "CacheManager::registerAction: registering legacy " <<  action);
+    registerAction(new CacheManagerActionLegacy(action,desc,pw_req_flag,atomic,handler));
+}
 
+void
+CacheManager::registerAction(CacheManagerAction *anAction)
+{
+    char *action = anAction->action;
     if (findAction(action) != NULL) {
         debugs(16, 2, "CacheManager::registerAction: Duplicate '" << action << "'. Skipping.");
         return;
     }
 
     assert (strstr (" ", action) == NULL);
-    a = new CacheManagerActionLegacy(action,desc,pw_req_flag,atomic,handler);
 
-    *ActionsList += a;
+    *ActionsList += anAction;
 
     debugs(16, 3, "CacheManager::registerAction: registered " <<  action);
 }
 
+
 /// \ingroup CacheManagerInternal
 CacheManagerAction *
 CacheManager::findAction(char const * action)