1 // Autogenerated by the ProtoZero compiler plugin. DO NOT EDIT. 2 3 #ifndef PERFETTO_PROTOS_TRACE_CONFIG_PROTO_H_ 4 #define PERFETTO_PROTOS_TRACE_CONFIG_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 DataSourceConfig; 19 class TraceConfig_BufferConfig; 20 class TraceConfig_BuiltinDataSource; 21 class TraceConfig_DataSource; 22 class TraceConfig_GuardrailOverrides; 23 class TraceConfig_IncidentReportConfig; 24 class TraceConfig_IncrementalStateConfig; 25 class TraceConfig_ProducerConfig; 26 class TraceConfig_StatsdMetadata; 27 class TraceConfig_TriggerConfig; 28 class TraceConfig_TriggerConfig_Trigger; 29 enum BuiltinClock : int32_t; 30 enum TraceConfig_BufferConfig_FillPolicy : int32_t; 31 enum TraceConfig_CompressionType : int32_t; 32 enum TraceConfig_LockdownModeOperation : int32_t; 33 enum TraceConfig_TriggerConfig_TriggerMode : int32_t; 34 35 enum TraceConfig_LockdownModeOperation : int32_t { 36 TraceConfig_LockdownModeOperation_LOCKDOWN_UNCHANGED = 0, 37 TraceConfig_LockdownModeOperation_LOCKDOWN_CLEAR = 1, 38 TraceConfig_LockdownModeOperation_LOCKDOWN_SET = 2, 39 }; 40 41 const TraceConfig_LockdownModeOperation TraceConfig_LockdownModeOperation_MIN = TraceConfig_LockdownModeOperation_LOCKDOWN_UNCHANGED; 42 const TraceConfig_LockdownModeOperation TraceConfig_LockdownModeOperation_MAX = TraceConfig_LockdownModeOperation_LOCKDOWN_SET; 43 44 enum TraceConfig_CompressionType : int32_t { 45 TraceConfig_CompressionType_COMPRESSION_TYPE_UNSPECIFIED = 0, 46 TraceConfig_CompressionType_COMPRESSION_TYPE_DEFLATE = 1, 47 }; 48 49 const TraceConfig_CompressionType TraceConfig_CompressionType_MIN = TraceConfig_CompressionType_COMPRESSION_TYPE_UNSPECIFIED; 50 const TraceConfig_CompressionType TraceConfig_CompressionType_MAX = TraceConfig_CompressionType_COMPRESSION_TYPE_DEFLATE; 51 52 enum TraceConfig_TriggerConfig_TriggerMode : int32_t { 53 TraceConfig_TriggerConfig_TriggerMode_UNSPECIFIED = 0, 54 TraceConfig_TriggerConfig_TriggerMode_START_TRACING = 1, 55 TraceConfig_TriggerConfig_TriggerMode_STOP_TRACING = 2, 56 }; 57 58 const TraceConfig_TriggerConfig_TriggerMode TraceConfig_TriggerConfig_TriggerMode_MIN = TraceConfig_TriggerConfig_TriggerMode_UNSPECIFIED; 59 const TraceConfig_TriggerConfig_TriggerMode TraceConfig_TriggerConfig_TriggerMode_MAX = TraceConfig_TriggerConfig_TriggerMode_STOP_TRACING; 60 61 enum TraceConfig_BufferConfig_FillPolicy : int32_t { 62 TraceConfig_BufferConfig_FillPolicy_UNSPECIFIED = 0, 63 TraceConfig_BufferConfig_FillPolicy_RING_BUFFER = 1, 64 TraceConfig_BufferConfig_FillPolicy_DISCARD = 2, 65 }; 66 67 const TraceConfig_BufferConfig_FillPolicy TraceConfig_BufferConfig_FillPolicy_MIN = TraceConfig_BufferConfig_FillPolicy_UNSPECIFIED; 68 const TraceConfig_BufferConfig_FillPolicy TraceConfig_BufferConfig_FillPolicy_MAX = TraceConfig_BufferConfig_FillPolicy_DISCARD; 69 70 class TraceConfig_Decoder : public ::protozero::TypedProtoDecoder</*MAX_FIELD_ID=*/29, /*HAS_NONPACKED_REPEATED_FIELDS=*/true> { 71 public: TraceConfig_Decoder(const uint8_t * data,size_t len)72 TraceConfig_Decoder(const uint8_t* data, size_t len) : TypedProtoDecoder(data, len) {} TraceConfig_Decoder(const std::string & raw)73 explicit TraceConfig_Decoder(const std::string& raw) : TypedProtoDecoder(reinterpret_cast<const uint8_t*>(raw.data()), raw.size()) {} TraceConfig_Decoder(const::protozero::ConstBytes & raw)74 explicit TraceConfig_Decoder(const ::protozero::ConstBytes& raw) : TypedProtoDecoder(raw.data, raw.size) {} has_buffers()75 bool has_buffers() const { return at<1>().valid(); } buffers()76 ::protozero::RepeatedFieldIterator<::protozero::ConstBytes> buffers() const { return GetRepeated<::protozero::ConstBytes>(1); } has_data_sources()77 bool has_data_sources() const { return at<2>().valid(); } data_sources()78 ::protozero::RepeatedFieldIterator<::protozero::ConstBytes> data_sources() const { return GetRepeated<::protozero::ConstBytes>(2); } has_builtin_data_sources()79 bool has_builtin_data_sources() const { return at<20>().valid(); } builtin_data_sources()80 ::protozero::ConstBytes builtin_data_sources() const { return at<20>().as_bytes(); } has_duration_ms()81 bool has_duration_ms() const { return at<3>().valid(); } duration_ms()82 uint32_t duration_ms() const { return at<3>().as_uint32(); } has_enable_extra_guardrails()83 bool has_enable_extra_guardrails() const { return at<4>().valid(); } enable_extra_guardrails()84 bool enable_extra_guardrails() const { return at<4>().as_bool(); } has_lockdown_mode()85 bool has_lockdown_mode() const { return at<5>().valid(); } lockdown_mode()86 int32_t lockdown_mode() const { return at<5>().as_int32(); } has_producers()87 bool has_producers() const { return at<6>().valid(); } producers()88 ::protozero::RepeatedFieldIterator<::protozero::ConstBytes> producers() const { return GetRepeated<::protozero::ConstBytes>(6); } has_statsd_metadata()89 bool has_statsd_metadata() const { return at<7>().valid(); } statsd_metadata()90 ::protozero::ConstBytes statsd_metadata() const { return at<7>().as_bytes(); } has_write_into_file()91 bool has_write_into_file() const { return at<8>().valid(); } write_into_file()92 bool write_into_file() const { return at<8>().as_bool(); } has_output_path()93 bool has_output_path() const { return at<29>().valid(); } output_path()94 ::protozero::ConstChars output_path() const { return at<29>().as_string(); } has_file_write_period_ms()95 bool has_file_write_period_ms() const { return at<9>().valid(); } file_write_period_ms()96 uint32_t file_write_period_ms() const { return at<9>().as_uint32(); } has_max_file_size_bytes()97 bool has_max_file_size_bytes() const { return at<10>().valid(); } max_file_size_bytes()98 uint64_t max_file_size_bytes() const { return at<10>().as_uint64(); } has_guardrail_overrides()99 bool has_guardrail_overrides() const { return at<11>().valid(); } guardrail_overrides()100 ::protozero::ConstBytes guardrail_overrides() const { return at<11>().as_bytes(); } has_deferred_start()101 bool has_deferred_start() const { return at<12>().valid(); } deferred_start()102 bool deferred_start() const { return at<12>().as_bool(); } has_flush_period_ms()103 bool has_flush_period_ms() const { return at<13>().valid(); } flush_period_ms()104 uint32_t flush_period_ms() const { return at<13>().as_uint32(); } has_flush_timeout_ms()105 bool has_flush_timeout_ms() const { return at<14>().valid(); } flush_timeout_ms()106 uint32_t flush_timeout_ms() const { return at<14>().as_uint32(); } has_data_source_stop_timeout_ms()107 bool has_data_source_stop_timeout_ms() const { return at<23>().valid(); } data_source_stop_timeout_ms()108 uint32_t data_source_stop_timeout_ms() const { return at<23>().as_uint32(); } has_notify_traceur()109 bool has_notify_traceur() const { return at<16>().valid(); } notify_traceur()110 bool notify_traceur() const { return at<16>().as_bool(); } has_trigger_config()111 bool has_trigger_config() const { return at<17>().valid(); } trigger_config()112 ::protozero::ConstBytes trigger_config() const { return at<17>().as_bytes(); } has_activate_triggers()113 bool has_activate_triggers() const { return at<18>().valid(); } activate_triggers()114 ::protozero::RepeatedFieldIterator<::protozero::ConstChars> activate_triggers() const { return GetRepeated<::protozero::ConstChars>(18); } has_incremental_state_config()115 bool has_incremental_state_config() const { return at<21>().valid(); } incremental_state_config()116 ::protozero::ConstBytes incremental_state_config() const { return at<21>().as_bytes(); } has_allow_user_build_tracing()117 bool has_allow_user_build_tracing() const { return at<19>().valid(); } allow_user_build_tracing()118 bool allow_user_build_tracing() const { return at<19>().as_bool(); } has_unique_session_name()119 bool has_unique_session_name() const { return at<22>().valid(); } unique_session_name()120 ::protozero::ConstChars unique_session_name() const { return at<22>().as_string(); } has_compression_type()121 bool has_compression_type() const { return at<24>().valid(); } compression_type()122 int32_t compression_type() const { return at<24>().as_int32(); } has_incident_report_config()123 bool has_incident_report_config() const { return at<25>().valid(); } incident_report_config()124 ::protozero::ConstBytes incident_report_config() const { return at<25>().as_bytes(); } has_trace_uuid_msb()125 bool has_trace_uuid_msb() const { return at<27>().valid(); } trace_uuid_msb()126 int64_t trace_uuid_msb() const { return at<27>().as_int64(); } has_trace_uuid_lsb()127 bool has_trace_uuid_lsb() const { return at<28>().valid(); } trace_uuid_lsb()128 int64_t trace_uuid_lsb() const { return at<28>().as_int64(); } 129 }; 130 131 class TraceConfig : public ::protozero::Message { 132 public: 133 using Decoder = TraceConfig_Decoder; 134 enum : int32_t { 135 kBuffersFieldNumber = 1, 136 kDataSourcesFieldNumber = 2, 137 kBuiltinDataSourcesFieldNumber = 20, 138 kDurationMsFieldNumber = 3, 139 kEnableExtraGuardrailsFieldNumber = 4, 140 kLockdownModeFieldNumber = 5, 141 kProducersFieldNumber = 6, 142 kStatsdMetadataFieldNumber = 7, 143 kWriteIntoFileFieldNumber = 8, 144 kOutputPathFieldNumber = 29, 145 kFileWritePeriodMsFieldNumber = 9, 146 kMaxFileSizeBytesFieldNumber = 10, 147 kGuardrailOverridesFieldNumber = 11, 148 kDeferredStartFieldNumber = 12, 149 kFlushPeriodMsFieldNumber = 13, 150 kFlushTimeoutMsFieldNumber = 14, 151 kDataSourceStopTimeoutMsFieldNumber = 23, 152 kNotifyTraceurFieldNumber = 16, 153 kTriggerConfigFieldNumber = 17, 154 kActivateTriggersFieldNumber = 18, 155 kIncrementalStateConfigFieldNumber = 21, 156 kAllowUserBuildTracingFieldNumber = 19, 157 kUniqueSessionNameFieldNumber = 22, 158 kCompressionTypeFieldNumber = 24, 159 kIncidentReportConfigFieldNumber = 25, 160 kTraceUuidMsbFieldNumber = 27, 161 kTraceUuidLsbFieldNumber = 28, 162 }; 163 using BufferConfig = ::perfetto::protos::pbzero::TraceConfig_BufferConfig; 164 using DataSource = ::perfetto::protos::pbzero::TraceConfig_DataSource; 165 using BuiltinDataSource = ::perfetto::protos::pbzero::TraceConfig_BuiltinDataSource; 166 using ProducerConfig = ::perfetto::protos::pbzero::TraceConfig_ProducerConfig; 167 using StatsdMetadata = ::perfetto::protos::pbzero::TraceConfig_StatsdMetadata; 168 using GuardrailOverrides = ::perfetto::protos::pbzero::TraceConfig_GuardrailOverrides; 169 using TriggerConfig = ::perfetto::protos::pbzero::TraceConfig_TriggerConfig; 170 using IncrementalStateConfig = ::perfetto::protos::pbzero::TraceConfig_IncrementalStateConfig; 171 using IncidentReportConfig = ::perfetto::protos::pbzero::TraceConfig_IncidentReportConfig; 172 using LockdownModeOperation = ::perfetto::protos::pbzero::TraceConfig_LockdownModeOperation; 173 using CompressionType = ::perfetto::protos::pbzero::TraceConfig_CompressionType; 174 static const LockdownModeOperation LOCKDOWN_UNCHANGED = TraceConfig_LockdownModeOperation_LOCKDOWN_UNCHANGED; 175 static const LockdownModeOperation LOCKDOWN_CLEAR = TraceConfig_LockdownModeOperation_LOCKDOWN_CLEAR; 176 static const LockdownModeOperation LOCKDOWN_SET = TraceConfig_LockdownModeOperation_LOCKDOWN_SET; 177 static const CompressionType COMPRESSION_TYPE_UNSPECIFIED = TraceConfig_CompressionType_COMPRESSION_TYPE_UNSPECIFIED; 178 static const CompressionType COMPRESSION_TYPE_DEFLATE = TraceConfig_CompressionType_COMPRESSION_TYPE_DEFLATE; add_buffers()179 template <typename T = TraceConfig_BufferConfig> T* add_buffers() { 180 return BeginNestedMessage<T>(1); 181 } 182 add_data_sources()183 template <typename T = TraceConfig_DataSource> T* add_data_sources() { 184 return BeginNestedMessage<T>(2); 185 } 186 set_builtin_data_sources()187 template <typename T = TraceConfig_BuiltinDataSource> T* set_builtin_data_sources() { 188 return BeginNestedMessage<T>(20); 189 } 190 set_duration_ms(uint32_t value)191 void set_duration_ms(uint32_t value) { 192 AppendVarInt(3, value); 193 } set_enable_extra_guardrails(bool value)194 void set_enable_extra_guardrails(bool value) { 195 AppendTinyVarInt(4, value); 196 } set_lockdown_mode(::perfetto::protos::pbzero::TraceConfig_LockdownModeOperation value)197 void set_lockdown_mode(::perfetto::protos::pbzero::TraceConfig_LockdownModeOperation value) { 198 AppendTinyVarInt(5, value); 199 } add_producers()200 template <typename T = TraceConfig_ProducerConfig> T* add_producers() { 201 return BeginNestedMessage<T>(6); 202 } 203 set_statsd_metadata()204 template <typename T = TraceConfig_StatsdMetadata> T* set_statsd_metadata() { 205 return BeginNestedMessage<T>(7); 206 } 207 set_write_into_file(bool value)208 void set_write_into_file(bool value) { 209 AppendTinyVarInt(8, value); 210 } set_output_path(const std::string & value)211 void set_output_path(const std::string& value) { 212 AppendBytes(29, value.data(), value.size()); 213 } set_output_path(const char * data,size_t size)214 void set_output_path(const char* data, size_t size) { 215 AppendBytes(29, data, size); 216 } set_file_write_period_ms(uint32_t value)217 void set_file_write_period_ms(uint32_t value) { 218 AppendVarInt(9, value); 219 } set_max_file_size_bytes(uint64_t value)220 void set_max_file_size_bytes(uint64_t value) { 221 AppendVarInt(10, value); 222 } set_guardrail_overrides()223 template <typename T = TraceConfig_GuardrailOverrides> T* set_guardrail_overrides() { 224 return BeginNestedMessage<T>(11); 225 } 226 set_deferred_start(bool value)227 void set_deferred_start(bool value) { 228 AppendTinyVarInt(12, value); 229 } set_flush_period_ms(uint32_t value)230 void set_flush_period_ms(uint32_t value) { 231 AppendVarInt(13, value); 232 } set_flush_timeout_ms(uint32_t value)233 void set_flush_timeout_ms(uint32_t value) { 234 AppendVarInt(14, value); 235 } set_data_source_stop_timeout_ms(uint32_t value)236 void set_data_source_stop_timeout_ms(uint32_t value) { 237 AppendVarInt(23, value); 238 } set_notify_traceur(bool value)239 void set_notify_traceur(bool value) { 240 AppendTinyVarInt(16, value); 241 } set_trigger_config()242 template <typename T = TraceConfig_TriggerConfig> T* set_trigger_config() { 243 return BeginNestedMessage<T>(17); 244 } 245 add_activate_triggers(const std::string & value)246 void add_activate_triggers(const std::string& value) { 247 AppendBytes(18, value.data(), value.size()); 248 } add_activate_triggers(const char * data,size_t size)249 void add_activate_triggers(const char* data, size_t size) { 250 AppendBytes(18, data, size); 251 } set_incremental_state_config()252 template <typename T = TraceConfig_IncrementalStateConfig> T* set_incremental_state_config() { 253 return BeginNestedMessage<T>(21); 254 } 255 set_allow_user_build_tracing(bool value)256 void set_allow_user_build_tracing(bool value) { 257 AppendTinyVarInt(19, value); 258 } set_unique_session_name(const std::string & value)259 void set_unique_session_name(const std::string& value) { 260 AppendBytes(22, value.data(), value.size()); 261 } set_unique_session_name(const char * data,size_t size)262 void set_unique_session_name(const char* data, size_t size) { 263 AppendBytes(22, data, size); 264 } set_compression_type(::perfetto::protos::pbzero::TraceConfig_CompressionType value)265 void set_compression_type(::perfetto::protos::pbzero::TraceConfig_CompressionType value) { 266 AppendTinyVarInt(24, value); 267 } set_incident_report_config()268 template <typename T = TraceConfig_IncidentReportConfig> T* set_incident_report_config() { 269 return BeginNestedMessage<T>(25); 270 } 271 set_trace_uuid_msb(int64_t value)272 void set_trace_uuid_msb(int64_t value) { 273 AppendVarInt(27, value); 274 } set_trace_uuid_lsb(int64_t value)275 void set_trace_uuid_lsb(int64_t value) { 276 AppendVarInt(28, value); 277 } 278 }; 279 280 class TraceConfig_IncidentReportConfig_Decoder : public ::protozero::TypedProtoDecoder</*MAX_FIELD_ID=*/4, /*HAS_NONPACKED_REPEATED_FIELDS=*/false> { 281 public: TraceConfig_IncidentReportConfig_Decoder(const uint8_t * data,size_t len)282 TraceConfig_IncidentReportConfig_Decoder(const uint8_t* data, size_t len) : TypedProtoDecoder(data, len) {} TraceConfig_IncidentReportConfig_Decoder(const std::string & raw)283 explicit TraceConfig_IncidentReportConfig_Decoder(const std::string& raw) : TypedProtoDecoder(reinterpret_cast<const uint8_t*>(raw.data()), raw.size()) {} TraceConfig_IncidentReportConfig_Decoder(const::protozero::ConstBytes & raw)284 explicit TraceConfig_IncidentReportConfig_Decoder(const ::protozero::ConstBytes& raw) : TypedProtoDecoder(raw.data, raw.size) {} has_destination_package()285 bool has_destination_package() const { return at<1>().valid(); } destination_package()286 ::protozero::ConstChars destination_package() const { return at<1>().as_string(); } has_destination_class()287 bool has_destination_class() const { return at<2>().valid(); } destination_class()288 ::protozero::ConstChars destination_class() const { return at<2>().as_string(); } has_privacy_level()289 bool has_privacy_level() const { return at<3>().valid(); } privacy_level()290 int32_t privacy_level() const { return at<3>().as_int32(); } has_skip_dropbox()291 bool has_skip_dropbox() const { return at<4>().valid(); } skip_dropbox()292 bool skip_dropbox() const { return at<4>().as_bool(); } 293 }; 294 295 class TraceConfig_IncidentReportConfig : public ::protozero::Message { 296 public: 297 using Decoder = TraceConfig_IncidentReportConfig_Decoder; 298 enum : int32_t { 299 kDestinationPackageFieldNumber = 1, 300 kDestinationClassFieldNumber = 2, 301 kPrivacyLevelFieldNumber = 3, 302 kSkipDropboxFieldNumber = 4, 303 }; set_destination_package(const std::string & value)304 void set_destination_package(const std::string& value) { 305 AppendBytes(1, value.data(), value.size()); 306 } set_destination_package(const char * data,size_t size)307 void set_destination_package(const char* data, size_t size) { 308 AppendBytes(1, data, size); 309 } set_destination_class(const std::string & value)310 void set_destination_class(const std::string& value) { 311 AppendBytes(2, value.data(), value.size()); 312 } set_destination_class(const char * data,size_t size)313 void set_destination_class(const char* data, size_t size) { 314 AppendBytes(2, data, size); 315 } set_privacy_level(int32_t value)316 void set_privacy_level(int32_t value) { 317 AppendVarInt(3, value); 318 } set_skip_dropbox(bool value)319 void set_skip_dropbox(bool value) { 320 AppendTinyVarInt(4, value); 321 } 322 }; 323 324 class TraceConfig_IncrementalStateConfig_Decoder : public ::protozero::TypedProtoDecoder</*MAX_FIELD_ID=*/1, /*HAS_NONPACKED_REPEATED_FIELDS=*/false> { 325 public: TraceConfig_IncrementalStateConfig_Decoder(const uint8_t * data,size_t len)326 TraceConfig_IncrementalStateConfig_Decoder(const uint8_t* data, size_t len) : TypedProtoDecoder(data, len) {} TraceConfig_IncrementalStateConfig_Decoder(const std::string & raw)327 explicit TraceConfig_IncrementalStateConfig_Decoder(const std::string& raw) : TypedProtoDecoder(reinterpret_cast<const uint8_t*>(raw.data()), raw.size()) {} TraceConfig_IncrementalStateConfig_Decoder(const::protozero::ConstBytes & raw)328 explicit TraceConfig_IncrementalStateConfig_Decoder(const ::protozero::ConstBytes& raw) : TypedProtoDecoder(raw.data, raw.size) {} has_clear_period_ms()329 bool has_clear_period_ms() const { return at<1>().valid(); } clear_period_ms()330 uint32_t clear_period_ms() const { return at<1>().as_uint32(); } 331 }; 332 333 class TraceConfig_IncrementalStateConfig : public ::protozero::Message { 334 public: 335 using Decoder = TraceConfig_IncrementalStateConfig_Decoder; 336 enum : int32_t { 337 kClearPeriodMsFieldNumber = 1, 338 }; set_clear_period_ms(uint32_t value)339 void set_clear_period_ms(uint32_t value) { 340 AppendVarInt(1, value); 341 } 342 }; 343 344 class TraceConfig_TriggerConfig_Decoder : public ::protozero::TypedProtoDecoder</*MAX_FIELD_ID=*/3, /*HAS_NONPACKED_REPEATED_FIELDS=*/true> { 345 public: TraceConfig_TriggerConfig_Decoder(const uint8_t * data,size_t len)346 TraceConfig_TriggerConfig_Decoder(const uint8_t* data, size_t len) : TypedProtoDecoder(data, len) {} TraceConfig_TriggerConfig_Decoder(const std::string & raw)347 explicit TraceConfig_TriggerConfig_Decoder(const std::string& raw) : TypedProtoDecoder(reinterpret_cast<const uint8_t*>(raw.data()), raw.size()) {} TraceConfig_TriggerConfig_Decoder(const::protozero::ConstBytes & raw)348 explicit TraceConfig_TriggerConfig_Decoder(const ::protozero::ConstBytes& raw) : TypedProtoDecoder(raw.data, raw.size) {} has_trigger_mode()349 bool has_trigger_mode() const { return at<1>().valid(); } trigger_mode()350 int32_t trigger_mode() const { return at<1>().as_int32(); } has_triggers()351 bool has_triggers() const { return at<2>().valid(); } triggers()352 ::protozero::RepeatedFieldIterator<::protozero::ConstBytes> triggers() const { return GetRepeated<::protozero::ConstBytes>(2); } has_trigger_timeout_ms()353 bool has_trigger_timeout_ms() const { return at<3>().valid(); } trigger_timeout_ms()354 uint32_t trigger_timeout_ms() const { return at<3>().as_uint32(); } 355 }; 356 357 class TraceConfig_TriggerConfig : public ::protozero::Message { 358 public: 359 using Decoder = TraceConfig_TriggerConfig_Decoder; 360 enum : int32_t { 361 kTriggerModeFieldNumber = 1, 362 kTriggersFieldNumber = 2, 363 kTriggerTimeoutMsFieldNumber = 3, 364 }; 365 using Trigger = ::perfetto::protos::pbzero::TraceConfig_TriggerConfig_Trigger; 366 using TriggerMode = ::perfetto::protos::pbzero::TraceConfig_TriggerConfig_TriggerMode; 367 static const TriggerMode UNSPECIFIED = TraceConfig_TriggerConfig_TriggerMode_UNSPECIFIED; 368 static const TriggerMode START_TRACING = TraceConfig_TriggerConfig_TriggerMode_START_TRACING; 369 static const TriggerMode STOP_TRACING = TraceConfig_TriggerConfig_TriggerMode_STOP_TRACING; set_trigger_mode(::perfetto::protos::pbzero::TraceConfig_TriggerConfig_TriggerMode value)370 void set_trigger_mode(::perfetto::protos::pbzero::TraceConfig_TriggerConfig_TriggerMode value) { 371 AppendTinyVarInt(1, value); 372 } add_triggers()373 template <typename T = TraceConfig_TriggerConfig_Trigger> T* add_triggers() { 374 return BeginNestedMessage<T>(2); 375 } 376 set_trigger_timeout_ms(uint32_t value)377 void set_trigger_timeout_ms(uint32_t value) { 378 AppendVarInt(3, value); 379 } 380 }; 381 382 class TraceConfig_TriggerConfig_Trigger_Decoder : public ::protozero::TypedProtoDecoder</*MAX_FIELD_ID=*/3, /*HAS_NONPACKED_REPEATED_FIELDS=*/false> { 383 public: TraceConfig_TriggerConfig_Trigger_Decoder(const uint8_t * data,size_t len)384 TraceConfig_TriggerConfig_Trigger_Decoder(const uint8_t* data, size_t len) : TypedProtoDecoder(data, len) {} TraceConfig_TriggerConfig_Trigger_Decoder(const std::string & raw)385 explicit TraceConfig_TriggerConfig_Trigger_Decoder(const std::string& raw) : TypedProtoDecoder(reinterpret_cast<const uint8_t*>(raw.data()), raw.size()) {} TraceConfig_TriggerConfig_Trigger_Decoder(const::protozero::ConstBytes & raw)386 explicit TraceConfig_TriggerConfig_Trigger_Decoder(const ::protozero::ConstBytes& raw) : TypedProtoDecoder(raw.data, raw.size) {} has_name()387 bool has_name() const { return at<1>().valid(); } name()388 ::protozero::ConstChars name() const { return at<1>().as_string(); } has_producer_name_regex()389 bool has_producer_name_regex() const { return at<2>().valid(); } producer_name_regex()390 ::protozero::ConstChars producer_name_regex() const { return at<2>().as_string(); } has_stop_delay_ms()391 bool has_stop_delay_ms() const { return at<3>().valid(); } stop_delay_ms()392 uint32_t stop_delay_ms() const { return at<3>().as_uint32(); } 393 }; 394 395 class TraceConfig_TriggerConfig_Trigger : public ::protozero::Message { 396 public: 397 using Decoder = TraceConfig_TriggerConfig_Trigger_Decoder; 398 enum : int32_t { 399 kNameFieldNumber = 1, 400 kProducerNameRegexFieldNumber = 2, 401 kStopDelayMsFieldNumber = 3, 402 }; set_name(const std::string & value)403 void set_name(const std::string& value) { 404 AppendBytes(1, value.data(), value.size()); 405 } set_name(const char * data,size_t size)406 void set_name(const char* data, size_t size) { 407 AppendBytes(1, data, size); 408 } set_producer_name_regex(const std::string & value)409 void set_producer_name_regex(const std::string& value) { 410 AppendBytes(2, value.data(), value.size()); 411 } set_producer_name_regex(const char * data,size_t size)412 void set_producer_name_regex(const char* data, size_t size) { 413 AppendBytes(2, data, size); 414 } set_stop_delay_ms(uint32_t value)415 void set_stop_delay_ms(uint32_t value) { 416 AppendVarInt(3, value); 417 } 418 }; 419 420 class TraceConfig_GuardrailOverrides_Decoder : public ::protozero::TypedProtoDecoder</*MAX_FIELD_ID=*/1, /*HAS_NONPACKED_REPEATED_FIELDS=*/false> { 421 public: TraceConfig_GuardrailOverrides_Decoder(const uint8_t * data,size_t len)422 TraceConfig_GuardrailOverrides_Decoder(const uint8_t* data, size_t len) : TypedProtoDecoder(data, len) {} TraceConfig_GuardrailOverrides_Decoder(const std::string & raw)423 explicit TraceConfig_GuardrailOverrides_Decoder(const std::string& raw) : TypedProtoDecoder(reinterpret_cast<const uint8_t*>(raw.data()), raw.size()) {} TraceConfig_GuardrailOverrides_Decoder(const::protozero::ConstBytes & raw)424 explicit TraceConfig_GuardrailOverrides_Decoder(const ::protozero::ConstBytes& raw) : TypedProtoDecoder(raw.data, raw.size) {} has_max_upload_per_day_bytes()425 bool has_max_upload_per_day_bytes() const { return at<1>().valid(); } max_upload_per_day_bytes()426 uint64_t max_upload_per_day_bytes() const { return at<1>().as_uint64(); } 427 }; 428 429 class TraceConfig_GuardrailOverrides : public ::protozero::Message { 430 public: 431 using Decoder = TraceConfig_GuardrailOverrides_Decoder; 432 enum : int32_t { 433 kMaxUploadPerDayBytesFieldNumber = 1, 434 }; set_max_upload_per_day_bytes(uint64_t value)435 void set_max_upload_per_day_bytes(uint64_t value) { 436 AppendVarInt(1, value); 437 } 438 }; 439 440 class TraceConfig_StatsdMetadata_Decoder : public ::protozero::TypedProtoDecoder</*MAX_FIELD_ID=*/4, /*HAS_NONPACKED_REPEATED_FIELDS=*/false> { 441 public: TraceConfig_StatsdMetadata_Decoder(const uint8_t * data,size_t len)442 TraceConfig_StatsdMetadata_Decoder(const uint8_t* data, size_t len) : TypedProtoDecoder(data, len) {} TraceConfig_StatsdMetadata_Decoder(const std::string & raw)443 explicit TraceConfig_StatsdMetadata_Decoder(const std::string& raw) : TypedProtoDecoder(reinterpret_cast<const uint8_t*>(raw.data()), raw.size()) {} TraceConfig_StatsdMetadata_Decoder(const::protozero::ConstBytes & raw)444 explicit TraceConfig_StatsdMetadata_Decoder(const ::protozero::ConstBytes& raw) : TypedProtoDecoder(raw.data, raw.size) {} has_triggering_alert_id()445 bool has_triggering_alert_id() const { return at<1>().valid(); } triggering_alert_id()446 int64_t triggering_alert_id() const { return at<1>().as_int64(); } has_triggering_config_uid()447 bool has_triggering_config_uid() const { return at<2>().valid(); } triggering_config_uid()448 int32_t triggering_config_uid() const { return at<2>().as_int32(); } has_triggering_config_id()449 bool has_triggering_config_id() const { return at<3>().valid(); } triggering_config_id()450 int64_t triggering_config_id() const { return at<3>().as_int64(); } has_triggering_subscription_id()451 bool has_triggering_subscription_id() const { return at<4>().valid(); } triggering_subscription_id()452 int64_t triggering_subscription_id() const { return at<4>().as_int64(); } 453 }; 454 455 class TraceConfig_StatsdMetadata : public ::protozero::Message { 456 public: 457 using Decoder = TraceConfig_StatsdMetadata_Decoder; 458 enum : int32_t { 459 kTriggeringAlertIdFieldNumber = 1, 460 kTriggeringConfigUidFieldNumber = 2, 461 kTriggeringConfigIdFieldNumber = 3, 462 kTriggeringSubscriptionIdFieldNumber = 4, 463 }; set_triggering_alert_id(int64_t value)464 void set_triggering_alert_id(int64_t value) { 465 AppendVarInt(1, value); 466 } set_triggering_config_uid(int32_t value)467 void set_triggering_config_uid(int32_t value) { 468 AppendVarInt(2, value); 469 } set_triggering_config_id(int64_t value)470 void set_triggering_config_id(int64_t value) { 471 AppendVarInt(3, value); 472 } set_triggering_subscription_id(int64_t value)473 void set_triggering_subscription_id(int64_t value) { 474 AppendVarInt(4, value); 475 } 476 }; 477 478 class TraceConfig_ProducerConfig_Decoder : public ::protozero::TypedProtoDecoder</*MAX_FIELD_ID=*/3, /*HAS_NONPACKED_REPEATED_FIELDS=*/false> { 479 public: TraceConfig_ProducerConfig_Decoder(const uint8_t * data,size_t len)480 TraceConfig_ProducerConfig_Decoder(const uint8_t* data, size_t len) : TypedProtoDecoder(data, len) {} TraceConfig_ProducerConfig_Decoder(const std::string & raw)481 explicit TraceConfig_ProducerConfig_Decoder(const std::string& raw) : TypedProtoDecoder(reinterpret_cast<const uint8_t*>(raw.data()), raw.size()) {} TraceConfig_ProducerConfig_Decoder(const::protozero::ConstBytes & raw)482 explicit TraceConfig_ProducerConfig_Decoder(const ::protozero::ConstBytes& raw) : TypedProtoDecoder(raw.data, raw.size) {} has_producer_name()483 bool has_producer_name() const { return at<1>().valid(); } producer_name()484 ::protozero::ConstChars producer_name() const { return at<1>().as_string(); } has_shm_size_kb()485 bool has_shm_size_kb() const { return at<2>().valid(); } shm_size_kb()486 uint32_t shm_size_kb() const { return at<2>().as_uint32(); } has_page_size_kb()487 bool has_page_size_kb() const { return at<3>().valid(); } page_size_kb()488 uint32_t page_size_kb() const { return at<3>().as_uint32(); } 489 }; 490 491 class TraceConfig_ProducerConfig : public ::protozero::Message { 492 public: 493 using Decoder = TraceConfig_ProducerConfig_Decoder; 494 enum : int32_t { 495 kProducerNameFieldNumber = 1, 496 kShmSizeKbFieldNumber = 2, 497 kPageSizeKbFieldNumber = 3, 498 }; set_producer_name(const std::string & value)499 void set_producer_name(const std::string& value) { 500 AppendBytes(1, value.data(), value.size()); 501 } set_producer_name(const char * data,size_t size)502 void set_producer_name(const char* data, size_t size) { 503 AppendBytes(1, data, size); 504 } set_shm_size_kb(uint32_t value)505 void set_shm_size_kb(uint32_t value) { 506 AppendVarInt(2, value); 507 } set_page_size_kb(uint32_t value)508 void set_page_size_kb(uint32_t value) { 509 AppendVarInt(3, value); 510 } 511 }; 512 513 class TraceConfig_BuiltinDataSource_Decoder : public ::protozero::TypedProtoDecoder</*MAX_FIELD_ID=*/6, /*HAS_NONPACKED_REPEATED_FIELDS=*/false> { 514 public: TraceConfig_BuiltinDataSource_Decoder(const uint8_t * data,size_t len)515 TraceConfig_BuiltinDataSource_Decoder(const uint8_t* data, size_t len) : TypedProtoDecoder(data, len) {} TraceConfig_BuiltinDataSource_Decoder(const std::string & raw)516 explicit TraceConfig_BuiltinDataSource_Decoder(const std::string& raw) : TypedProtoDecoder(reinterpret_cast<const uint8_t*>(raw.data()), raw.size()) {} TraceConfig_BuiltinDataSource_Decoder(const::protozero::ConstBytes & raw)517 explicit TraceConfig_BuiltinDataSource_Decoder(const ::protozero::ConstBytes& raw) : TypedProtoDecoder(raw.data, raw.size) {} has_disable_clock_snapshotting()518 bool has_disable_clock_snapshotting() const { return at<1>().valid(); } disable_clock_snapshotting()519 bool disable_clock_snapshotting() const { return at<1>().as_bool(); } has_disable_trace_config()520 bool has_disable_trace_config() const { return at<2>().valid(); } disable_trace_config()521 bool disable_trace_config() const { return at<2>().as_bool(); } has_disable_system_info()522 bool has_disable_system_info() const { return at<3>().valid(); } disable_system_info()523 bool disable_system_info() const { return at<3>().as_bool(); } has_disable_service_events()524 bool has_disable_service_events() const { return at<4>().valid(); } disable_service_events()525 bool disable_service_events() const { return at<4>().as_bool(); } has_primary_trace_clock()526 bool has_primary_trace_clock() const { return at<5>().valid(); } primary_trace_clock()527 int32_t primary_trace_clock() const { return at<5>().as_int32(); } has_snapshot_interval_ms()528 bool has_snapshot_interval_ms() const { return at<6>().valid(); } snapshot_interval_ms()529 uint32_t snapshot_interval_ms() const { return at<6>().as_uint32(); } 530 }; 531 532 class TraceConfig_BuiltinDataSource : public ::protozero::Message { 533 public: 534 using Decoder = TraceConfig_BuiltinDataSource_Decoder; 535 enum : int32_t { 536 kDisableClockSnapshottingFieldNumber = 1, 537 kDisableTraceConfigFieldNumber = 2, 538 kDisableSystemInfoFieldNumber = 3, 539 kDisableServiceEventsFieldNumber = 4, 540 kPrimaryTraceClockFieldNumber = 5, 541 kSnapshotIntervalMsFieldNumber = 6, 542 }; set_disable_clock_snapshotting(bool value)543 void set_disable_clock_snapshotting(bool value) { 544 AppendTinyVarInt(1, value); 545 } set_disable_trace_config(bool value)546 void set_disable_trace_config(bool value) { 547 AppendTinyVarInt(2, value); 548 } set_disable_system_info(bool value)549 void set_disable_system_info(bool value) { 550 AppendTinyVarInt(3, value); 551 } set_disable_service_events(bool value)552 void set_disable_service_events(bool value) { 553 AppendTinyVarInt(4, value); 554 } set_primary_trace_clock(::perfetto::protos::pbzero::BuiltinClock value)555 void set_primary_trace_clock(::perfetto::protos::pbzero::BuiltinClock value) { 556 AppendTinyVarInt(5, value); 557 } set_snapshot_interval_ms(uint32_t value)558 void set_snapshot_interval_ms(uint32_t value) { 559 AppendVarInt(6, value); 560 } 561 }; 562 563 class TraceConfig_DataSource_Decoder : public ::protozero::TypedProtoDecoder</*MAX_FIELD_ID=*/3, /*HAS_NONPACKED_REPEATED_FIELDS=*/true> { 564 public: TraceConfig_DataSource_Decoder(const uint8_t * data,size_t len)565 TraceConfig_DataSource_Decoder(const uint8_t* data, size_t len) : TypedProtoDecoder(data, len) {} TraceConfig_DataSource_Decoder(const std::string & raw)566 explicit TraceConfig_DataSource_Decoder(const std::string& raw) : TypedProtoDecoder(reinterpret_cast<const uint8_t*>(raw.data()), raw.size()) {} TraceConfig_DataSource_Decoder(const::protozero::ConstBytes & raw)567 explicit TraceConfig_DataSource_Decoder(const ::protozero::ConstBytes& raw) : TypedProtoDecoder(raw.data, raw.size) {} has_config()568 bool has_config() const { return at<1>().valid(); } config()569 ::protozero::ConstBytes config() const { return at<1>().as_bytes(); } has_producer_name_filter()570 bool has_producer_name_filter() const { return at<2>().valid(); } producer_name_filter()571 ::protozero::RepeatedFieldIterator<::protozero::ConstChars> producer_name_filter() const { return GetRepeated<::protozero::ConstChars>(2); } has_producer_name_regex_filter()572 bool has_producer_name_regex_filter() const { return at<3>().valid(); } producer_name_regex_filter()573 ::protozero::RepeatedFieldIterator<::protozero::ConstChars> producer_name_regex_filter() const { return GetRepeated<::protozero::ConstChars>(3); } 574 }; 575 576 class TraceConfig_DataSource : public ::protozero::Message { 577 public: 578 using Decoder = TraceConfig_DataSource_Decoder; 579 enum : int32_t { 580 kConfigFieldNumber = 1, 581 kProducerNameFilterFieldNumber = 2, 582 kProducerNameRegexFilterFieldNumber = 3, 583 }; set_config()584 template <typename T = DataSourceConfig> T* set_config() { 585 return BeginNestedMessage<T>(1); 586 } 587 add_producer_name_filter(const std::string & value)588 void add_producer_name_filter(const std::string& value) { 589 AppendBytes(2, value.data(), value.size()); 590 } add_producer_name_filter(const char * data,size_t size)591 void add_producer_name_filter(const char* data, size_t size) { 592 AppendBytes(2, data, size); 593 } add_producer_name_regex_filter(const std::string & value)594 void add_producer_name_regex_filter(const std::string& value) { 595 AppendBytes(3, value.data(), value.size()); 596 } add_producer_name_regex_filter(const char * data,size_t size)597 void add_producer_name_regex_filter(const char* data, size_t size) { 598 AppendBytes(3, data, size); 599 } 600 }; 601 602 class TraceConfig_BufferConfig_Decoder : public ::protozero::TypedProtoDecoder</*MAX_FIELD_ID=*/4, /*HAS_NONPACKED_REPEATED_FIELDS=*/false> { 603 public: TraceConfig_BufferConfig_Decoder(const uint8_t * data,size_t len)604 TraceConfig_BufferConfig_Decoder(const uint8_t* data, size_t len) : TypedProtoDecoder(data, len) {} TraceConfig_BufferConfig_Decoder(const std::string & raw)605 explicit TraceConfig_BufferConfig_Decoder(const std::string& raw) : TypedProtoDecoder(reinterpret_cast<const uint8_t*>(raw.data()), raw.size()) {} TraceConfig_BufferConfig_Decoder(const::protozero::ConstBytes & raw)606 explicit TraceConfig_BufferConfig_Decoder(const ::protozero::ConstBytes& raw) : TypedProtoDecoder(raw.data, raw.size) {} has_size_kb()607 bool has_size_kb() const { return at<1>().valid(); } size_kb()608 uint32_t size_kb() const { return at<1>().as_uint32(); } has_fill_policy()609 bool has_fill_policy() const { return at<4>().valid(); } fill_policy()610 int32_t fill_policy() const { return at<4>().as_int32(); } 611 }; 612 613 class TraceConfig_BufferConfig : public ::protozero::Message { 614 public: 615 using Decoder = TraceConfig_BufferConfig_Decoder; 616 enum : int32_t { 617 kSizeKbFieldNumber = 1, 618 kFillPolicyFieldNumber = 4, 619 }; 620 using FillPolicy = ::perfetto::protos::pbzero::TraceConfig_BufferConfig_FillPolicy; 621 static const FillPolicy UNSPECIFIED = TraceConfig_BufferConfig_FillPolicy_UNSPECIFIED; 622 static const FillPolicy RING_BUFFER = TraceConfig_BufferConfig_FillPolicy_RING_BUFFER; 623 static const FillPolicy DISCARD = TraceConfig_BufferConfig_FillPolicy_DISCARD; set_size_kb(uint32_t value)624 void set_size_kb(uint32_t value) { 625 AppendVarInt(1, value); 626 } set_fill_policy(::perfetto::protos::pbzero::TraceConfig_BufferConfig_FillPolicy value)627 void set_fill_policy(::perfetto::protos::pbzero::TraceConfig_BufferConfig_FillPolicy value) { 628 AppendTinyVarInt(4, value); 629 } 630 }; 631 632 } // Namespace. 633 } // Namespace. 634 } // Namespace. 635 #endif // Include guard. 636