diff options
author | David Kalnischkies <kalnischkies@gmail.com> | 2010-06-26 13:29:24 +0200 |
---|---|---|
committer | David Kalnischkies <kalnischkies@gmail.com> | 2010-06-26 13:29:24 +0200 |
commit | 1f2933a8de0f3a26f51b4a0a2112cbdfd4461e9b (patch) | |
tree | f3276dc8ca70d3648af677251943b789a5c55abb /apt-pkg/contrib/configuration.h | |
parent | 9f9717fa6bca13817cf9cf84d513e59d258af154 (diff) |
- use the new MatchAgainstConfig for the DefaultRootSetFunc
* apt-pkg/contrib/configuration.{cc,h}:
- add a wrapper to match strings against configurable regex patterns
Diffstat (limited to 'apt-pkg/contrib/configuration.h')
-rw-r--r-- | apt-pkg/contrib/configuration.h | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/apt-pkg/contrib/configuration.h b/apt-pkg/contrib/configuration.h index 2494c1d7c..cbe18e4e5 100644 --- a/apt-pkg/contrib/configuration.h +++ b/apt-pkg/contrib/configuration.h @@ -28,7 +28,7 @@ #ifndef PKGLIB_CONFIGURATION_H #define PKGLIB_CONFIGURATION_H - +#include <regex.h> #include <string> #include <vector> @@ -104,6 +104,23 @@ class Configuration Configuration(const Item *Root); Configuration(); ~Configuration(); + + /** \brief match a string against a configurable list of patterns */ + class MatchAgainstConfig + { + std::vector<regex_t *> patterns; + + public: + MatchAgainstConfig(char const * Config); + virtual ~MatchAgainstConfig(); + + /** \brief Returns \b true for a string matching one of the patterns */ + bool Match(char const * str) const; + bool Match(std::string const &str) const { return Match(str.c_str()); }; + + /** \brief returns if the matcher setup was successful */ + bool wasConstructedSuccessfully() const { return patterns.empty() == false; } + }; }; extern Configuration *_config; |