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