Pin Chrome's shortcut to the Win10 Start menu on install and OS upgrade.
[chromium-blink-merge.git] / net / tools / tld_cleanup / tld_cleanup_util.h
blob5900206bac8612de26f8f5444e97f8d9a006552f
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.
5 #ifndef NET_TOOLS_TLD_CLEANUP_TLD_CLEANUP_UTIL_H_
6 #define NET_TOOLS_TLD_CLEANUP_TLD_CLEANUP_UTIL_H_
8 #include <map>
9 #include <string>
11 namespace base {
12 class FilePath;
13 } // namespace base
15 namespace net {
16 namespace tld_cleanup {
18 struct Rule {
19 bool exception;
20 bool wildcard;
21 bool is_private;
24 typedef std::map<std::string, Rule> RuleMap;
26 // These result codes should be in increasing order of severity.
27 typedef enum {
28 kSuccess,
29 kWarning,
30 kError,
31 } NormalizeResult;
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);
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);
45 } // namespace tld_cleanup
46 } // namespace net
48 #endif // NET_TOOLS_TLD_CLEANUP_TLD_CLEANUP_UTIL_H_