From e231503bc997116aafa561ba32970f230fdca1c9 Mon Sep 17 00:00:00 2001 From: Felipe Zimmerle Date: Tue, 5 Jul 2016 09:47:27 -0300 Subject: [PATCH] Simplifies the collection interface --- headers/modsecurity/collection/collection.h | 44 ++++++++++++--- .../backend/in_memory-per_process.cc | 56 ------------------- .../backend/in_memory-per_process.h | 17 ------ 3 files changed, 36 insertions(+), 81 deletions(-) diff --git a/headers/modsecurity/collection/collection.h b/headers/modsecurity/collection/collection.h index 8ba0b46f..94e8c9dc 100644 --- a/headers/modsecurity/collection/collection.h +++ b/headers/modsecurity/collection/collection.h @@ -61,25 +61,53 @@ class Collection { virtual void store(std::string key, std::string compartment, - std::string value) = 0; + std::string value) { + std::string nkey = key + "::" + compartment; + store(nkey, value); + } virtual bool storeOrUpdateFirst(const std::string &key, - std::string compartment, const std::string &value) = 0; + std::string compartment, const std::string &value) { + std::string nkey = key + "::" + compartment; + return storeOrUpdateFirst(nkey, value); + } virtual bool updateFirst(const std::string &key, std::string compartment, - const std::string &value) = 0; + const std::string &value) { + std::string nkey = key + "::" + compartment; + return updateFirst(nkey, value); + } - virtual void del(const std::string& key, std::string compartment) = 0; + virtual void del(const std::string& key, std::string compartment) { + std::string nkey = key + "::" + compartment; + del(nkey); + } virtual std::string* resolveFirst(const std::string& var, - std::string compartment) = 0; + std::string compartment) { + std::string nkey = var + "::" + compartment; + return resolveFirst(nkey); + } + virtual void resolveSingleMatch(const std::string& var, - std::string compartment, std::vector *l) = 0; + std::string compartment, std::vector *l) { + std::string nkey = var + "::" + compartment; + resolveSingleMatch(nkey, l); + } + virtual void resolveMultiMatches(const std::string& var, - std::string compartment, std::vector *l) = 0; + std::string compartment, std::vector *l) { + std::string nkey = var + "::" + compartment; + resolveMultiMatches(nkey, l); + } + virtual void resolveRegularExpression(const std::string& var, std::string compartment, - std::vector *l) = 0; + std::vector *l) { + std::string nkey = var + "::" + compartment; + resolveRegularExpression(nkey, l); + } + }; } // namespace collection diff --git a/src/collection/backend/in_memory-per_process.cc b/src/collection/backend/in_memory-per_process.cc index f56acdc5..bffa1866 100644 --- a/src/collection/backend/in_memory-per_process.cc +++ b/src/collection/backend/in_memory-per_process.cc @@ -123,62 +123,6 @@ std::string* InMemoryPerProcess::resolveFirst(const std::string& var) { } -void InMemoryPerProcess::store(std::string key, std::string compartment, - std::string value) { - std::string nkey = key + "::" + compartment; - store(nkey, value); -} - - -bool InMemoryPerProcess::storeOrUpdateFirst(const std::string &key, - std::string compartment, const std::string &value) { - std::string nkey = key + "::" + compartment; - return storeOrUpdateFirst(nkey, value); -} - - -bool InMemoryPerProcess::updateFirst(const std::string &key, - std::string compartment, const std::string &value) { - std::string nkey = key + "::" + compartment; - return updateFirst(nkey, value); -} - - -void InMemoryPerProcess::del(const std::string& key, - std::string compartment) { - std::string nkey = key + "::" + compartment; - del(nkey); -} - - -std::string* InMemoryPerProcess::resolveFirst(const std::string& var, - std::string compartment) { - std::string nkey = var + "::" + compartment; - return resolveFirst(nkey); -} - - -void InMemoryPerProcess::resolveSingleMatch(const std::string& var, - std::string compartment, std::vector *l) { - std::string nkey = var + "::" + compartment; - resolveSingleMatch(nkey, l); -} - - -void InMemoryPerProcess::resolveMultiMatches(const std::string& var, - std::string compartment, std::vector *l) { - std::string nkey = var + "::" + compartment; - resolveMultiMatches(nkey, l); -} - - -void InMemoryPerProcess::resolveRegularExpression(const std::string& var, - std::string compartment, std::vector *l) { - std::string nkey = var + "::" + compartment; - resolveRegularExpression(nkey, l); -} - - } // namespace backend } // namespace collection } // namespace modsecurity diff --git a/src/collection/backend/in_memory-per_process.h b/src/collection/backend/in_memory-per_process.h index bca65824..7c9a6335 100644 --- a/src/collection/backend/in_memory-per_process.h +++ b/src/collection/backend/in_memory-per_process.h @@ -90,23 +90,6 @@ class InMemoryPerProcess : std::vector *l) override; void resolveRegularExpression(const std::string& var, std::vector *l) override; - - void store(std::string key, std::string compartment, - std::string value) override; - bool storeOrUpdateFirst(const std::string &key, std::string compartment, - const std::string &value) override; - bool updateFirst(const std::string &key, std::string compartment, - const std::string &value) override; - void del(const std::string& key, std::string compartment) override; - - std::string* resolveFirst(const std::string& var, - std::string compartment) override; - void resolveSingleMatch(const std::string& var, std::string compartment, - std::vector *l) override; - void resolveMultiMatches(const std::string& var, std::string compartment, - std::vector *l) override; - void resolveRegularExpression(const std::string& var, - std::string compartment, std::vector *l) override; }; } // namespace backend