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 #ifndef COMPONENTS_CLOUD_DEVICES_CAPABILITY_INTERFACES_H_ | 5 #ifndef COMPONENTS_CLOUD_DEVICES_CAPABILITY_INTERFACES_H_ |
6 #define COMPONENTS_CLOUD_DEVICES_CAPABILITY_INTERFACES_H_ | 6 #define COMPONENTS_CLOUD_DEVICES_CAPABILITY_INTERFACES_H_ |
7 | 7 |
8 // Defines common templates that could be used to create device specific | 8 // Defines common templates that could be used to create device specific |
9 // capabilities and print tickets. | 9 // capabilities and print tickets. |
10 | 10 |
11 #include <vector> | 11 #include <vector> |
12 | 12 |
13 #include "base/logging.h" | 13 #include "base/logging.h" |
14 | 14 #include "base/numerics/safe_conversions.h" |
15 #include "components/cloud_devices/cloud_device_description.h" | 15 #include "components/cloud_devices/cloud_device_description.h" |
16 | 16 |
17 namespace base { | 17 namespace base { |
18 class DictionaryValue; | 18 class DictionaryValue; |
19 } | 19 } |
20 | 20 |
21 namespace cloud_devices { | 21 namespace cloud_devices { |
22 | 22 |
23 // All traits below specify how to serialize and validate capabilities and | 23 // All traits below specify how to serialize and validate capabilities and |
24 // ticket items. | 24 // ticket items. |
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
126 } | 126 } |
127 | 127 |
128 void AddOption(const Option& option) { | 128 void AddOption(const Option& option) { |
129 AddDefaultOption(option, false); | 129 AddDefaultOption(option, false); |
130 } | 130 } |
131 | 131 |
132 void AddDefaultOption(const Option& option, bool is_default) { | 132 void AddDefaultOption(const Option& option, bool is_default) { |
133 if (is_default) { | 133 if (is_default) { |
134 DCHECK_EQ(default_idx_, -1); | 134 DCHECK_EQ(default_idx_, -1); |
135 // Point to the last element. | 135 // Point to the last element. |
136 default_idx_ = static_cast<int>(size()); | 136 default_idx_ = base::checked_cast<int>(size()); |
137 } | 137 } |
138 options_.push_back(option); | 138 options_.push_back(option); |
139 } | 139 } |
140 | 140 |
141 private: | 141 private: |
142 typedef std::vector<Option> OptionVector; | 142 typedef std::vector<Option> OptionVector; |
143 | 143 |
144 OptionVector options_; | 144 OptionVector options_; |
145 int default_idx_; | 145 int default_idx_; |
146 | 146 |
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
222 | 222 |
223 private: | 223 private: |
224 Option value_; | 224 Option value_; |
225 | 225 |
226 DISALLOW_COPY_AND_ASSIGN(TicketItem); | 226 DISALLOW_COPY_AND_ASSIGN(TicketItem); |
227 }; | 227 }; |
228 | 228 |
229 } // namespace cloud_devices | 229 } // namespace cloud_devices |
230 | 230 |
231 #endif // COMPONENTS_CLOUD_DEVICES_CAPABILITY_INTERFACES_H_ | 231 #endif // COMPONENTS_CLOUD_DEVICES_CAPABILITY_INTERFACES_H_ |
OLD | NEW |