Home | History | Annotate | Download | only in tld_cleanup
      1 // Copyright 2013 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 NET_TOOLS_TLD_CLEANUP_TLD_CLEANUP_UTIL_H_
      6 #define NET_TOOLS_TLD_CLEANUP_TLD_CLEANUP_UTIL_H_
      7 
      8 #include <map>
      9 #include <string>
     10 
     11 namespace base {
     12 class FilePath;
     13 }  // namespace base
     14 
     15 namespace net {
     16 namespace tld_cleanup {
     17 
     18 struct Rule {
     19   bool exception;
     20   bool wildcard;
     21   bool is_private;
     22 };
     23 
     24 typedef std::map<std::string, Rule> RuleMap;
     25 
     26 // These result codes should be in increasing order of severity.
     27 typedef enum {
     28   kSuccess,
     29   kWarning,
     30   kError,
     31 } NormalizeResult;
     32 
     33 // Loads the file described by |in_filename|, converts it to the desired format
     34 // (see the file comments in tld_cleanup.cc), and saves it into |out_filename|.
     35 // Returns the most severe of the result codes encountered when normalizing the
     36 // rules.
     37 NormalizeResult NormalizeFile(const base::FilePath& in_filename,
     38                               const base::FilePath& out_filename);
     39 
     40 // Parses |data|, and converts it to the internal data format RuleMap. Returns
     41 // the most severe of the result codes encountered when normalizing the rules.
     42 NormalizeResult NormalizeDataToRuleMap(const std::string data,
     43                                        RuleMap* rules);
     44 
     45 }  // namespace tld_cleanup
     46 }  // namespace net
     47 
     48 #endif  // NET_TOOLS_TLD_CLEANUP_TLD_CLEANUP_UTIL_H_
     49