11#ifndef PERFETTO_PROTOS_PROTOS_PERFETTO_TRACE_TRACK_EVENT_TRACK_EVENT_PROTO_H_
12#define PERFETTO_PROTOS_PROTOS_PERFETTO_TRACE_TRACK_EVENT_TRACK_EVENT_PROTO_H_
17#include "perfetto/protozero/field_writer.h"
18#include "perfetto/protozero/message.h"
19#include "perfetto/protozero/packed_repeated_fields.h"
20#include "perfetto/protozero/proto_decoder.h"
21#include "perfetto/protozero/proto_utils.h"
28namespace perfetto_pbzero_enum_TrackEvent {
33namespace perfetto_pbzero_enum_TrackEvent {
43 TrackEvent_Type::TYPE_SLICE_BEGIN;
46PERFETTO_PROTOZERO_CONSTEXPR14_OR_INLINE
50 case ::perfetto::protos::pbzero::TrackEvent_Type::TYPE_SLICE_BEGIN:
51 return "TYPE_SLICE_BEGIN";
53 case ::perfetto::protos::pbzero::TrackEvent_Type::TYPE_SLICE_END:
54 return "TYPE_SLICE_END";
56 case ::perfetto::protos::pbzero::TrackEvent_Type::TYPE_INSTANT:
57 return "TYPE_INSTANT";
59 return "PBZERO_UNKNOWN_ENUM_VALUE";
67 : TypedProtoDecoder(data, len) {}
69 : TypedProtoDecoder(reinterpret_cast<const uint8_t*>(raw.data()),
72 : TypedProtoDecoder(raw.data, raw.size) {}
74 ::protozero::RepeatedFieldIterator<::protozero::ConstChars>
categories()
76 return GetRepeated<::protozero::ConstChars>(22);
78 bool has_name()
const {
return at<23>().valid(); }
79 ::protozero::ConstChars
name()
const {
return at<23>().as_string(); }
80 bool has_type()
const {
return at<9>().valid(); }
81 int32_t
type()
const {
return at<9>().as_int32(); }
83 uint64_t
track_uuid()
const {
return at<11>().as_uint64(); }
85 ::protozero::RepeatedFieldIterator<uint64_t>
flow_ids()
const {
86 return GetRepeated<uint64_t>(47);
90 return GetRepeated<uint64_t>(48);
93 ::protozero::RepeatedFieldIterator<::protozero::ConstBytes>
95 return GetRepeated<::protozero::ConstBytes>(4);
112 return ".perfetto.protos.TrackEvent";
117 return ::perfetto::protos::pbzero::TrackEvent_Type_Name(
value);
125 ::protozero::proto_utils::RepetitionType::kRepeatedNotPacked,
126 ::protozero::proto_utils::ProtoSchemaType::kString,
139 AppendBytes(FieldMetadata_Categories::kFieldId, data, size);
142 AppendBytes(FieldMetadata_Categories::kFieldId, chars.data, chars.size);
145 static constexpr uint32_t field_id = FieldMetadata_Categories::kFieldId;
148 ::protozero::internal::FieldWriter<
149 ::protozero::proto_utils::ProtoSchemaType::kString>::Append(*
this,
156 ::protozero::proto_utils::RepetitionType::kNotRepeated,
157 ::protozero::proto_utils::ProtoSchemaType::kString,
170 AppendBytes(FieldMetadata_Name::kFieldId, data, size);
173 AppendBytes(FieldMetadata_Name::kFieldId, chars.data, chars.size);
176 static constexpr uint32_t field_id = FieldMetadata_Name::kFieldId;
179 ::protozero::internal::FieldWriter<
180 ::protozero::proto_utils::ProtoSchemaType::kString>::Append(*
this,
187 ::protozero::proto_utils::RepetitionType::kNotRepeated,
188 ::protozero::proto_utils::ProtoSchemaType::kEnum,
201 static constexpr uint32_t field_id = FieldMetadata_Type::kFieldId;
204 ::protozero::internal::FieldWriter<
205 ::protozero::proto_utils::ProtoSchemaType::kEnum>::Append(*
this,
212 ::protozero::proto_utils::RepetitionType::kNotRepeated,
213 ::protozero::proto_utils::ProtoSchemaType::kUint64,
226 static constexpr uint32_t field_id = FieldMetadata_TrackUuid::kFieldId;
229 ::protozero::internal::FieldWriter<
230 ::protozero::proto_utils::ProtoSchemaType::kUint64>::Append(*
this,
237 ::protozero::proto_utils::RepetitionType::kRepeatedNotPacked,
238 ::protozero::proto_utils::ProtoSchemaType::kFixed64,
251 static constexpr uint32_t field_id = FieldMetadata_FlowIds::kFieldId;
254 ::protozero::internal::FieldWriter<
255 ::protozero::proto_utils::ProtoSchemaType::kFixed64>::Append(*
this,
261 ::protozero::proto_utils::FieldMetadata<
263 ::protozero::proto_utils::RepetitionType::kRepeatedNotPacked,
264 ::protozero::proto_utils::ProtoSchemaType::kFixed64,
279 static constexpr uint32_t field_id =
280 FieldMetadata_TerminatingFlowIds::kFieldId;
283 ::protozero::internal::FieldWriter<
284 ::protozero::proto_utils::ProtoSchemaType::kFixed64>::Append(*
this,
290 ::protozero::proto_utils::FieldMetadata<
292 ::protozero::proto_utils::RepetitionType::kRepeatedNotPacked,
293 ::protozero::proto_utils::ProtoSchemaType::kMessage,
307 template <
typename T = DebugAnnotation>
309 return BeginNestedMessage<T>(4);
uint64_t track_uuid() const
TrackEvent_Decoder(const std::string &raw)
::protozero::RepeatedFieldIterator< uint64_t > flow_ids() const
bool has_track_uuid() const
::protozero::RepeatedFieldIterator< uint64_t > terminating_flow_ids() const
bool has_categories() const
TrackEvent_Decoder(const ::protozero::ConstBytes &raw)
bool has_debug_annotations() const
bool has_terminating_flow_ids() const
::protozero::ConstChars name() const
bool has_flow_ids() const
::protozero::RepeatedFieldIterator<::protozero::ConstChars > categories() const
::protozero::RepeatedFieldIterator<::protozero::ConstBytes > debug_annotations() const
TrackEvent_Decoder(const uint8_t *data, size_t len)
void add_categories(std::string value)
void add_categories(const char *data, size_t size)
static constexpr FieldMetadata_Categories kCategories()
::protozero::proto_utils::FieldMetadata< 22, ::protozero::proto_utils::RepetitionType::kRepeatedNotPacked, ::protozero::proto_utils::ProtoSchemaType::kString, std::string, TrackEvent > FieldMetadata_Categories
@ kTerminatingFlowIdsFieldNumber
@ kDebugAnnotationsFieldNumber
::protozero::proto_utils::FieldMetadata< 9, ::protozero::proto_utils::RepetitionType::kNotRepeated, ::protozero::proto_utils::ProtoSchemaType::kEnum, ::perfetto::protos::pbzero::TrackEvent_Type, TrackEvent > FieldMetadata_Type
void set_type(::perfetto::protos::pbzero::TrackEvent_Type value)
static const Type TYPE_SLICE_END
void add_categories(::protozero::ConstChars chars)
static const char * Type_Name(Type value)
::protozero::proto_utils::FieldMetadata< 4, ::protozero::proto_utils::RepetitionType::kRepeatedNotPacked, ::protozero::proto_utils::ProtoSchemaType::kMessage, DebugAnnotation, TrackEvent > FieldMetadata_DebugAnnotations
void set_track_uuid(uint64_t value)
static constexpr FieldMetadata_FlowIds kFlowIds()
void add_flow_ids(uint64_t value)
static constexpr FieldMetadata_Name kName()
::protozero::proto_utils::FieldMetadata< 47, ::protozero::proto_utils::RepetitionType::kRepeatedNotPacked, ::protozero::proto_utils::ProtoSchemaType::kFixed64, uint64_t, TrackEvent > FieldMetadata_FlowIds
::protozero::proto_utils::FieldMetadata< 11, ::protozero::proto_utils::RepetitionType::kNotRepeated, ::protozero::proto_utils::ProtoSchemaType::kUint64, uint64_t, TrackEvent > FieldMetadata_TrackUuid
T * add_debug_annotations()
void add_terminating_flow_ids(uint64_t value)
static const Type TYPE_INSTANT
::protozero::proto_utils::FieldMetadata< 48, ::protozero::proto_utils::RepetitionType::kRepeatedNotPacked, ::protozero::proto_utils::ProtoSchemaType::kFixed64, uint64_t, TrackEvent > FieldMetadata_TerminatingFlowIds
static constexpr FieldMetadata_DebugAnnotations kDebugAnnotations()
static constexpr const char * GetName()
static constexpr FieldMetadata_TrackUuid kTrackUuid()
void set_name(::protozero::ConstChars chars)
static constexpr FieldMetadata_TerminatingFlowIds kTerminatingFlowIds()
void set_name(const char *data, size_t size)
::protozero::proto_utils::FieldMetadata< 23, ::protozero::proto_utils::RepetitionType::kNotRepeated, ::protozero::proto_utils::ProtoSchemaType::kString, std::string, TrackEvent > FieldMetadata_Name
void set_name(std::string value)
static constexpr FieldMetadata_Type kType()
static const Type TYPE_SLICE_BEGIN
constexpr TrackEvent_Type TrackEvent_Type_MIN
constexpr TrackEvent_Type TrackEvent_Type_MAX
PERFETTO_PROTOZERO_CONSTEXPR14_OR_INLINE const char * TrackEvent_Type_Name(::perfetto::protos::pbzero::TrackEvent_Type value)
perfetto_pbzero_enum_TrackEvent::Type TrackEvent_Type