OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // Make sure stdint.h includes SIZE_MAX. (See C89, p259, footnote 221.) | 5 // Make sure stdint.h includes SIZE_MAX. (See C89, p259, footnote 221.) |
6 #ifndef __STDC_LIMIT_MACROS | 6 #ifndef __STDC_LIMIT_MACROS |
7 #define __STDC_LIMIT_MACROS 1 | 7 #define __STDC_LIMIT_MACROS 1 |
8 #endif | 8 #endif |
9 | 9 |
10 #include "components/domain_reliability/config.h" | 10 #include "components/domain_reliability/config.h" |
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
87 } | 87 } |
88 | 88 |
89 DomainReliabilityConfig::DomainReliabilityConfig() : valid_until(0.0) {} | 89 DomainReliabilityConfig::DomainReliabilityConfig() : valid_until(0.0) {} |
90 DomainReliabilityConfig::~DomainReliabilityConfig() {} | 90 DomainReliabilityConfig::~DomainReliabilityConfig() {} |
91 | 91 |
92 // static | 92 // static |
93 scoped_ptr<const DomainReliabilityConfig> DomainReliabilityConfig::FromJSON( | 93 scoped_ptr<const DomainReliabilityConfig> DomainReliabilityConfig::FromJSON( |
94 const base::StringPiece& json) { | 94 const base::StringPiece& json) { |
95 scoped_ptr<base::Value> value(base::JSONReader::Read(json)); | 95 scoped_ptr<base::Value> value(base::JSONReader::Read(json)); |
96 base::JSONValueConverter<DomainReliabilityConfig> converter; | 96 base::JSONValueConverter<DomainReliabilityConfig> converter; |
97 DomainReliabilityConfig* config = new DomainReliabilityConfig(); | 97 scoped_ptr<DomainReliabilityConfig> config(new DomainReliabilityConfig()); |
98 | 98 |
99 // If we can parse and convert the JSON into a valid config, return that. | 99 // If we can parse and convert the JSON into a valid config, return that. |
100 if (value && converter.Convert(*value, config) && config->IsValid()) | 100 if (value && converter.Convert(*value, config.get()) && config->IsValid()) |
101 return scoped_ptr<const DomainReliabilityConfig>(config); | 101 return config.Pass(); |
102 else | 102 return scoped_ptr<const DomainReliabilityConfig>(); |
103 return scoped_ptr<const DomainReliabilityConfig>(); | |
104 } | 103 } |
105 | 104 |
106 bool DomainReliabilityConfig::IsValid() const { | 105 bool DomainReliabilityConfig::IsValid() const { |
107 if (valid_until == 0.0 || domain.empty() || | 106 if (valid_until == 0.0 || domain.empty() || |
108 resources.empty() || collectors.empty()) { | 107 resources.empty() || collectors.empty()) { |
109 return false; | 108 return false; |
110 } | 109 } |
111 | 110 |
112 for (size_t i = 0; i < resources.size(); ++i) { | 111 for (size_t i = 0; i < resources.size(); ++i) { |
113 if (!resources[i]->IsValid()) | 112 if (!resources[i]->IsValid()) |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
149 &DomainReliabilityConfig::valid_until); | 148 &DomainReliabilityConfig::valid_until); |
150 converter->RegisterStringField("monitored_domain", | 149 converter->RegisterStringField("monitored_domain", |
151 &DomainReliabilityConfig::domain); | 150 &DomainReliabilityConfig::domain); |
152 converter->RegisterRepeatedMessage("monitored_resources", | 151 converter->RegisterRepeatedMessage("monitored_resources", |
153 &DomainReliabilityConfig::resources); | 152 &DomainReliabilityConfig::resources); |
154 converter->RegisterRepeatedMessage("collectors", | 153 converter->RegisterRepeatedMessage("collectors", |
155 &DomainReliabilityConfig::collectors); | 154 &DomainReliabilityConfig::collectors); |
156 } | 155 } |
157 | 156 |
158 } // namespace domain_reliability | 157 } // namespace domain_reliability |
OLD | NEW |