1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef CHROME_COMMON_CONTENT_SETTINGS_PATTERN_PARSER_H_ 6 #define CHROME_COMMON_CONTENT_SETTINGS_PATTERN_PARSER_H_ 7 8 #include <string> 9 10 #include "base/basictypes.h" 11 #include "chrome/common/content_settings_pattern.h" 12 13 namespace content_settings { 14 15 struct PatternParts; 16 17 class PatternParser { 18 public: 19 static void Parse(const std::string& pattern_spec, 20 ContentSettingsPattern::BuilderInterface* builder); 21 22 static std::string ToString( 23 const ContentSettingsPattern::PatternParts& parts); 24 25 private: 26 static const char* kDomainWildcard; 27 28 static const size_t kDomainWildcardLength; 29 30 static const char* kSchemeWildcard; 31 32 static const char* kHostWildcard; 33 34 static const char* kPortWildcard; 35 36 static const char* kPathWildcard; 37 38 DISALLOW_COPY_AND_ASSIGN(PatternParser); 39 }; 40 41 } // namespace content_settings 42 43 #endif // CHROME_COMMON_CONTENT_SETTINGS_PATTERN_PARSER_H_ 44