summaryrefslogtreecommitdiffstats
path: root/components/url_matcher/string_pattern.h
diff options
context:
space:
mode:
authorjoaodasilva@chromium.org <joaodasilva@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-12-13 20:36:53 +0000
committerjoaodasilva@chromium.org <joaodasilva@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-12-13 20:36:53 +0000
commit716c016d95025a8f4d42baab6639b9dc90498f2d (patch)
tree9efb703e070ecbfb1b73bfac9b350a3b81af14f6 /components/url_matcher/string_pattern.h
parent32c90a98f03fa68da4ba3d97a8e56ca70e92a07d (diff)
downloadchromium_src-716c016d95025a8f4d42baab6639b9dc90498f2d.zip
chromium_src-716c016d95025a8f4d42baab6639b9dc90498f2d.tar.gz
chromium_src-716c016d95025a8f4d42baab6639b9dc90498f2d.tar.bz2
Move extensions/common/matcher into components/url_matcher.
This allows using that code in builds that don't include extensions without having to introduce layering exceptions. This is meant for inclusion on the iOS build. BUG=271392 TBR=brettw@chromium.org Review URL: https://codereview.chromium.org/113903002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@240736 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'components/url_matcher/string_pattern.h')
-rw-r--r--components/url_matcher/string_pattern.h43
1 files changed, 43 insertions, 0 deletions
diff --git a/components/url_matcher/string_pattern.h b/components/url_matcher/string_pattern.h
new file mode 100644
index 0000000..ca5f223
--- /dev/null
+++ b/components/url_matcher/string_pattern.h
@@ -0,0 +1,43 @@
+// Copyright 2013 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef COMPONENTS_URL_MATCHER_STRING_PATTERN_H_
+#define COMPONENTS_URL_MATCHER_STRING_PATTERN_H_
+
+#include <string>
+#include <vector>
+
+#include "base/basictypes.h"
+#include "components/url_matcher/url_matcher_export.h"
+
+namespace url_matcher {
+
+// An individual pattern of a substring or regex matcher. A pattern consists of
+// a string (interpreted as individual bytes, no character encoding) and an
+// identifier.
+// IDs are returned to the caller of SubstringSetMatcher::Match() or
+// RegexMatcher::MatchURL() to help the caller to figure out what
+// patterns matched a string. All patterns registered to a matcher
+// need to contain unique IDs.
+class URL_MATCHER_EXPORT StringPattern {
+ public:
+ typedef int ID;
+
+ StringPattern(const std::string& pattern, ID id);
+ ~StringPattern();
+ const std::string& pattern() const { return pattern_; }
+ ID id() const { return id_; }
+
+ bool operator<(const StringPattern& rhs) const;
+
+ private:
+ std::string pattern_;
+ ID id_;
+
+ DISALLOW_COPY_AND_ASSIGN(StringPattern);
+};
+
+} // namespace url_matcher
+
+#endif // COMPONENTS_URL_MATCHER_STRING_PATTERN_H_