1 // Autogenerated by the ProtoZero compiler plugin. DO NOT EDIT. 2 3 #ifndef PERFETTO_PROTOS_PROTOS_PERFETTO_TRACE_PROCESSOR_STACK_PROTO_H_ 4 #define PERFETTO_PROTOS_PROTOS_PERFETTO_TRACE_PROCESSOR_STACK_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 Stack_Entry; 19 } // Namespace pbzero. 20 } // Namespace protos. 21 } // Namespace perfetto. 22 23 namespace perfetto { 24 namespace protos { 25 namespace pbzero { 26 27 class Stack_Decoder : public ::protozero::TypedProtoDecoder</*MAX_FIELD_ID=*/1, /*HAS_NONPACKED_REPEATED_FIELDS=*/true> { 28 public: Stack_Decoder(const uint8_t * data,size_t len)29 Stack_Decoder(const uint8_t* data, size_t len) : TypedProtoDecoder(data, len) {} Stack_Decoder(const std::string & raw)30 explicit Stack_Decoder(const std::string& raw) : TypedProtoDecoder(reinterpret_cast<const uint8_t*>(raw.data()), raw.size()) {} Stack_Decoder(const::protozero::ConstBytes & raw)31 explicit Stack_Decoder(const ::protozero::ConstBytes& raw) : TypedProtoDecoder(raw.data, raw.size) {} has_entries()32 bool has_entries() const { return at<1>().valid(); } entries()33 ::protozero::RepeatedFieldIterator<::protozero::ConstBytes> entries() const { return GetRepeated<::protozero::ConstBytes>(1); } 34 }; 35 36 class Stack : public ::protozero::Message { 37 public: 38 using Decoder = Stack_Decoder; 39 enum : int32_t { 40 kEntriesFieldNumber = 1, 41 }; GetName()42 static constexpr const char* GetName() { return ".perfetto.protos.Stack"; } 43 44 using Entry = ::perfetto::protos::pbzero::Stack_Entry; 45 46 using FieldMetadata_Entries = 47 ::protozero::proto_utils::FieldMetadata< 48 1, 49 ::protozero::proto_utils::RepetitionType::kRepeatedNotPacked, 50 ::protozero::proto_utils::ProtoSchemaType::kMessage, 51 Stack_Entry, 52 Stack>; 53 54 static constexpr FieldMetadata_Entries kEntries{}; add_entries()55 template <typename T = Stack_Entry> T* add_entries() { 56 return BeginNestedMessage<T>(1); 57 } 58 59 }; 60 61 class Stack_Entry_Decoder : public ::protozero::TypedProtoDecoder</*MAX_FIELD_ID=*/4, /*HAS_NONPACKED_REPEATED_FIELDS=*/false> { 62 public: Stack_Entry_Decoder(const uint8_t * data,size_t len)63 Stack_Entry_Decoder(const uint8_t* data, size_t len) : TypedProtoDecoder(data, len) {} Stack_Entry_Decoder(const std::string & raw)64 explicit Stack_Entry_Decoder(const std::string& raw) : TypedProtoDecoder(reinterpret_cast<const uint8_t*>(raw.data()), raw.size()) {} Stack_Entry_Decoder(const::protozero::ConstBytes & raw)65 explicit Stack_Entry_Decoder(const ::protozero::ConstBytes& raw) : TypedProtoDecoder(raw.data, raw.size) {} has_name()66 bool has_name() const { return at<1>().valid(); } name()67 ::protozero::ConstChars name() const { return at<1>().as_string(); } has_callsite_id()68 bool has_callsite_id() const { return at<2>().valid(); } callsite_id()69 uint32_t callsite_id() const { return at<2>().as_uint32(); } has_annotated_callsite_id()70 bool has_annotated_callsite_id() const { return at<3>().valid(); } annotated_callsite_id()71 uint32_t annotated_callsite_id() const { return at<3>().as_uint32(); } has_frame_id()72 bool has_frame_id() const { return at<4>().valid(); } frame_id()73 uint32_t frame_id() const { return at<4>().as_uint32(); } 74 }; 75 76 class Stack_Entry : public ::protozero::Message { 77 public: 78 using Decoder = Stack_Entry_Decoder; 79 enum : int32_t { 80 kNameFieldNumber = 1, 81 kCallsiteIdFieldNumber = 2, 82 kAnnotatedCallsiteIdFieldNumber = 3, 83 kFrameIdFieldNumber = 4, 84 }; GetName()85 static constexpr const char* GetName() { return ".perfetto.protos.Stack.Entry"; } 86 87 88 using FieldMetadata_Name = 89 ::protozero::proto_utils::FieldMetadata< 90 1, 91 ::protozero::proto_utils::RepetitionType::kNotRepeated, 92 ::protozero::proto_utils::ProtoSchemaType::kString, 93 std::string, 94 Stack_Entry>; 95 96 static constexpr FieldMetadata_Name kName{}; set_name(const char * data,size_t size)97 void set_name(const char* data, size_t size) { 98 AppendBytes(FieldMetadata_Name::kFieldId, data, size); 99 } set_name(::protozero::ConstChars chars)100 void set_name(::protozero::ConstChars chars) { 101 AppendBytes(FieldMetadata_Name::kFieldId, chars.data, chars.size); 102 } set_name(std::string value)103 void set_name(std::string value) { 104 static constexpr uint32_t field_id = FieldMetadata_Name::kFieldId; 105 // Call the appropriate protozero::Message::Append(field_id, ...) 106 // method based on the type of the field. 107 ::protozero::internal::FieldWriter< 108 ::protozero::proto_utils::ProtoSchemaType::kString> 109 ::Append(*this, field_id, value); 110 } 111 112 using FieldMetadata_CallsiteId = 113 ::protozero::proto_utils::FieldMetadata< 114 2, 115 ::protozero::proto_utils::RepetitionType::kNotRepeated, 116 ::protozero::proto_utils::ProtoSchemaType::kUint32, 117 uint32_t, 118 Stack_Entry>; 119 120 static constexpr FieldMetadata_CallsiteId kCallsiteId{}; set_callsite_id(uint32_t value)121 void set_callsite_id(uint32_t value) { 122 static constexpr uint32_t field_id = FieldMetadata_CallsiteId::kFieldId; 123 // Call the appropriate protozero::Message::Append(field_id, ...) 124 // method based on the type of the field. 125 ::protozero::internal::FieldWriter< 126 ::protozero::proto_utils::ProtoSchemaType::kUint32> 127 ::Append(*this, field_id, value); 128 } 129 130 using FieldMetadata_AnnotatedCallsiteId = 131 ::protozero::proto_utils::FieldMetadata< 132 3, 133 ::protozero::proto_utils::RepetitionType::kNotRepeated, 134 ::protozero::proto_utils::ProtoSchemaType::kUint32, 135 uint32_t, 136 Stack_Entry>; 137 138 static constexpr FieldMetadata_AnnotatedCallsiteId kAnnotatedCallsiteId{}; set_annotated_callsite_id(uint32_t value)139 void set_annotated_callsite_id(uint32_t value) { 140 static constexpr uint32_t field_id = FieldMetadata_AnnotatedCallsiteId::kFieldId; 141 // Call the appropriate protozero::Message::Append(field_id, ...) 142 // method based on the type of the field. 143 ::protozero::internal::FieldWriter< 144 ::protozero::proto_utils::ProtoSchemaType::kUint32> 145 ::Append(*this, field_id, value); 146 } 147 148 using FieldMetadata_FrameId = 149 ::protozero::proto_utils::FieldMetadata< 150 4, 151 ::protozero::proto_utils::RepetitionType::kNotRepeated, 152 ::protozero::proto_utils::ProtoSchemaType::kUint32, 153 uint32_t, 154 Stack_Entry>; 155 156 static constexpr FieldMetadata_FrameId kFrameId{}; set_frame_id(uint32_t value)157 void set_frame_id(uint32_t value) { 158 static constexpr uint32_t field_id = FieldMetadata_FrameId::kFieldId; 159 // Call the appropriate protozero::Message::Append(field_id, ...) 160 // method based on the type of the field. 161 ::protozero::internal::FieldWriter< 162 ::protozero::proto_utils::ProtoSchemaType::kUint32> 163 ::Append(*this, field_id, value); 164 } 165 }; 166 167 } // Namespace. 168 } // Namespace. 169 } // Namespace. 170 #endif // Include guard. 171