1 // Autogenerated by the ProtoZero compiler plugin. DO NOT EDIT.
2
3 #ifndef PERFETTO_PROTOS_PROTOS_PERFETTO_TRACE_TRACK_EVENT_TRACK_DESCRIPTOR_PROTO_H_
4 #define PERFETTO_PROTOS_PROTOS_PERFETTO_TRACE_TRACK_EVENT_TRACK_DESCRIPTOR_PROTO_H_
5
6 #include <stddef.h>
7 #include <stdint.h>
8
9 #include "perfetto/protozero/field_writer.h"
10 #include "perfetto/protozero/message.h"
11 #include "perfetto/protozero/packed_repeated_fields.h"
12 #include "perfetto/protozero/proto_decoder.h"
13 #include "perfetto/protozero/proto_utils.h"
14
15 namespace perfetto {
16 namespace protos {
17 namespace pbzero {
18 class ChromeProcessDescriptor;
19 class ChromeThreadDescriptor;
20 class CounterDescriptor;
21 class ProcessDescriptor;
22 class ThreadDescriptor;
23 namespace perfetto_pbzero_enum_TrackDescriptor {
24 enum ChildTracksOrdering : int32_t;
25 } // namespace perfetto_pbzero_enum_TrackDescriptor
26 using TrackDescriptor_ChildTracksOrdering = perfetto_pbzero_enum_TrackDescriptor::ChildTracksOrdering;
27 } // Namespace pbzero.
28 } // Namespace protos.
29 } // Namespace perfetto.
30
31 namespace perfetto {
32 namespace protos {
33 namespace pbzero {
34
35 namespace perfetto_pbzero_enum_TrackDescriptor {
36 enum ChildTracksOrdering : int32_t {
37 UNKNOWN = 0,
38 LEXICOGRAPHIC = 1,
39 CHRONOLOGICAL = 2,
40 EXPLICIT = 3,
41 };
42 } // namespace perfetto_pbzero_enum_TrackDescriptor
43 using TrackDescriptor_ChildTracksOrdering = perfetto_pbzero_enum_TrackDescriptor::ChildTracksOrdering;
44
45
46 constexpr TrackDescriptor_ChildTracksOrdering TrackDescriptor_ChildTracksOrdering_MIN = TrackDescriptor_ChildTracksOrdering::UNKNOWN;
47 constexpr TrackDescriptor_ChildTracksOrdering TrackDescriptor_ChildTracksOrdering_MAX = TrackDescriptor_ChildTracksOrdering::EXPLICIT;
48
49
50 PERFETTO_PROTOZERO_CONSTEXPR14_OR_INLINE
TrackDescriptor_ChildTracksOrdering_Name(::perfetto::protos::pbzero::TrackDescriptor_ChildTracksOrdering value)51 const char* TrackDescriptor_ChildTracksOrdering_Name(::perfetto::protos::pbzero::TrackDescriptor_ChildTracksOrdering value) {
52 switch (value) {
53 case ::perfetto::protos::pbzero::TrackDescriptor_ChildTracksOrdering::UNKNOWN:
54 return "UNKNOWN";
55
56 case ::perfetto::protos::pbzero::TrackDescriptor_ChildTracksOrdering::LEXICOGRAPHIC:
57 return "LEXICOGRAPHIC";
58
59 case ::perfetto::protos::pbzero::TrackDescriptor_ChildTracksOrdering::CHRONOLOGICAL:
60 return "CHRONOLOGICAL";
61
62 case ::perfetto::protos::pbzero::TrackDescriptor_ChildTracksOrdering::EXPLICIT:
63 return "EXPLICIT";
64 }
65 return "PBZERO_UNKNOWN_ENUM_VALUE";
66 }
67
68 class TrackDescriptor_Decoder : public ::protozero::TypedProtoDecoder</*MAX_FIELD_ID=*/13, /*HAS_NONPACKED_REPEATED_FIELDS=*/false> {
69 public:
TrackDescriptor_Decoder(const uint8_t * data,size_t len)70 TrackDescriptor_Decoder(const uint8_t* data, size_t len) : TypedProtoDecoder(data, len) {}
TrackDescriptor_Decoder(const std::string & raw)71 explicit TrackDescriptor_Decoder(const std::string& raw) : TypedProtoDecoder(reinterpret_cast<const uint8_t*>(raw.data()), raw.size()) {}
TrackDescriptor_Decoder(const::protozero::ConstBytes & raw)72 explicit TrackDescriptor_Decoder(const ::protozero::ConstBytes& raw) : TypedProtoDecoder(raw.data, raw.size) {}
has_uuid()73 bool has_uuid() const { return at<1>().valid(); }
uuid()74 uint64_t uuid() const { return at<1>().as_uint64(); }
has_parent_uuid()75 bool has_parent_uuid() const { return at<5>().valid(); }
parent_uuid()76 uint64_t parent_uuid() const { return at<5>().as_uint64(); }
has_name()77 bool has_name() const { return at<2>().valid(); }
name()78 ::protozero::ConstChars name() const { return at<2>().as_string(); }
has_static_name()79 bool has_static_name() const { return at<10>().valid(); }
static_name()80 ::protozero::ConstChars static_name() const { return at<10>().as_string(); }
has_atrace_name()81 bool has_atrace_name() const { return at<13>().valid(); }
atrace_name()82 ::protozero::ConstChars atrace_name() const { return at<13>().as_string(); }
has_process()83 bool has_process() const { return at<3>().valid(); }
process()84 ::protozero::ConstBytes process() const { return at<3>().as_bytes(); }
has_chrome_process()85 bool has_chrome_process() const { return at<6>().valid(); }
chrome_process()86 ::protozero::ConstBytes chrome_process() const { return at<6>().as_bytes(); }
has_thread()87 bool has_thread() const { return at<4>().valid(); }
thread()88 ::protozero::ConstBytes thread() const { return at<4>().as_bytes(); }
has_chrome_thread()89 bool has_chrome_thread() const { return at<7>().valid(); }
chrome_thread()90 ::protozero::ConstBytes chrome_thread() const { return at<7>().as_bytes(); }
has_counter()91 bool has_counter() const { return at<8>().valid(); }
counter()92 ::protozero::ConstBytes counter() const { return at<8>().as_bytes(); }
has_disallow_merging_with_system_tracks()93 bool has_disallow_merging_with_system_tracks() const { return at<9>().valid(); }
disallow_merging_with_system_tracks()94 bool disallow_merging_with_system_tracks() const { return at<9>().as_bool(); }
has_child_ordering()95 bool has_child_ordering() const { return at<11>().valid(); }
child_ordering()96 int32_t child_ordering() const { return at<11>().as_int32(); }
has_sibling_order_rank()97 bool has_sibling_order_rank() const { return at<12>().valid(); }
sibling_order_rank()98 int32_t sibling_order_rank() const { return at<12>().as_int32(); }
99 };
100
101 class TrackDescriptor : public ::protozero::Message {
102 public:
103 using Decoder = TrackDescriptor_Decoder;
104 enum : int32_t {
105 kUuidFieldNumber = 1,
106 kParentUuidFieldNumber = 5,
107 kNameFieldNumber = 2,
108 kStaticNameFieldNumber = 10,
109 kAtraceNameFieldNumber = 13,
110 kProcessFieldNumber = 3,
111 kChromeProcessFieldNumber = 6,
112 kThreadFieldNumber = 4,
113 kChromeThreadFieldNumber = 7,
114 kCounterFieldNumber = 8,
115 kDisallowMergingWithSystemTracksFieldNumber = 9,
116 kChildOrderingFieldNumber = 11,
117 kSiblingOrderRankFieldNumber = 12,
118 };
GetName()119 static constexpr const char* GetName() { return ".perfetto.protos.TrackDescriptor"; }
120
121
122 using ChildTracksOrdering = ::perfetto::protos::pbzero::TrackDescriptor_ChildTracksOrdering;
ChildTracksOrdering_Name(ChildTracksOrdering value)123 static inline const char* ChildTracksOrdering_Name(ChildTracksOrdering value) {
124 return ::perfetto::protos::pbzero::TrackDescriptor_ChildTracksOrdering_Name(value);
125 }
126 static inline const ChildTracksOrdering UNKNOWN = ChildTracksOrdering::UNKNOWN;
127 static inline const ChildTracksOrdering LEXICOGRAPHIC = ChildTracksOrdering::LEXICOGRAPHIC;
128 static inline const ChildTracksOrdering CHRONOLOGICAL = ChildTracksOrdering::CHRONOLOGICAL;
129 static inline const ChildTracksOrdering EXPLICIT = ChildTracksOrdering::EXPLICIT;
130
131 using FieldMetadata_Uuid =
132 ::protozero::proto_utils::FieldMetadata<
133 1,
134 ::protozero::proto_utils::RepetitionType::kNotRepeated,
135 ::protozero::proto_utils::ProtoSchemaType::kUint64,
136 uint64_t,
137 TrackDescriptor>;
138
139 static constexpr FieldMetadata_Uuid kUuid{};
set_uuid(uint64_t value)140 void set_uuid(uint64_t value) {
141 static constexpr uint32_t field_id = FieldMetadata_Uuid::kFieldId;
142 // Call the appropriate protozero::Message::Append(field_id, ...)
143 // method based on the type of the field.
144 ::protozero::internal::FieldWriter<
145 ::protozero::proto_utils::ProtoSchemaType::kUint64>
146 ::Append(*this, field_id, value);
147 }
148
149 using FieldMetadata_ParentUuid =
150 ::protozero::proto_utils::FieldMetadata<
151 5,
152 ::protozero::proto_utils::RepetitionType::kNotRepeated,
153 ::protozero::proto_utils::ProtoSchemaType::kUint64,
154 uint64_t,
155 TrackDescriptor>;
156
157 static constexpr FieldMetadata_ParentUuid kParentUuid{};
set_parent_uuid(uint64_t value)158 void set_parent_uuid(uint64_t value) {
159 static constexpr uint32_t field_id = FieldMetadata_ParentUuid::kFieldId;
160 // Call the appropriate protozero::Message::Append(field_id, ...)
161 // method based on the type of the field.
162 ::protozero::internal::FieldWriter<
163 ::protozero::proto_utils::ProtoSchemaType::kUint64>
164 ::Append(*this, field_id, value);
165 }
166
167 using FieldMetadata_Name =
168 ::protozero::proto_utils::FieldMetadata<
169 2,
170 ::protozero::proto_utils::RepetitionType::kNotRepeated,
171 ::protozero::proto_utils::ProtoSchemaType::kString,
172 std::string,
173 TrackDescriptor>;
174
175 static constexpr FieldMetadata_Name kName{};
set_name(const char * data,size_t size)176 void set_name(const char* data, size_t size) {
177 AppendBytes(FieldMetadata_Name::kFieldId, data, size);
178 }
set_name(::protozero::ConstChars chars)179 void set_name(::protozero::ConstChars chars) {
180 AppendBytes(FieldMetadata_Name::kFieldId, chars.data, chars.size);
181 }
set_name(std::string value)182 void set_name(std::string value) {
183 static constexpr uint32_t field_id = FieldMetadata_Name::kFieldId;
184 // Call the appropriate protozero::Message::Append(field_id, ...)
185 // method based on the type of the field.
186 ::protozero::internal::FieldWriter<
187 ::protozero::proto_utils::ProtoSchemaType::kString>
188 ::Append(*this, field_id, value);
189 }
190
191 using FieldMetadata_StaticName =
192 ::protozero::proto_utils::FieldMetadata<
193 10,
194 ::protozero::proto_utils::RepetitionType::kNotRepeated,
195 ::protozero::proto_utils::ProtoSchemaType::kString,
196 std::string,
197 TrackDescriptor>;
198
199 static constexpr FieldMetadata_StaticName kStaticName{};
set_static_name(const char * data,size_t size)200 void set_static_name(const char* data, size_t size) {
201 AppendBytes(FieldMetadata_StaticName::kFieldId, data, size);
202 }
set_static_name(::protozero::ConstChars chars)203 void set_static_name(::protozero::ConstChars chars) {
204 AppendBytes(FieldMetadata_StaticName::kFieldId, chars.data, chars.size);
205 }
set_static_name(std::string value)206 void set_static_name(std::string value) {
207 static constexpr uint32_t field_id = FieldMetadata_StaticName::kFieldId;
208 // Call the appropriate protozero::Message::Append(field_id, ...)
209 // method based on the type of the field.
210 ::protozero::internal::FieldWriter<
211 ::protozero::proto_utils::ProtoSchemaType::kString>
212 ::Append(*this, field_id, value);
213 }
214
215 using FieldMetadata_AtraceName =
216 ::protozero::proto_utils::FieldMetadata<
217 13,
218 ::protozero::proto_utils::RepetitionType::kNotRepeated,
219 ::protozero::proto_utils::ProtoSchemaType::kString,
220 std::string,
221 TrackDescriptor>;
222
223 static constexpr FieldMetadata_AtraceName kAtraceName{};
set_atrace_name(const char * data,size_t size)224 void set_atrace_name(const char* data, size_t size) {
225 AppendBytes(FieldMetadata_AtraceName::kFieldId, data, size);
226 }
set_atrace_name(::protozero::ConstChars chars)227 void set_atrace_name(::protozero::ConstChars chars) {
228 AppendBytes(FieldMetadata_AtraceName::kFieldId, chars.data, chars.size);
229 }
set_atrace_name(std::string value)230 void set_atrace_name(std::string value) {
231 static constexpr uint32_t field_id = FieldMetadata_AtraceName::kFieldId;
232 // Call the appropriate protozero::Message::Append(field_id, ...)
233 // method based on the type of the field.
234 ::protozero::internal::FieldWriter<
235 ::protozero::proto_utils::ProtoSchemaType::kString>
236 ::Append(*this, field_id, value);
237 }
238
239 using FieldMetadata_Process =
240 ::protozero::proto_utils::FieldMetadata<
241 3,
242 ::protozero::proto_utils::RepetitionType::kNotRepeated,
243 ::protozero::proto_utils::ProtoSchemaType::kMessage,
244 ProcessDescriptor,
245 TrackDescriptor>;
246
247 static constexpr FieldMetadata_Process kProcess{};
set_process()248 template <typename T = ProcessDescriptor> T* set_process() {
249 return BeginNestedMessage<T>(3);
250 }
251
252
253 using FieldMetadata_ChromeProcess =
254 ::protozero::proto_utils::FieldMetadata<
255 6,
256 ::protozero::proto_utils::RepetitionType::kNotRepeated,
257 ::protozero::proto_utils::ProtoSchemaType::kMessage,
258 ChromeProcessDescriptor,
259 TrackDescriptor>;
260
261 static constexpr FieldMetadata_ChromeProcess kChromeProcess{};
set_chrome_process()262 template <typename T = ChromeProcessDescriptor> T* set_chrome_process() {
263 return BeginNestedMessage<T>(6);
264 }
265
266
267 using FieldMetadata_Thread =
268 ::protozero::proto_utils::FieldMetadata<
269 4,
270 ::protozero::proto_utils::RepetitionType::kNotRepeated,
271 ::protozero::proto_utils::ProtoSchemaType::kMessage,
272 ThreadDescriptor,
273 TrackDescriptor>;
274
275 static constexpr FieldMetadata_Thread kThread{};
set_thread()276 template <typename T = ThreadDescriptor> T* set_thread() {
277 return BeginNestedMessage<T>(4);
278 }
279
280
281 using FieldMetadata_ChromeThread =
282 ::protozero::proto_utils::FieldMetadata<
283 7,
284 ::protozero::proto_utils::RepetitionType::kNotRepeated,
285 ::protozero::proto_utils::ProtoSchemaType::kMessage,
286 ChromeThreadDescriptor,
287 TrackDescriptor>;
288
289 static constexpr FieldMetadata_ChromeThread kChromeThread{};
set_chrome_thread()290 template <typename T = ChromeThreadDescriptor> T* set_chrome_thread() {
291 return BeginNestedMessage<T>(7);
292 }
293
294
295 using FieldMetadata_Counter =
296 ::protozero::proto_utils::FieldMetadata<
297 8,
298 ::protozero::proto_utils::RepetitionType::kNotRepeated,
299 ::protozero::proto_utils::ProtoSchemaType::kMessage,
300 CounterDescriptor,
301 TrackDescriptor>;
302
303 static constexpr FieldMetadata_Counter kCounter{};
set_counter()304 template <typename T = CounterDescriptor> T* set_counter() {
305 return BeginNestedMessage<T>(8);
306 }
307
308
309 using FieldMetadata_DisallowMergingWithSystemTracks =
310 ::protozero::proto_utils::FieldMetadata<
311 9,
312 ::protozero::proto_utils::RepetitionType::kNotRepeated,
313 ::protozero::proto_utils::ProtoSchemaType::kBool,
314 bool,
315 TrackDescriptor>;
316
317 static constexpr FieldMetadata_DisallowMergingWithSystemTracks kDisallowMergingWithSystemTracks{};
set_disallow_merging_with_system_tracks(bool value)318 void set_disallow_merging_with_system_tracks(bool value) {
319 static constexpr uint32_t field_id = FieldMetadata_DisallowMergingWithSystemTracks::kFieldId;
320 // Call the appropriate protozero::Message::Append(field_id, ...)
321 // method based on the type of the field.
322 ::protozero::internal::FieldWriter<
323 ::protozero::proto_utils::ProtoSchemaType::kBool>
324 ::Append(*this, field_id, value);
325 }
326
327 using FieldMetadata_ChildOrdering =
328 ::protozero::proto_utils::FieldMetadata<
329 11,
330 ::protozero::proto_utils::RepetitionType::kNotRepeated,
331 ::protozero::proto_utils::ProtoSchemaType::kEnum,
332 TrackDescriptor_ChildTracksOrdering,
333 TrackDescriptor>;
334
335 static constexpr FieldMetadata_ChildOrdering kChildOrdering{};
set_child_ordering(TrackDescriptor_ChildTracksOrdering value)336 void set_child_ordering(TrackDescriptor_ChildTracksOrdering value) {
337 static constexpr uint32_t field_id = FieldMetadata_ChildOrdering::kFieldId;
338 // Call the appropriate protozero::Message::Append(field_id, ...)
339 // method based on the type of the field.
340 ::protozero::internal::FieldWriter<
341 ::protozero::proto_utils::ProtoSchemaType::kEnum>
342 ::Append(*this, field_id, value);
343 }
344
345 using FieldMetadata_SiblingOrderRank =
346 ::protozero::proto_utils::FieldMetadata<
347 12,
348 ::protozero::proto_utils::RepetitionType::kNotRepeated,
349 ::protozero::proto_utils::ProtoSchemaType::kInt32,
350 int32_t,
351 TrackDescriptor>;
352
353 static constexpr FieldMetadata_SiblingOrderRank kSiblingOrderRank{};
set_sibling_order_rank(int32_t value)354 void set_sibling_order_rank(int32_t value) {
355 static constexpr uint32_t field_id = FieldMetadata_SiblingOrderRank::kFieldId;
356 // Call the appropriate protozero::Message::Append(field_id, ...)
357 // method based on the type of the field.
358 ::protozero::internal::FieldWriter<
359 ::protozero::proto_utils::ProtoSchemaType::kInt32>
360 ::Append(*this, field_id, value);
361 }
362 };
363
364 } // Namespace.
365 } // Namespace.
366 } // Namespace.
367 #endif // Include guard.
368