1 // Autogenerated by the ProtoZero compiler plugin. DO NOT EDIT. 2 3 #ifndef PERFETTO_PROTOS_CLOCK_SNAPSHOT_PROTO_H_ 4 #define PERFETTO_PROTOS_CLOCK_SNAPSHOT_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 class ClockSnapshot_Clock; 19 enum BuiltinClock : int32_t; 20 21 enum ClockSnapshot_Clock_BuiltinClocks : int32_t { 22 ClockSnapshot_Clock_BuiltinClocks_UNKNOWN = 0, 23 ClockSnapshot_Clock_BuiltinClocks_REALTIME = 1, 24 ClockSnapshot_Clock_BuiltinClocks_REALTIME_COARSE = 2, 25 ClockSnapshot_Clock_BuiltinClocks_MONOTONIC = 3, 26 ClockSnapshot_Clock_BuiltinClocks_MONOTONIC_COARSE = 4, 27 ClockSnapshot_Clock_BuiltinClocks_MONOTONIC_RAW = 5, 28 ClockSnapshot_Clock_BuiltinClocks_BOOTTIME = 6, 29 ClockSnapshot_Clock_BuiltinClocks_BUILTIN_CLOCK_MAX_ID = 63, 30 }; 31 32 const ClockSnapshot_Clock_BuiltinClocks ClockSnapshot_Clock_BuiltinClocks_MIN = ClockSnapshot_Clock_BuiltinClocks_UNKNOWN; 33 const ClockSnapshot_Clock_BuiltinClocks ClockSnapshot_Clock_BuiltinClocks_MAX = ClockSnapshot_Clock_BuiltinClocks_BUILTIN_CLOCK_MAX_ID; 34 35 class ClockSnapshot_Decoder : public ::protozero::TypedProtoDecoder</*MAX_FIELD_ID=*/2, /*HAS_NONPACKED_REPEATED_FIELDS=*/true> { 36 public: ClockSnapshot_Decoder(const uint8_t * data,size_t len)37 ClockSnapshot_Decoder(const uint8_t* data, size_t len) : TypedProtoDecoder(data, len) {} ClockSnapshot_Decoder(const std::string & raw)38 explicit ClockSnapshot_Decoder(const std::string& raw) : TypedProtoDecoder(reinterpret_cast<const uint8_t*>(raw.data()), raw.size()) {} ClockSnapshot_Decoder(const::protozero::ConstBytes & raw)39 explicit ClockSnapshot_Decoder(const ::protozero::ConstBytes& raw) : TypedProtoDecoder(raw.data, raw.size) {} has_clocks()40 bool has_clocks() const { return at<1>().valid(); } clocks()41 ::protozero::RepeatedFieldIterator<::protozero::ConstBytes> clocks() const { return GetRepeated<::protozero::ConstBytes>(1); } has_primary_trace_clock()42 bool has_primary_trace_clock() const { return at<2>().valid(); } primary_trace_clock()43 int32_t primary_trace_clock() const { return at<2>().as_int32(); } 44 }; 45 46 class ClockSnapshot : public ::protozero::Message { 47 public: 48 using Decoder = ClockSnapshot_Decoder; 49 enum : int32_t { 50 kClocksFieldNumber = 1, 51 kPrimaryTraceClockFieldNumber = 2, 52 }; 53 using Clock = ::perfetto::protos::pbzero::ClockSnapshot_Clock; add_clocks()54 template <typename T = ClockSnapshot_Clock> T* add_clocks() { 55 return BeginNestedMessage<T>(1); 56 } 57 set_primary_trace_clock(::perfetto::protos::pbzero::BuiltinClock value)58 void set_primary_trace_clock(::perfetto::protos::pbzero::BuiltinClock value) { 59 AppendTinyVarInt(2, value); 60 } 61 }; 62 63 class ClockSnapshot_Clock_Decoder : public ::protozero::TypedProtoDecoder</*MAX_FIELD_ID=*/4, /*HAS_NONPACKED_REPEATED_FIELDS=*/false> { 64 public: ClockSnapshot_Clock_Decoder(const uint8_t * data,size_t len)65 ClockSnapshot_Clock_Decoder(const uint8_t* data, size_t len) : TypedProtoDecoder(data, len) {} ClockSnapshot_Clock_Decoder(const std::string & raw)66 explicit ClockSnapshot_Clock_Decoder(const std::string& raw) : TypedProtoDecoder(reinterpret_cast<const uint8_t*>(raw.data()), raw.size()) {} ClockSnapshot_Clock_Decoder(const::protozero::ConstBytes & raw)67 explicit ClockSnapshot_Clock_Decoder(const ::protozero::ConstBytes& raw) : TypedProtoDecoder(raw.data, raw.size) {} has_clock_id()68 bool has_clock_id() const { return at<1>().valid(); } clock_id()69 uint32_t clock_id() const { return at<1>().as_uint32(); } has_timestamp()70 bool has_timestamp() const { return at<2>().valid(); } timestamp()71 uint64_t timestamp() const { return at<2>().as_uint64(); } has_is_incremental()72 bool has_is_incremental() const { return at<3>().valid(); } is_incremental()73 bool is_incremental() const { return at<3>().as_bool(); } has_unit_multiplier_ns()74 bool has_unit_multiplier_ns() const { return at<4>().valid(); } unit_multiplier_ns()75 uint64_t unit_multiplier_ns() const { return at<4>().as_uint64(); } 76 }; 77 78 class ClockSnapshot_Clock : public ::protozero::Message { 79 public: 80 using Decoder = ClockSnapshot_Clock_Decoder; 81 enum : int32_t { 82 kClockIdFieldNumber = 1, 83 kTimestampFieldNumber = 2, 84 kIsIncrementalFieldNumber = 3, 85 kUnitMultiplierNsFieldNumber = 4, 86 }; 87 using BuiltinClocks = ::perfetto::protos::pbzero::ClockSnapshot_Clock_BuiltinClocks; 88 static const BuiltinClocks UNKNOWN = ClockSnapshot_Clock_BuiltinClocks_UNKNOWN; 89 static const BuiltinClocks REALTIME = ClockSnapshot_Clock_BuiltinClocks_REALTIME; 90 static const BuiltinClocks REALTIME_COARSE = ClockSnapshot_Clock_BuiltinClocks_REALTIME_COARSE; 91 static const BuiltinClocks MONOTONIC = ClockSnapshot_Clock_BuiltinClocks_MONOTONIC; 92 static const BuiltinClocks MONOTONIC_COARSE = ClockSnapshot_Clock_BuiltinClocks_MONOTONIC_COARSE; 93 static const BuiltinClocks MONOTONIC_RAW = ClockSnapshot_Clock_BuiltinClocks_MONOTONIC_RAW; 94 static const BuiltinClocks BOOTTIME = ClockSnapshot_Clock_BuiltinClocks_BOOTTIME; 95 static const BuiltinClocks BUILTIN_CLOCK_MAX_ID = ClockSnapshot_Clock_BuiltinClocks_BUILTIN_CLOCK_MAX_ID; set_clock_id(uint32_t value)96 void set_clock_id(uint32_t value) { 97 AppendVarInt(1, value); 98 } set_timestamp(uint64_t value)99 void set_timestamp(uint64_t value) { 100 AppendVarInt(2, value); 101 } set_is_incremental(bool value)102 void set_is_incremental(bool value) { 103 AppendTinyVarInt(3, value); 104 } set_unit_multiplier_ns(uint64_t value)105 void set_unit_multiplier_ns(uint64_t value) { 106 AppendVarInt(4, value); 107 } 108 }; 109 110 } // Namespace. 111 } // Namespace. 112 } // Namespace. 113 #endif // Include guard. 114