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 #include "components/cloud_devices/common/printer_description.h" | 5 #include "components/cloud_devices/common/printer_description.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 | 8 |
9 #include <algorithm> | 9 #include <algorithm> |
| 10 #include <memory> |
| 11 #include <utility> |
10 | 12 |
11 #include "base/json/json_reader.h" | 13 #include "base/json/json_reader.h" |
12 #include "base/json/json_writer.h" | 14 #include "base/json/json_writer.h" |
13 #include "base/macros.h" | 15 #include "base/macros.h" |
14 #include "base/strings/string_util.h" | 16 #include "base/strings/string_util.h" |
15 #include "base/values.h" | 17 #include "base/values.h" |
16 #include "components/cloud_devices/common/cloud_device_description_consts.h" | 18 #include "components/cloud_devices/common/cloud_device_description_consts.h" |
17 #include "components/cloud_devices/common/description_items_inl.h" | 19 #include "components/cloud_devices/common/description_items_inl.h" |
18 | 20 |
19 namespace cloud_devices { | 21 namespace cloud_devices { |
(...skipping 707 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
727 option->push_back(new_interval); | 729 option->push_back(new_interval); |
728 } | 730 } |
729 return true; | 731 return true; |
730 } | 732 } |
731 | 733 |
732 static void Save(const PageRange& option, base::DictionaryValue* dict) { | 734 static void Save(const PageRange& option, base::DictionaryValue* dict) { |
733 if (!option.empty()) { | 735 if (!option.empty()) { |
734 base::ListValue* list = new base::ListValue; | 736 base::ListValue* list = new base::ListValue; |
735 dict->Set(kPageRangeInterval, list); | 737 dict->Set(kPageRangeInterval, list); |
736 for (size_t i = 0; i < option.size(); ++i) { | 738 for (size_t i = 0; i < option.size(); ++i) { |
737 base::DictionaryValue* interval = new base::DictionaryValue; | 739 std::unique_ptr<base::DictionaryValue> interval( |
738 list->Append(interval); | 740 new base::DictionaryValue); |
739 interval->SetInteger(kPageRangeStart, option[i].start); | 741 interval->SetInteger(kPageRangeStart, option[i].start); |
740 if (option[i].end < kMaxPageNumber) | 742 if (option[i].end < kMaxPageNumber) |
741 interval->SetInteger(kPageRangeEnd, option[i].end); | 743 interval->SetInteger(kPageRangeEnd, option[i].end); |
| 744 list->Append(std::move(interval)); |
742 } | 745 } |
743 } | 746 } |
744 } | 747 } |
745 }; | 748 }; |
746 | 749 |
747 class MediaTraits : public ItemsTraits<kOptionMediaSize> { | 750 class MediaTraits : public ItemsTraits<kOptionMediaSize> { |
748 public: | 751 public: |
749 static bool IsValid(const Media& option) { return option.IsValid(); } | 752 static bool IsValid(const Media& option) { return option.IsValid(); } |
750 | 753 |
751 static bool Load(const base::DictionaryValue& dict, Media* option) { | 754 static bool Load(const base::DictionaryValue& dict, Media* option) { |
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
832 template class TicketItem<Margins, MarginsTraits>; | 835 template class TicketItem<Margins, MarginsTraits>; |
833 template class TicketItem<Dpi, DpiTraits>; | 836 template class TicketItem<Dpi, DpiTraits>; |
834 template class TicketItem<FitToPageType, FitToPageTraits>; | 837 template class TicketItem<FitToPageType, FitToPageTraits>; |
835 template class TicketItem<Media, MediaTraits>; | 838 template class TicketItem<Media, MediaTraits>; |
836 template class TicketItem<int32_t, CopiesTraits>; | 839 template class TicketItem<int32_t, CopiesTraits>; |
837 template class TicketItem<PageRange, PageRangeTraits>; | 840 template class TicketItem<PageRange, PageRangeTraits>; |
838 template class TicketItem<bool, CollateTraits>; | 841 template class TicketItem<bool, CollateTraits>; |
839 template class TicketItem<bool, ReverseTraits>; | 842 template class TicketItem<bool, ReverseTraits>; |
840 | 843 |
841 } // namespace cloud_devices | 844 } // namespace cloud_devices |
OLD | NEW |