Simplifies the collection interface

This commit is contained in:
Felipe Zimmerle 2016-07-05 09:47:27 -03:00
parent f43704dbef
commit e231503bc9
No known key found for this signature in database
GPG Key ID: E6DFB08CE8B11277
3 changed files with 36 additions and 81 deletions

View File

@ -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<const Variable *> *l) = 0;
std::string compartment, std::vector<const Variable *> *l) {
std::string nkey = var + "::" + compartment;
resolveSingleMatch(nkey, l);
}
virtual void resolveMultiMatches(const std::string& var,
std::string compartment, std::vector<const Variable *> *l) = 0;
std::string compartment, std::vector<const Variable *> *l) {
std::string nkey = var + "::" + compartment;
resolveMultiMatches(nkey, l);
}
virtual void resolveRegularExpression(const std::string& var,
std::string compartment,
std::vector<const Variable *> *l) = 0;
std::vector<const Variable *> *l) {
std::string nkey = var + "::" + compartment;
resolveRegularExpression(nkey, l);
}
};
} // namespace collection

View File

@ -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<const Variable *> *l) {
std::string nkey = var + "::" + compartment;
resolveSingleMatch(nkey, l);
}
void InMemoryPerProcess::resolveMultiMatches(const std::string& var,
std::string compartment, std::vector<const Variable *> *l) {
std::string nkey = var + "::" + compartment;
resolveMultiMatches(nkey, l);
}
void InMemoryPerProcess::resolveRegularExpression(const std::string& var,
std::string compartment, std::vector<const Variable *> *l) {
std::string nkey = var + "::" + compartment;
resolveRegularExpression(nkey, l);
}
} // namespace backend
} // namespace collection
} // namespace modsecurity

View File

@ -90,23 +90,6 @@ class InMemoryPerProcess :
std::vector<const Variable *> *l) override;
void resolveRegularExpression(const std::string& var,
std::vector<const Variable *> *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<const Variable *> *l) override;
void resolveMultiMatches(const std::string& var, std::string compartment,
std::vector<const Variable *> *l) override;
void resolveRegularExpression(const std::string& var,
std::string compartment, std::vector<const Variable *> *l) override;
};
} // namespace backend