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