Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(494)

Side by Side Diff: services/memory_infra/public/cpp/memory_infra_traits.cc

Issue 2621143002: memory-infra: Introduce mojo interfaces and service stubs (Closed)
Patch Set: review Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2017 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 #include "services/memory_infra/public/cpp/memory_infra_traits.h"
6
7 #include "base/trace_event/memory_dump_request_args.h"
8 #include "services/memory_infra/public/interfaces/memory_infra.mojom.h"
9
10 namespace mojo {
11
12 //static
13 memory_infra::mojom::DumpType
14 EnumTraits<memory_infra::mojom::DumpType,
15 base::trace_event::MemoryDumpType>::ToMojom(
16 base::trace_event::MemoryDumpType type) {
17 switch (type) {
Primiano Tucci (use gerrit) 2017/01/16 15:11:04 maybe add a comment to memory_dump_request_args.h
chiniforooshan1 2017/01/16 18:14:48 Done.
18 case base::trace_event::MemoryDumpType::PERIODIC_INTERVAL:
19 return memory_infra::mojom::DumpType::PERIODIC_INTERVAL;
20 case base::trace_event::MemoryDumpType::EXPLICITLY_TRIGGERED:
21 return memory_infra::mojom::DumpType::EXPLICITLY_TRIGGERED;
22 case base::trace_event::MemoryDumpType::PEAK_MEMORY_USAGE:
23 return memory_infra::mojom::DumpType::PEAK_MEMORY_USAGE;
24 default:
25 NOTREACHED() << "Invalid type: " << static_cast<uint8_t>(type);
26 // This should not be reached. Just return a random value.
27 return memory_infra::mojom::DumpType::PEAK_MEMORY_USAGE;
Primiano Tucci (use gerrit) 2017/01/16 15:11:04 I don't know if there is a pattern here but silent
chiniforooshan1 2017/01/16 18:14:48 Done.
28 }
29 }
30
31 //static
32 bool EnumTraits<memory_infra::mojom::DumpType,
33 base::trace_event::MemoryDumpType>::FromMojom(
34 memory_infra::mojom::DumpType input,
35 base::trace_event::MemoryDumpType* out) {
36 switch (input) {
37 case memory_infra::mojom::DumpType::PERIODIC_INTERVAL:
38 *out = base::trace_event::MemoryDumpType::PERIODIC_INTERVAL;
39 break;
40 case memory_infra::mojom::DumpType::EXPLICITLY_TRIGGERED:
41 *out = base::trace_event::MemoryDumpType::EXPLICITLY_TRIGGERED;
42 break;
43 case memory_infra::mojom::DumpType::PEAK_MEMORY_USAGE:
44 *out = base::trace_event::MemoryDumpType::PEAK_MEMORY_USAGE;
45 break;
46 default:
47 NOTREACHED() << "Invalid type: " << static_cast<uint8_t>(input);
48 // This should not be reached. Just return a random value.
49 return false;
50 }
51 return true;
52 }
53
54 //static
55 memory_infra::mojom::LevelOfDetail
56 EnumTraits<memory_infra::mojom::LevelOfDetail,
57 base::trace_event::MemoryDumpLevelOfDetail>::ToMojom(
58 base::trace_event::MemoryDumpLevelOfDetail level_of_detail) {
59 switch (level_of_detail) {
60 case base::trace_event::MemoryDumpLevelOfDetail::BACKGROUND:
61 return memory_infra::mojom::LevelOfDetail::BACKGROUND;
62 case base::trace_event::MemoryDumpLevelOfDetail::LIGHT:
63 return memory_infra::mojom::LevelOfDetail::LIGHT;
64 case base::trace_event::MemoryDumpLevelOfDetail::DETAILED:
65 return memory_infra::mojom::LevelOfDetail::DETAILED;
66 default:
67 NOTREACHED() << "Invalid type: " << static_cast<uint8_t>(level_of_detail);
68 // This should not be reached. Just return a random value.
69 return memory_infra::mojom::LevelOfDetail::BACKGROUND;
70 }
71 }
72
73 //static
74 bool EnumTraits<memory_infra::mojom::LevelOfDetail,
75 base::trace_event::MemoryDumpLevelOfDetail>::FromMojom(
76 memory_infra::mojom::LevelOfDetail input,
77 base::trace_event::MemoryDumpLevelOfDetail* out) {
78 switch (input) {
79 case memory_infra::mojom::LevelOfDetail::BACKGROUND:
80 *out = base::trace_event::MemoryDumpLevelOfDetail::BACKGROUND;
81 break;
82 case memory_infra::mojom::LevelOfDetail::LIGHT:
83 *out = base::trace_event::MemoryDumpLevelOfDetail::LIGHT;
84 break;
85 case memory_infra::mojom::LevelOfDetail::DETAILED:
86 *out = base::trace_event::MemoryDumpLevelOfDetail::DETAILED;
87 break;
88 default:
89 NOTREACHED() << "Invalid type: " << static_cast<uint8_t>(input);
90 // This should not be reached. Just return a random value.
91 return false;
92 }
93 return true;
94 }
95
96 //static
97 memory_infra::mojom::DumpType
98 StructTraits<memory_infra::mojom::RequestArgsDataView,
99 base::trace_event::MemoryDumpRequestArgs>::dump_type(
100 const base::trace_event::MemoryDumpRequestArgs& args) {
101 return EnumTraits<memory_infra::mojom::DumpType,
102 base::trace_event::MemoryDumpType>::ToMojom(
103 args.dump_type);
104 }
105
106 //static
107 memory_infra::mojom::LevelOfDetail
108 StructTraits<memory_infra::mojom::RequestArgsDataView,
109 base::trace_event::MemoryDumpRequestArgs>::level_of_detail(
110 const base::trace_event::MemoryDumpRequestArgs& args) {
111 return EnumTraits<memory_infra::mojom::LevelOfDetail,
112 base::trace_event::MemoryDumpLevelOfDetail>::ToMojom(
113 args.level_of_detail);
114 }
115
116 //static
117 bool StructTraits<memory_infra::mojom::RequestArgsDataView,
118 base::trace_event::MemoryDumpRequestArgs>::Read(
119 memory_infra::mojom::RequestArgsDataView input,
120 base::trace_event::MemoryDumpRequestArgs* out) {
121 out->dump_guid = input.dump_guid();
122 if (!EnumTraits<memory_infra::mojom::DumpType,
123 base::trace_event::MemoryDumpType>::FromMojom(
124 input.dump_type(), &(out->dump_type))) {
125 return false;
126 }
127 if (!EnumTraits<memory_infra::mojom::LevelOfDetail,
128 base::trace_event::MemoryDumpLevelOfDetail>::FromMojom(
129 input.level_of_detail(), &(out->level_of_detail))) {
130 return false;
131 }
132 return true;
133 }
134
135 } // namespace mojo
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698