1 // Autogenerated by the ProtoZero compiler plugin. DO NOT EDIT. 2 3 #ifndef PERFETTO_PROTOS_COUNTER_DESCRIPTOR_PROTO_H_ 4 #define PERFETTO_PROTOS_COUNTER_DESCRIPTOR_PROTO_H_ 5 6 #include <stddef.h> 7 #include <stdint.h> 8 9 #include "perfetto/protozero/message.h" 10 #include "perfetto/protozero/packed_repeated_fields.h" 11 #include "perfetto/protozero/proto_decoder.h" 12 #include "perfetto/protozero/proto_utils.h" 13 14 namespace perfetto { 15 namespace protos { 16 namespace pbzero { 17 18 enum CounterDescriptor_BuiltinCounterType : int32_t; 19 enum CounterDescriptor_Unit : int32_t; 20 21 enum CounterDescriptor_BuiltinCounterType : int32_t { 22 CounterDescriptor_BuiltinCounterType_COUNTER_UNSPECIFIED = 0, 23 CounterDescriptor_BuiltinCounterType_COUNTER_THREAD_TIME_NS = 1, 24 CounterDescriptor_BuiltinCounterType_COUNTER_THREAD_INSTRUCTION_COUNT = 2, 25 }; 26 27 const CounterDescriptor_BuiltinCounterType CounterDescriptor_BuiltinCounterType_MIN = CounterDescriptor_BuiltinCounterType_COUNTER_UNSPECIFIED; 28 const CounterDescriptor_BuiltinCounterType CounterDescriptor_BuiltinCounterType_MAX = CounterDescriptor_BuiltinCounterType_COUNTER_THREAD_INSTRUCTION_COUNT; 29 30 enum CounterDescriptor_Unit : int32_t { 31 CounterDescriptor_Unit_UNIT_UNSPECIFIED = 0, 32 CounterDescriptor_Unit_UNIT_TIME_NS = 1, 33 CounterDescriptor_Unit_UNIT_COUNT = 2, 34 CounterDescriptor_Unit_UNIT_SIZE_BYTES = 3, 35 }; 36 37 const CounterDescriptor_Unit CounterDescriptor_Unit_MIN = CounterDescriptor_Unit_UNIT_UNSPECIFIED; 38 const CounterDescriptor_Unit CounterDescriptor_Unit_MAX = CounterDescriptor_Unit_UNIT_SIZE_BYTES; 39 40 class CounterDescriptor_Decoder : public ::protozero::TypedProtoDecoder</*MAX_FIELD_ID=*/5, /*HAS_NONPACKED_REPEATED_FIELDS=*/true> { 41 public: CounterDescriptor_Decoder(const uint8_t * data,size_t len)42 CounterDescriptor_Decoder(const uint8_t* data, size_t len) : TypedProtoDecoder(data, len) {} CounterDescriptor_Decoder(const std::string & raw)43 explicit CounterDescriptor_Decoder(const std::string& raw) : TypedProtoDecoder(reinterpret_cast<const uint8_t*>(raw.data()), raw.size()) {} CounterDescriptor_Decoder(const::protozero::ConstBytes & raw)44 explicit CounterDescriptor_Decoder(const ::protozero::ConstBytes& raw) : TypedProtoDecoder(raw.data, raw.size) {} has_type()45 bool has_type() const { return at<1>().valid(); } type()46 int32_t type() const { return at<1>().as_int32(); } has_categories()47 bool has_categories() const { return at<2>().valid(); } categories()48 ::protozero::RepeatedFieldIterator<::protozero::ConstChars> categories() const { return GetRepeated<::protozero::ConstChars>(2); } has_unit()49 bool has_unit() const { return at<3>().valid(); } unit()50 int32_t unit() const { return at<3>().as_int32(); } has_unit_multiplier()51 bool has_unit_multiplier() const { return at<4>().valid(); } unit_multiplier()52 int64_t unit_multiplier() const { return at<4>().as_int64(); } has_is_incremental()53 bool has_is_incremental() const { return at<5>().valid(); } is_incremental()54 bool is_incremental() const { return at<5>().as_bool(); } 55 }; 56 57 class CounterDescriptor : public ::protozero::Message { 58 public: 59 using Decoder = CounterDescriptor_Decoder; 60 enum : int32_t { 61 kTypeFieldNumber = 1, 62 kCategoriesFieldNumber = 2, 63 kUnitFieldNumber = 3, 64 kUnitMultiplierFieldNumber = 4, 65 kIsIncrementalFieldNumber = 5, 66 }; 67 using BuiltinCounterType = ::perfetto::protos::pbzero::CounterDescriptor_BuiltinCounterType; 68 using Unit = ::perfetto::protos::pbzero::CounterDescriptor_Unit; 69 static const BuiltinCounterType COUNTER_UNSPECIFIED = CounterDescriptor_BuiltinCounterType_COUNTER_UNSPECIFIED; 70 static const BuiltinCounterType COUNTER_THREAD_TIME_NS = CounterDescriptor_BuiltinCounterType_COUNTER_THREAD_TIME_NS; 71 static const BuiltinCounterType COUNTER_THREAD_INSTRUCTION_COUNT = CounterDescriptor_BuiltinCounterType_COUNTER_THREAD_INSTRUCTION_COUNT; 72 static const Unit UNIT_UNSPECIFIED = CounterDescriptor_Unit_UNIT_UNSPECIFIED; 73 static const Unit UNIT_TIME_NS = CounterDescriptor_Unit_UNIT_TIME_NS; 74 static const Unit UNIT_COUNT = CounterDescriptor_Unit_UNIT_COUNT; 75 static const Unit UNIT_SIZE_BYTES = CounterDescriptor_Unit_UNIT_SIZE_BYTES; set_type(::perfetto::protos::pbzero::CounterDescriptor_BuiltinCounterType value)76 void set_type(::perfetto::protos::pbzero::CounterDescriptor_BuiltinCounterType value) { 77 AppendTinyVarInt(1, value); 78 } add_categories(const std::string & value)79 void add_categories(const std::string& value) { 80 AppendBytes(2, value.data(), value.size()); 81 } add_categories(const char * data,size_t size)82 void add_categories(const char* data, size_t size) { 83 AppendBytes(2, data, size); 84 } set_unit(::perfetto::protos::pbzero::CounterDescriptor_Unit value)85 void set_unit(::perfetto::protos::pbzero::CounterDescriptor_Unit value) { 86 AppendTinyVarInt(3, value); 87 } set_unit_multiplier(int64_t value)88 void set_unit_multiplier(int64_t value) { 89 AppendVarInt(4, value); 90 } set_is_incremental(bool value)91 void set_is_incremental(bool value) { 92 AppendTinyVarInt(5, value); 93 } 94 }; 95 96 } // Namespace. 97 } // Namespace. 98 } // Namespace. 99 #endif // Include guard. 100