summaryrefslogtreecommitdiff
path: root/apt-pkg/contrib/configuration.h
diff options
context:
space:
mode:
authorDavid Kalnischkies <kalnischkies@gmail.com>2010-06-26 13:29:24 +0200
committerDavid Kalnischkies <kalnischkies@gmail.com>2010-06-26 13:29:24 +0200
commit1f2933a8de0f3a26f51b4a0a2112cbdfd4461e9b (patch)
treef3276dc8ca70d3648af677251943b789a5c55abb /apt-pkg/contrib/configuration.h
parent9f9717fa6bca13817cf9cf84d513e59d258af154 (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.h19
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;