1 // DO NOT EDIT. Autogenerated by Perfetto cppgen_plugin 2 #ifndef PERFETTO_PROTOS_PROTOS_PERFETTO_IPC_CONSUMER_PORT_PROTO_CPP_H_ 3 #define PERFETTO_PROTOS_PROTOS_PERFETTO_IPC_CONSUMER_PORT_PROTO_CPP_H_ 4 5 #include <stdint.h> 6 #include <bitset> 7 #include <vector> 8 #include <string> 9 #include <type_traits> 10 11 #include "perfetto/protozero/cpp_message_obj.h" 12 #include "perfetto/protozero/copyable_ptr.h" 13 #include "perfetto/base/export.h" 14 15 namespace perfetto { 16 namespace protos { 17 namespace gen { 18 class CloneSessionResponse; 19 class CloneSessionRequest; 20 class SaveTraceForBugreportResponse; 21 class SaveTraceForBugreportRequest; 22 class QueryCapabilitiesResponse; 23 class TracingServiceCapabilities; 24 class QueryCapabilitiesRequest; 25 class QueryServiceStateResponse; 26 class TracingServiceState; 27 class TracingServiceState_TracingSession; 28 class TracingServiceState_DataSource; 29 class DataSourceDescriptor; 30 class TracingServiceState_Producer; 31 class QueryServiceStateRequest; 32 class ObserveEventsResponse; 33 class ObservableEvents; 34 class ObservableEvents_CloneTriggerHit; 35 class ObservableEvents_DataSourceInstanceStateChange; 36 class ObserveEventsRequest; 37 class GetTraceStatsResponse; 38 class TraceStats; 39 class TraceStats_FilterStats; 40 class TraceStats_WriterStats; 41 class TraceStats_BufferStats; 42 class GetTraceStatsRequest; 43 class AttachResponse; 44 class TraceConfig; 45 class TraceConfig_SessionSemaphore; 46 class TraceConfig_CmdTraceStartDelay; 47 class TraceConfig_AndroidReportConfig; 48 class TraceConfig_TraceFilter; 49 class TraceConfig_TraceFilter_StringFilterChain; 50 class TraceConfig_TraceFilter_StringFilterRule; 51 class TraceConfig_IncidentReportConfig; 52 class TraceConfig_IncrementalStateConfig; 53 class TraceConfig_TriggerConfig; 54 class TraceConfig_TriggerConfig_Trigger; 55 class TraceConfig_GuardrailOverrides; 56 class TraceConfig_StatsdMetadata; 57 class TraceConfig_ProducerConfig; 58 class TraceConfig_BuiltinDataSource; 59 class TraceConfig_DataSource; 60 class DataSourceConfig; 61 class TestConfig; 62 class TestConfig_DummyFields; 63 class InterceptorConfig; 64 class ConsoleConfig; 65 class ChromeConfig; 66 class SystemInfoConfig; 67 class TraceConfig_BufferConfig; 68 class AttachRequest; 69 class DetachResponse; 70 class DetachRequest; 71 class FlushResponse; 72 class FlushRequest; 73 class FreeBuffersResponse; 74 class FreeBuffersRequest; 75 class ReadBuffersResponse; 76 class ReadBuffersResponse_Slice; 77 class ReadBuffersRequest; 78 class DisableTracingResponse; 79 class DisableTracingRequest; 80 class ChangeTraceConfigResponse; 81 class ChangeTraceConfigRequest; 82 class StartTracingResponse; 83 class StartTracingRequest; 84 class EnableTracingResponse; 85 class EnableTracingRequest; 86 enum ObservableEvents_Type : int; 87 enum ObservableEvents_DataSourceInstanceState : int; 88 enum TraceStats_FinalFlushOutcome : int; 89 enum TraceConfig_LockdownModeOperation : int; 90 enum TraceConfig_CompressionType : int; 91 enum TraceConfig_StatsdLogging : int; 92 enum TraceConfig_TraceFilter_StringFilterPolicy : int; 93 enum TraceConfig_TriggerConfig_TriggerMode : int; 94 enum BuiltinClock : int; 95 enum DataSourceConfig_SessionInitiator : int; 96 enum ConsoleConfig_Output : int; 97 enum ChromeConfig_ClientPriority : int; 98 enum TraceConfig_BufferConfig_FillPolicy : int; 99 } // namespace perfetto 100 } // namespace protos 101 } // namespace gen 102 103 namespace protozero { 104 class Message; 105 } // namespace protozero 106 107 namespace perfetto { 108 namespace protos { 109 namespace gen { 110 111 class PERFETTO_EXPORT_COMPONENT CloneSessionResponse : public ::protozero::CppMessageObj { 112 public: 113 enum FieldNumbers { 114 kSuccessFieldNumber = 1, 115 kErrorFieldNumber = 2, 116 kUuidMsbFieldNumber = 3, 117 kUuidLsbFieldNumber = 4, 118 }; 119 120 CloneSessionResponse(); 121 ~CloneSessionResponse() override; 122 CloneSessionResponse(CloneSessionResponse&&) noexcept; 123 CloneSessionResponse& operator=(CloneSessionResponse&&); 124 CloneSessionResponse(const CloneSessionResponse&); 125 CloneSessionResponse& operator=(const CloneSessionResponse&); 126 bool operator==(const CloneSessionResponse&) const; 127 bool operator!=(const CloneSessionResponse& other) const { return !(*this == other); } 128 129 bool ParseFromArray(const void*, size_t) override; 130 std::string SerializeAsString() const override; 131 std::vector<uint8_t> SerializeAsArray() const override; 132 void Serialize(::protozero::Message*) const; 133 has_success()134 bool has_success() const { return _has_field_[1]; } success()135 bool success() const { return success_; } set_success(bool value)136 void set_success(bool value) { success_ = value; _has_field_.set(1); } 137 has_error()138 bool has_error() const { return _has_field_[2]; } error()139 const std::string& error() const { return error_; } set_error(const std::string & value)140 void set_error(const std::string& value) { error_ = value; _has_field_.set(2); } 141 has_uuid_msb()142 bool has_uuid_msb() const { return _has_field_[3]; } uuid_msb()143 int64_t uuid_msb() const { return uuid_msb_; } set_uuid_msb(int64_t value)144 void set_uuid_msb(int64_t value) { uuid_msb_ = value; _has_field_.set(3); } 145 has_uuid_lsb()146 bool has_uuid_lsb() const { return _has_field_[4]; } uuid_lsb()147 int64_t uuid_lsb() const { return uuid_lsb_; } set_uuid_lsb(int64_t value)148 void set_uuid_lsb(int64_t value) { uuid_lsb_ = value; _has_field_.set(4); } 149 150 private: 151 bool success_{}; 152 std::string error_{}; 153 int64_t uuid_msb_{}; 154 int64_t uuid_lsb_{}; 155 156 // Allows to preserve unknown protobuf fields for compatibility 157 // with future versions of .proto files. 158 std::string unknown_fields_; 159 160 std::bitset<5> _has_field_{}; 161 }; 162 163 164 class PERFETTO_EXPORT_COMPONENT CloneSessionRequest : public ::protozero::CppMessageObj { 165 public: 166 enum FieldNumbers { 167 kSessionIdFieldNumber = 1, 168 kUniqueSessionNameFieldNumber = 4, 169 kSkipTraceFilterFieldNumber = 2, 170 kForBugreportFieldNumber = 3, 171 kCloneTriggerNameFieldNumber = 5, 172 kCloneTriggerProducerNameFieldNumber = 6, 173 kCloneTriggerTrustedProducerUidFieldNumber = 7, 174 kCloneTriggerBootTimeNsFieldNumber = 8, 175 }; 176 177 CloneSessionRequest(); 178 ~CloneSessionRequest() override; 179 CloneSessionRequest(CloneSessionRequest&&) noexcept; 180 CloneSessionRequest& operator=(CloneSessionRequest&&); 181 CloneSessionRequest(const CloneSessionRequest&); 182 CloneSessionRequest& operator=(const CloneSessionRequest&); 183 bool operator==(const CloneSessionRequest&) const; 184 bool operator!=(const CloneSessionRequest& other) const { return !(*this == other); } 185 186 bool ParseFromArray(const void*, size_t) override; 187 std::string SerializeAsString() const override; 188 std::vector<uint8_t> SerializeAsArray() const override; 189 void Serialize(::protozero::Message*) const; 190 has_session_id()191 bool has_session_id() const { return _has_field_[1]; } session_id()192 uint64_t session_id() const { return session_id_; } set_session_id(uint64_t value)193 void set_session_id(uint64_t value) { session_id_ = value; _has_field_.set(1); } 194 has_unique_session_name()195 bool has_unique_session_name() const { return _has_field_[4]; } unique_session_name()196 const std::string& unique_session_name() const { return unique_session_name_; } set_unique_session_name(const std::string & value)197 void set_unique_session_name(const std::string& value) { unique_session_name_ = value; _has_field_.set(4); } 198 has_skip_trace_filter()199 bool has_skip_trace_filter() const { return _has_field_[2]; } skip_trace_filter()200 bool skip_trace_filter() const { return skip_trace_filter_; } set_skip_trace_filter(bool value)201 void set_skip_trace_filter(bool value) { skip_trace_filter_ = value; _has_field_.set(2); } 202 has_for_bugreport()203 bool has_for_bugreport() const { return _has_field_[3]; } for_bugreport()204 bool for_bugreport() const { return for_bugreport_; } set_for_bugreport(bool value)205 void set_for_bugreport(bool value) { for_bugreport_ = value; _has_field_.set(3); } 206 has_clone_trigger_name()207 bool has_clone_trigger_name() const { return _has_field_[5]; } clone_trigger_name()208 const std::string& clone_trigger_name() const { return clone_trigger_name_; } set_clone_trigger_name(const std::string & value)209 void set_clone_trigger_name(const std::string& value) { clone_trigger_name_ = value; _has_field_.set(5); } 210 has_clone_trigger_producer_name()211 bool has_clone_trigger_producer_name() const { return _has_field_[6]; } clone_trigger_producer_name()212 const std::string& clone_trigger_producer_name() const { return clone_trigger_producer_name_; } set_clone_trigger_producer_name(const std::string & value)213 void set_clone_trigger_producer_name(const std::string& value) { clone_trigger_producer_name_ = value; _has_field_.set(6); } 214 has_clone_trigger_trusted_producer_uid()215 bool has_clone_trigger_trusted_producer_uid() const { return _has_field_[7]; } clone_trigger_trusted_producer_uid()216 int32_t clone_trigger_trusted_producer_uid() const { return clone_trigger_trusted_producer_uid_; } set_clone_trigger_trusted_producer_uid(int32_t value)217 void set_clone_trigger_trusted_producer_uid(int32_t value) { clone_trigger_trusted_producer_uid_ = value; _has_field_.set(7); } 218 has_clone_trigger_boot_time_ns()219 bool has_clone_trigger_boot_time_ns() const { return _has_field_[8]; } clone_trigger_boot_time_ns()220 uint64_t clone_trigger_boot_time_ns() const { return clone_trigger_boot_time_ns_; } set_clone_trigger_boot_time_ns(uint64_t value)221 void set_clone_trigger_boot_time_ns(uint64_t value) { clone_trigger_boot_time_ns_ = value; _has_field_.set(8); } 222 223 private: 224 uint64_t session_id_{}; 225 std::string unique_session_name_{}; 226 bool skip_trace_filter_{}; 227 bool for_bugreport_{}; 228 std::string clone_trigger_name_{}; 229 std::string clone_trigger_producer_name_{}; 230 int32_t clone_trigger_trusted_producer_uid_{}; 231 uint64_t clone_trigger_boot_time_ns_{}; 232 233 // Allows to preserve unknown protobuf fields for compatibility 234 // with future versions of .proto files. 235 std::string unknown_fields_; 236 237 std::bitset<9> _has_field_{}; 238 }; 239 240 241 class PERFETTO_EXPORT_COMPONENT SaveTraceForBugreportResponse : public ::protozero::CppMessageObj { 242 public: 243 enum FieldNumbers { 244 kSuccessFieldNumber = 1, 245 kMsgFieldNumber = 2, 246 }; 247 248 SaveTraceForBugreportResponse(); 249 ~SaveTraceForBugreportResponse() override; 250 SaveTraceForBugreportResponse(SaveTraceForBugreportResponse&&) noexcept; 251 SaveTraceForBugreportResponse& operator=(SaveTraceForBugreportResponse&&); 252 SaveTraceForBugreportResponse(const SaveTraceForBugreportResponse&); 253 SaveTraceForBugreportResponse& operator=(const SaveTraceForBugreportResponse&); 254 bool operator==(const SaveTraceForBugreportResponse&) const; 255 bool operator!=(const SaveTraceForBugreportResponse& other) const { return !(*this == other); } 256 257 bool ParseFromArray(const void*, size_t) override; 258 std::string SerializeAsString() const override; 259 std::vector<uint8_t> SerializeAsArray() const override; 260 void Serialize(::protozero::Message*) const; 261 has_success()262 bool has_success() const { return _has_field_[1]; } success()263 bool success() const { return success_; } set_success(bool value)264 void set_success(bool value) { success_ = value; _has_field_.set(1); } 265 has_msg()266 bool has_msg() const { return _has_field_[2]; } msg()267 const std::string& msg() const { return msg_; } set_msg(const std::string & value)268 void set_msg(const std::string& value) { msg_ = value; _has_field_.set(2); } 269 270 private: 271 bool success_{}; 272 std::string msg_{}; 273 274 // Allows to preserve unknown protobuf fields for compatibility 275 // with future versions of .proto files. 276 std::string unknown_fields_; 277 278 std::bitset<3> _has_field_{}; 279 }; 280 281 282 class PERFETTO_EXPORT_COMPONENT SaveTraceForBugreportRequest : public ::protozero::CppMessageObj { 283 public: 284 enum FieldNumbers { 285 }; 286 287 SaveTraceForBugreportRequest(); 288 ~SaveTraceForBugreportRequest() override; 289 SaveTraceForBugreportRequest(SaveTraceForBugreportRequest&&) noexcept; 290 SaveTraceForBugreportRequest& operator=(SaveTraceForBugreportRequest&&); 291 SaveTraceForBugreportRequest(const SaveTraceForBugreportRequest&); 292 SaveTraceForBugreportRequest& operator=(const SaveTraceForBugreportRequest&); 293 bool operator==(const SaveTraceForBugreportRequest&) const; 294 bool operator!=(const SaveTraceForBugreportRequest& other) const { return !(*this == other); } 295 296 bool ParseFromArray(const void*, size_t) override; 297 std::string SerializeAsString() const override; 298 std::vector<uint8_t> SerializeAsArray() const override; 299 void Serialize(::protozero::Message*) const; 300 301 private: 302 303 // Allows to preserve unknown protobuf fields for compatibility 304 // with future versions of .proto files. 305 std::string unknown_fields_; 306 307 std::bitset<2> _has_field_{}; 308 }; 309 310 311 class PERFETTO_EXPORT_COMPONENT QueryCapabilitiesResponse : public ::protozero::CppMessageObj { 312 public: 313 enum FieldNumbers { 314 kCapabilitiesFieldNumber = 1, 315 }; 316 317 QueryCapabilitiesResponse(); 318 ~QueryCapabilitiesResponse() override; 319 QueryCapabilitiesResponse(QueryCapabilitiesResponse&&) noexcept; 320 QueryCapabilitiesResponse& operator=(QueryCapabilitiesResponse&&); 321 QueryCapabilitiesResponse(const QueryCapabilitiesResponse&); 322 QueryCapabilitiesResponse& operator=(const QueryCapabilitiesResponse&); 323 bool operator==(const QueryCapabilitiesResponse&) const; 324 bool operator!=(const QueryCapabilitiesResponse& other) const { return !(*this == other); } 325 326 bool ParseFromArray(const void*, size_t) override; 327 std::string SerializeAsString() const override; 328 std::vector<uint8_t> SerializeAsArray() const override; 329 void Serialize(::protozero::Message*) const; 330 has_capabilities()331 bool has_capabilities() const { return _has_field_[1]; } capabilities()332 const TracingServiceCapabilities& capabilities() const { return *capabilities_; } mutable_capabilities()333 TracingServiceCapabilities* mutable_capabilities() { _has_field_.set(1); return capabilities_.get(); } 334 335 private: 336 ::protozero::CopyablePtr<TracingServiceCapabilities> capabilities_; 337 338 // Allows to preserve unknown protobuf fields for compatibility 339 // with future versions of .proto files. 340 std::string unknown_fields_; 341 342 std::bitset<2> _has_field_{}; 343 }; 344 345 346 class PERFETTO_EXPORT_COMPONENT QueryCapabilitiesRequest : public ::protozero::CppMessageObj { 347 public: 348 enum FieldNumbers { 349 }; 350 351 QueryCapabilitiesRequest(); 352 ~QueryCapabilitiesRequest() override; 353 QueryCapabilitiesRequest(QueryCapabilitiesRequest&&) noexcept; 354 QueryCapabilitiesRequest& operator=(QueryCapabilitiesRequest&&); 355 QueryCapabilitiesRequest(const QueryCapabilitiesRequest&); 356 QueryCapabilitiesRequest& operator=(const QueryCapabilitiesRequest&); 357 bool operator==(const QueryCapabilitiesRequest&) const; 358 bool operator!=(const QueryCapabilitiesRequest& other) const { return !(*this == other); } 359 360 bool ParseFromArray(const void*, size_t) override; 361 std::string SerializeAsString() const override; 362 std::vector<uint8_t> SerializeAsArray() const override; 363 void Serialize(::protozero::Message*) const; 364 365 private: 366 367 // Allows to preserve unknown protobuf fields for compatibility 368 // with future versions of .proto files. 369 std::string unknown_fields_; 370 371 std::bitset<2> _has_field_{}; 372 }; 373 374 375 class PERFETTO_EXPORT_COMPONENT QueryServiceStateResponse : public ::protozero::CppMessageObj { 376 public: 377 enum FieldNumbers { 378 kServiceStateFieldNumber = 1, 379 }; 380 381 QueryServiceStateResponse(); 382 ~QueryServiceStateResponse() override; 383 QueryServiceStateResponse(QueryServiceStateResponse&&) noexcept; 384 QueryServiceStateResponse& operator=(QueryServiceStateResponse&&); 385 QueryServiceStateResponse(const QueryServiceStateResponse&); 386 QueryServiceStateResponse& operator=(const QueryServiceStateResponse&); 387 bool operator==(const QueryServiceStateResponse&) const; 388 bool operator!=(const QueryServiceStateResponse& other) const { return !(*this == other); } 389 390 bool ParseFromArray(const void*, size_t) override; 391 std::string SerializeAsString() const override; 392 std::vector<uint8_t> SerializeAsArray() const override; 393 void Serialize(::protozero::Message*) const; 394 has_service_state()395 bool has_service_state() const { return _has_field_[1]; } service_state()396 const TracingServiceState& service_state() const { return *service_state_; } mutable_service_state()397 TracingServiceState* mutable_service_state() { _has_field_.set(1); return service_state_.get(); } 398 399 private: 400 ::protozero::CopyablePtr<TracingServiceState> service_state_; 401 402 // Allows to preserve unknown protobuf fields for compatibility 403 // with future versions of .proto files. 404 std::string unknown_fields_; 405 406 std::bitset<2> _has_field_{}; 407 }; 408 409 410 class PERFETTO_EXPORT_COMPONENT QueryServiceStateRequest : public ::protozero::CppMessageObj { 411 public: 412 enum FieldNumbers { 413 kSessionsOnlyFieldNumber = 1, 414 }; 415 416 QueryServiceStateRequest(); 417 ~QueryServiceStateRequest() override; 418 QueryServiceStateRequest(QueryServiceStateRequest&&) noexcept; 419 QueryServiceStateRequest& operator=(QueryServiceStateRequest&&); 420 QueryServiceStateRequest(const QueryServiceStateRequest&); 421 QueryServiceStateRequest& operator=(const QueryServiceStateRequest&); 422 bool operator==(const QueryServiceStateRequest&) const; 423 bool operator!=(const QueryServiceStateRequest& other) const { return !(*this == other); } 424 425 bool ParseFromArray(const void*, size_t) override; 426 std::string SerializeAsString() const override; 427 std::vector<uint8_t> SerializeAsArray() const override; 428 void Serialize(::protozero::Message*) const; 429 has_sessions_only()430 bool has_sessions_only() const { return _has_field_[1]; } sessions_only()431 bool sessions_only() const { return sessions_only_; } set_sessions_only(bool value)432 void set_sessions_only(bool value) { sessions_only_ = value; _has_field_.set(1); } 433 434 private: 435 bool sessions_only_{}; 436 437 // Allows to preserve unknown protobuf fields for compatibility 438 // with future versions of .proto files. 439 std::string unknown_fields_; 440 441 std::bitset<2> _has_field_{}; 442 }; 443 444 445 class PERFETTO_EXPORT_COMPONENT ObserveEventsResponse : public ::protozero::CppMessageObj { 446 public: 447 enum FieldNumbers { 448 kEventsFieldNumber = 1, 449 }; 450 451 ObserveEventsResponse(); 452 ~ObserveEventsResponse() override; 453 ObserveEventsResponse(ObserveEventsResponse&&) noexcept; 454 ObserveEventsResponse& operator=(ObserveEventsResponse&&); 455 ObserveEventsResponse(const ObserveEventsResponse&); 456 ObserveEventsResponse& operator=(const ObserveEventsResponse&); 457 bool operator==(const ObserveEventsResponse&) const; 458 bool operator!=(const ObserveEventsResponse& other) const { return !(*this == other); } 459 460 bool ParseFromArray(const void*, size_t) override; 461 std::string SerializeAsString() const override; 462 std::vector<uint8_t> SerializeAsArray() const override; 463 void Serialize(::protozero::Message*) const; 464 has_events()465 bool has_events() const { return _has_field_[1]; } events()466 const ObservableEvents& events() const { return *events_; } mutable_events()467 ObservableEvents* mutable_events() { _has_field_.set(1); return events_.get(); } 468 469 private: 470 ::protozero::CopyablePtr<ObservableEvents> events_; 471 472 // Allows to preserve unknown protobuf fields for compatibility 473 // with future versions of .proto files. 474 std::string unknown_fields_; 475 476 std::bitset<2> _has_field_{}; 477 }; 478 479 480 class PERFETTO_EXPORT_COMPONENT ObserveEventsRequest : public ::protozero::CppMessageObj { 481 public: 482 enum FieldNumbers { 483 kEventsToObserveFieldNumber = 1, 484 }; 485 486 ObserveEventsRequest(); 487 ~ObserveEventsRequest() override; 488 ObserveEventsRequest(ObserveEventsRequest&&) noexcept; 489 ObserveEventsRequest& operator=(ObserveEventsRequest&&); 490 ObserveEventsRequest(const ObserveEventsRequest&); 491 ObserveEventsRequest& operator=(const ObserveEventsRequest&); 492 bool operator==(const ObserveEventsRequest&) const; 493 bool operator!=(const ObserveEventsRequest& other) const { return !(*this == other); } 494 495 bool ParseFromArray(const void*, size_t) override; 496 std::string SerializeAsString() const override; 497 std::vector<uint8_t> SerializeAsArray() const override; 498 void Serialize(::protozero::Message*) const; 499 events_to_observe()500 const std::vector<ObservableEvents_Type>& events_to_observe() const { return events_to_observe_; } mutable_events_to_observe()501 std::vector<ObservableEvents_Type>* mutable_events_to_observe() { return &events_to_observe_; } events_to_observe_size()502 int events_to_observe_size() const { return static_cast<int>(events_to_observe_.size()); } clear_events_to_observe()503 void clear_events_to_observe() { events_to_observe_.clear(); } add_events_to_observe(ObservableEvents_Type value)504 void add_events_to_observe(ObservableEvents_Type value) { events_to_observe_.emplace_back(value); } add_events_to_observe()505 ObservableEvents_Type* add_events_to_observe() { events_to_observe_.emplace_back(); return &events_to_observe_.back(); } 506 507 private: 508 std::vector<ObservableEvents_Type> events_to_observe_; 509 510 // Allows to preserve unknown protobuf fields for compatibility 511 // with future versions of .proto files. 512 std::string unknown_fields_; 513 514 std::bitset<2> _has_field_{}; 515 }; 516 517 518 class PERFETTO_EXPORT_COMPONENT GetTraceStatsResponse : public ::protozero::CppMessageObj { 519 public: 520 enum FieldNumbers { 521 kTraceStatsFieldNumber = 1, 522 }; 523 524 GetTraceStatsResponse(); 525 ~GetTraceStatsResponse() override; 526 GetTraceStatsResponse(GetTraceStatsResponse&&) noexcept; 527 GetTraceStatsResponse& operator=(GetTraceStatsResponse&&); 528 GetTraceStatsResponse(const GetTraceStatsResponse&); 529 GetTraceStatsResponse& operator=(const GetTraceStatsResponse&); 530 bool operator==(const GetTraceStatsResponse&) const; 531 bool operator!=(const GetTraceStatsResponse& other) const { return !(*this == other); } 532 533 bool ParseFromArray(const void*, size_t) override; 534 std::string SerializeAsString() const override; 535 std::vector<uint8_t> SerializeAsArray() const override; 536 void Serialize(::protozero::Message*) const; 537 has_trace_stats()538 bool has_trace_stats() const { return _has_field_[1]; } trace_stats()539 const TraceStats& trace_stats() const { return *trace_stats_; } mutable_trace_stats()540 TraceStats* mutable_trace_stats() { _has_field_.set(1); return trace_stats_.get(); } 541 542 private: 543 ::protozero::CopyablePtr<TraceStats> trace_stats_; 544 545 // Allows to preserve unknown protobuf fields for compatibility 546 // with future versions of .proto files. 547 std::string unknown_fields_; 548 549 std::bitset<2> _has_field_{}; 550 }; 551 552 553 class PERFETTO_EXPORT_COMPONENT GetTraceStatsRequest : public ::protozero::CppMessageObj { 554 public: 555 enum FieldNumbers { 556 }; 557 558 GetTraceStatsRequest(); 559 ~GetTraceStatsRequest() override; 560 GetTraceStatsRequest(GetTraceStatsRequest&&) noexcept; 561 GetTraceStatsRequest& operator=(GetTraceStatsRequest&&); 562 GetTraceStatsRequest(const GetTraceStatsRequest&); 563 GetTraceStatsRequest& operator=(const GetTraceStatsRequest&); 564 bool operator==(const GetTraceStatsRequest&) const; 565 bool operator!=(const GetTraceStatsRequest& other) const { return !(*this == other); } 566 567 bool ParseFromArray(const void*, size_t) override; 568 std::string SerializeAsString() const override; 569 std::vector<uint8_t> SerializeAsArray() const override; 570 void Serialize(::protozero::Message*) const; 571 572 private: 573 574 // Allows to preserve unknown protobuf fields for compatibility 575 // with future versions of .proto files. 576 std::string unknown_fields_; 577 578 std::bitset<2> _has_field_{}; 579 }; 580 581 582 class PERFETTO_EXPORT_COMPONENT AttachResponse : public ::protozero::CppMessageObj { 583 public: 584 enum FieldNumbers { 585 kTraceConfigFieldNumber = 1, 586 }; 587 588 AttachResponse(); 589 ~AttachResponse() override; 590 AttachResponse(AttachResponse&&) noexcept; 591 AttachResponse& operator=(AttachResponse&&); 592 AttachResponse(const AttachResponse&); 593 AttachResponse& operator=(const AttachResponse&); 594 bool operator==(const AttachResponse&) const; 595 bool operator!=(const AttachResponse& other) const { return !(*this == other); } 596 597 bool ParseFromArray(const void*, size_t) override; 598 std::string SerializeAsString() const override; 599 std::vector<uint8_t> SerializeAsArray() const override; 600 void Serialize(::protozero::Message*) const; 601 has_trace_config()602 bool has_trace_config() const { return _has_field_[1]; } trace_config()603 const TraceConfig& trace_config() const { return *trace_config_; } mutable_trace_config()604 TraceConfig* mutable_trace_config() { _has_field_.set(1); return trace_config_.get(); } 605 606 private: 607 ::protozero::CopyablePtr<TraceConfig> trace_config_; 608 609 // Allows to preserve unknown protobuf fields for compatibility 610 // with future versions of .proto files. 611 std::string unknown_fields_; 612 613 std::bitset<2> _has_field_{}; 614 }; 615 616 617 class PERFETTO_EXPORT_COMPONENT AttachRequest : public ::protozero::CppMessageObj { 618 public: 619 enum FieldNumbers { 620 kKeyFieldNumber = 1, 621 }; 622 623 AttachRequest(); 624 ~AttachRequest() override; 625 AttachRequest(AttachRequest&&) noexcept; 626 AttachRequest& operator=(AttachRequest&&); 627 AttachRequest(const AttachRequest&); 628 AttachRequest& operator=(const AttachRequest&); 629 bool operator==(const AttachRequest&) const; 630 bool operator!=(const AttachRequest& other) const { return !(*this == other); } 631 632 bool ParseFromArray(const void*, size_t) override; 633 std::string SerializeAsString() const override; 634 std::vector<uint8_t> SerializeAsArray() const override; 635 void Serialize(::protozero::Message*) const; 636 has_key()637 bool has_key() const { return _has_field_[1]; } key()638 const std::string& key() const { return key_; } set_key(const std::string & value)639 void set_key(const std::string& value) { key_ = value; _has_field_.set(1); } 640 641 private: 642 std::string key_{}; 643 644 // Allows to preserve unknown protobuf fields for compatibility 645 // with future versions of .proto files. 646 std::string unknown_fields_; 647 648 std::bitset<2> _has_field_{}; 649 }; 650 651 652 class PERFETTO_EXPORT_COMPONENT DetachResponse : public ::protozero::CppMessageObj { 653 public: 654 enum FieldNumbers { 655 }; 656 657 DetachResponse(); 658 ~DetachResponse() override; 659 DetachResponse(DetachResponse&&) noexcept; 660 DetachResponse& operator=(DetachResponse&&); 661 DetachResponse(const DetachResponse&); 662 DetachResponse& operator=(const DetachResponse&); 663 bool operator==(const DetachResponse&) const; 664 bool operator!=(const DetachResponse& other) const { return !(*this == other); } 665 666 bool ParseFromArray(const void*, size_t) override; 667 std::string SerializeAsString() const override; 668 std::vector<uint8_t> SerializeAsArray() const override; 669 void Serialize(::protozero::Message*) const; 670 671 private: 672 673 // Allows to preserve unknown protobuf fields for compatibility 674 // with future versions of .proto files. 675 std::string unknown_fields_; 676 677 std::bitset<2> _has_field_{}; 678 }; 679 680 681 class PERFETTO_EXPORT_COMPONENT DetachRequest : public ::protozero::CppMessageObj { 682 public: 683 enum FieldNumbers { 684 kKeyFieldNumber = 1, 685 }; 686 687 DetachRequest(); 688 ~DetachRequest() override; 689 DetachRequest(DetachRequest&&) noexcept; 690 DetachRequest& operator=(DetachRequest&&); 691 DetachRequest(const DetachRequest&); 692 DetachRequest& operator=(const DetachRequest&); 693 bool operator==(const DetachRequest&) const; 694 bool operator!=(const DetachRequest& other) const { return !(*this == other); } 695 696 bool ParseFromArray(const void*, size_t) override; 697 std::string SerializeAsString() const override; 698 std::vector<uint8_t> SerializeAsArray() const override; 699 void Serialize(::protozero::Message*) const; 700 has_key()701 bool has_key() const { return _has_field_[1]; } key()702 const std::string& key() const { return key_; } set_key(const std::string & value)703 void set_key(const std::string& value) { key_ = value; _has_field_.set(1); } 704 705 private: 706 std::string key_{}; 707 708 // Allows to preserve unknown protobuf fields for compatibility 709 // with future versions of .proto files. 710 std::string unknown_fields_; 711 712 std::bitset<2> _has_field_{}; 713 }; 714 715 716 class PERFETTO_EXPORT_COMPONENT FlushResponse : public ::protozero::CppMessageObj { 717 public: 718 enum FieldNumbers { 719 }; 720 721 FlushResponse(); 722 ~FlushResponse() override; 723 FlushResponse(FlushResponse&&) noexcept; 724 FlushResponse& operator=(FlushResponse&&); 725 FlushResponse(const FlushResponse&); 726 FlushResponse& operator=(const FlushResponse&); 727 bool operator==(const FlushResponse&) const; 728 bool operator!=(const FlushResponse& other) const { return !(*this == other); } 729 730 bool ParseFromArray(const void*, size_t) override; 731 std::string SerializeAsString() const override; 732 std::vector<uint8_t> SerializeAsArray() const override; 733 void Serialize(::protozero::Message*) const; 734 735 private: 736 737 // Allows to preserve unknown protobuf fields for compatibility 738 // with future versions of .proto files. 739 std::string unknown_fields_; 740 741 std::bitset<2> _has_field_{}; 742 }; 743 744 745 class PERFETTO_EXPORT_COMPONENT FlushRequest : public ::protozero::CppMessageObj { 746 public: 747 enum FieldNumbers { 748 kTimeoutMsFieldNumber = 1, 749 kFlagsFieldNumber = 2, 750 }; 751 752 FlushRequest(); 753 ~FlushRequest() override; 754 FlushRequest(FlushRequest&&) noexcept; 755 FlushRequest& operator=(FlushRequest&&); 756 FlushRequest(const FlushRequest&); 757 FlushRequest& operator=(const FlushRequest&); 758 bool operator==(const FlushRequest&) const; 759 bool operator!=(const FlushRequest& other) const { return !(*this == other); } 760 761 bool ParseFromArray(const void*, size_t) override; 762 std::string SerializeAsString() const override; 763 std::vector<uint8_t> SerializeAsArray() const override; 764 void Serialize(::protozero::Message*) const; 765 has_timeout_ms()766 bool has_timeout_ms() const { return _has_field_[1]; } timeout_ms()767 uint32_t timeout_ms() const { return timeout_ms_; } set_timeout_ms(uint32_t value)768 void set_timeout_ms(uint32_t value) { timeout_ms_ = value; _has_field_.set(1); } 769 has_flags()770 bool has_flags() const { return _has_field_[2]; } flags()771 uint64_t flags() const { return flags_; } set_flags(uint64_t value)772 void set_flags(uint64_t value) { flags_ = value; _has_field_.set(2); } 773 774 private: 775 uint32_t timeout_ms_{}; 776 uint64_t flags_{}; 777 778 // Allows to preserve unknown protobuf fields for compatibility 779 // with future versions of .proto files. 780 std::string unknown_fields_; 781 782 std::bitset<3> _has_field_{}; 783 }; 784 785 786 class PERFETTO_EXPORT_COMPONENT FreeBuffersResponse : public ::protozero::CppMessageObj { 787 public: 788 enum FieldNumbers { 789 }; 790 791 FreeBuffersResponse(); 792 ~FreeBuffersResponse() override; 793 FreeBuffersResponse(FreeBuffersResponse&&) noexcept; 794 FreeBuffersResponse& operator=(FreeBuffersResponse&&); 795 FreeBuffersResponse(const FreeBuffersResponse&); 796 FreeBuffersResponse& operator=(const FreeBuffersResponse&); 797 bool operator==(const FreeBuffersResponse&) const; 798 bool operator!=(const FreeBuffersResponse& other) const { return !(*this == other); } 799 800 bool ParseFromArray(const void*, size_t) override; 801 std::string SerializeAsString() const override; 802 std::vector<uint8_t> SerializeAsArray() const override; 803 void Serialize(::protozero::Message*) const; 804 805 private: 806 807 // Allows to preserve unknown protobuf fields for compatibility 808 // with future versions of .proto files. 809 std::string unknown_fields_; 810 811 std::bitset<2> _has_field_{}; 812 }; 813 814 815 class PERFETTO_EXPORT_COMPONENT FreeBuffersRequest : public ::protozero::CppMessageObj { 816 public: 817 enum FieldNumbers { 818 kBufferIdsFieldNumber = 1, 819 }; 820 821 FreeBuffersRequest(); 822 ~FreeBuffersRequest() override; 823 FreeBuffersRequest(FreeBuffersRequest&&) noexcept; 824 FreeBuffersRequest& operator=(FreeBuffersRequest&&); 825 FreeBuffersRequest(const FreeBuffersRequest&); 826 FreeBuffersRequest& operator=(const FreeBuffersRequest&); 827 bool operator==(const FreeBuffersRequest&) const; 828 bool operator!=(const FreeBuffersRequest& other) const { return !(*this == other); } 829 830 bool ParseFromArray(const void*, size_t) override; 831 std::string SerializeAsString() const override; 832 std::vector<uint8_t> SerializeAsArray() const override; 833 void Serialize(::protozero::Message*) const; 834 buffer_ids()835 const std::vector<uint32_t>& buffer_ids() const { return buffer_ids_; } mutable_buffer_ids()836 std::vector<uint32_t>* mutable_buffer_ids() { return &buffer_ids_; } buffer_ids_size()837 int buffer_ids_size() const { return static_cast<int>(buffer_ids_.size()); } clear_buffer_ids()838 void clear_buffer_ids() { buffer_ids_.clear(); } add_buffer_ids(uint32_t value)839 void add_buffer_ids(uint32_t value) { buffer_ids_.emplace_back(value); } add_buffer_ids()840 uint32_t* add_buffer_ids() { buffer_ids_.emplace_back(); return &buffer_ids_.back(); } 841 842 private: 843 std::vector<uint32_t> buffer_ids_; 844 845 // Allows to preserve unknown protobuf fields for compatibility 846 // with future versions of .proto files. 847 std::string unknown_fields_; 848 849 std::bitset<2> _has_field_{}; 850 }; 851 852 853 class PERFETTO_EXPORT_COMPONENT ReadBuffersResponse : public ::protozero::CppMessageObj { 854 public: 855 using Slice = ReadBuffersResponse_Slice; 856 enum FieldNumbers { 857 kSlicesFieldNumber = 2, 858 }; 859 860 ReadBuffersResponse(); 861 ~ReadBuffersResponse() override; 862 ReadBuffersResponse(ReadBuffersResponse&&) noexcept; 863 ReadBuffersResponse& operator=(ReadBuffersResponse&&); 864 ReadBuffersResponse(const ReadBuffersResponse&); 865 ReadBuffersResponse& operator=(const ReadBuffersResponse&); 866 bool operator==(const ReadBuffersResponse&) const; 867 bool operator!=(const ReadBuffersResponse& other) const { return !(*this == other); } 868 869 bool ParseFromArray(const void*, size_t) override; 870 std::string SerializeAsString() const override; 871 std::vector<uint8_t> SerializeAsArray() const override; 872 void Serialize(::protozero::Message*) const; 873 slices()874 const std::vector<ReadBuffersResponse_Slice>& slices() const { return slices_; } mutable_slices()875 std::vector<ReadBuffersResponse_Slice>* mutable_slices() { return &slices_; } 876 int slices_size() const; 877 void clear_slices(); 878 ReadBuffersResponse_Slice* add_slices(); 879 880 private: 881 std::vector<ReadBuffersResponse_Slice> slices_; 882 883 // Allows to preserve unknown protobuf fields for compatibility 884 // with future versions of .proto files. 885 std::string unknown_fields_; 886 887 std::bitset<3> _has_field_{}; 888 }; 889 890 891 class PERFETTO_EXPORT_COMPONENT ReadBuffersResponse_Slice : public ::protozero::CppMessageObj { 892 public: 893 enum FieldNumbers { 894 kDataFieldNumber = 1, 895 kLastSliceForPacketFieldNumber = 2, 896 }; 897 898 ReadBuffersResponse_Slice(); 899 ~ReadBuffersResponse_Slice() override; 900 ReadBuffersResponse_Slice(ReadBuffersResponse_Slice&&) noexcept; 901 ReadBuffersResponse_Slice& operator=(ReadBuffersResponse_Slice&&); 902 ReadBuffersResponse_Slice(const ReadBuffersResponse_Slice&); 903 ReadBuffersResponse_Slice& operator=(const ReadBuffersResponse_Slice&); 904 bool operator==(const ReadBuffersResponse_Slice&) const; 905 bool operator!=(const ReadBuffersResponse_Slice& other) const { return !(*this == other); } 906 907 bool ParseFromArray(const void*, size_t) override; 908 std::string SerializeAsString() const override; 909 std::vector<uint8_t> SerializeAsArray() const override; 910 void Serialize(::protozero::Message*) const; 911 has_data()912 bool has_data() const { return _has_field_[1]; } data()913 const std::string& data() const { return data_; } set_data(const std::string & value)914 void set_data(const std::string& value) { data_ = value; _has_field_.set(1); } set_data(const void * p,size_t s)915 void set_data(const void* p, size_t s) { data_.assign(reinterpret_cast<const char*>(p), s); _has_field_.set(1); } 916 has_last_slice_for_packet()917 bool has_last_slice_for_packet() const { return _has_field_[2]; } last_slice_for_packet()918 bool last_slice_for_packet() const { return last_slice_for_packet_; } set_last_slice_for_packet(bool value)919 void set_last_slice_for_packet(bool value) { last_slice_for_packet_ = value; _has_field_.set(2); } 920 921 private: 922 std::string data_{}; 923 bool last_slice_for_packet_{}; 924 925 // Allows to preserve unknown protobuf fields for compatibility 926 // with future versions of .proto files. 927 std::string unknown_fields_; 928 929 std::bitset<3> _has_field_{}; 930 }; 931 932 933 class PERFETTO_EXPORT_COMPONENT ReadBuffersRequest : public ::protozero::CppMessageObj { 934 public: 935 enum FieldNumbers { 936 }; 937 938 ReadBuffersRequest(); 939 ~ReadBuffersRequest() override; 940 ReadBuffersRequest(ReadBuffersRequest&&) noexcept; 941 ReadBuffersRequest& operator=(ReadBuffersRequest&&); 942 ReadBuffersRequest(const ReadBuffersRequest&); 943 ReadBuffersRequest& operator=(const ReadBuffersRequest&); 944 bool operator==(const ReadBuffersRequest&) const; 945 bool operator!=(const ReadBuffersRequest& other) const { return !(*this == other); } 946 947 bool ParseFromArray(const void*, size_t) override; 948 std::string SerializeAsString() const override; 949 std::vector<uint8_t> SerializeAsArray() const override; 950 void Serialize(::protozero::Message*) const; 951 952 private: 953 954 // Allows to preserve unknown protobuf fields for compatibility 955 // with future versions of .proto files. 956 std::string unknown_fields_; 957 958 std::bitset<2> _has_field_{}; 959 }; 960 961 962 class PERFETTO_EXPORT_COMPONENT DisableTracingResponse : public ::protozero::CppMessageObj { 963 public: 964 enum FieldNumbers { 965 }; 966 967 DisableTracingResponse(); 968 ~DisableTracingResponse() override; 969 DisableTracingResponse(DisableTracingResponse&&) noexcept; 970 DisableTracingResponse& operator=(DisableTracingResponse&&); 971 DisableTracingResponse(const DisableTracingResponse&); 972 DisableTracingResponse& operator=(const DisableTracingResponse&); 973 bool operator==(const DisableTracingResponse&) const; 974 bool operator!=(const DisableTracingResponse& other) const { return !(*this == other); } 975 976 bool ParseFromArray(const void*, size_t) override; 977 std::string SerializeAsString() const override; 978 std::vector<uint8_t> SerializeAsArray() const override; 979 void Serialize(::protozero::Message*) const; 980 981 private: 982 983 // Allows to preserve unknown protobuf fields for compatibility 984 // with future versions of .proto files. 985 std::string unknown_fields_; 986 987 std::bitset<2> _has_field_{}; 988 }; 989 990 991 class PERFETTO_EXPORT_COMPONENT DisableTracingRequest : public ::protozero::CppMessageObj { 992 public: 993 enum FieldNumbers { 994 }; 995 996 DisableTracingRequest(); 997 ~DisableTracingRequest() override; 998 DisableTracingRequest(DisableTracingRequest&&) noexcept; 999 DisableTracingRequest& operator=(DisableTracingRequest&&); 1000 DisableTracingRequest(const DisableTracingRequest&); 1001 DisableTracingRequest& operator=(const DisableTracingRequest&); 1002 bool operator==(const DisableTracingRequest&) const; 1003 bool operator!=(const DisableTracingRequest& other) const { return !(*this == other); } 1004 1005 bool ParseFromArray(const void*, size_t) override; 1006 std::string SerializeAsString() const override; 1007 std::vector<uint8_t> SerializeAsArray() const override; 1008 void Serialize(::protozero::Message*) const; 1009 1010 private: 1011 1012 // Allows to preserve unknown protobuf fields for compatibility 1013 // with future versions of .proto files. 1014 std::string unknown_fields_; 1015 1016 std::bitset<2> _has_field_{}; 1017 }; 1018 1019 1020 class PERFETTO_EXPORT_COMPONENT ChangeTraceConfigResponse : public ::protozero::CppMessageObj { 1021 public: 1022 enum FieldNumbers { 1023 }; 1024 1025 ChangeTraceConfigResponse(); 1026 ~ChangeTraceConfigResponse() override; 1027 ChangeTraceConfigResponse(ChangeTraceConfigResponse&&) noexcept; 1028 ChangeTraceConfigResponse& operator=(ChangeTraceConfigResponse&&); 1029 ChangeTraceConfigResponse(const ChangeTraceConfigResponse&); 1030 ChangeTraceConfigResponse& operator=(const ChangeTraceConfigResponse&); 1031 bool operator==(const ChangeTraceConfigResponse&) const; 1032 bool operator!=(const ChangeTraceConfigResponse& other) const { return !(*this == other); } 1033 1034 bool ParseFromArray(const void*, size_t) override; 1035 std::string SerializeAsString() const override; 1036 std::vector<uint8_t> SerializeAsArray() const override; 1037 void Serialize(::protozero::Message*) const; 1038 1039 private: 1040 1041 // Allows to preserve unknown protobuf fields for compatibility 1042 // with future versions of .proto files. 1043 std::string unknown_fields_; 1044 1045 std::bitset<2> _has_field_{}; 1046 }; 1047 1048 1049 class PERFETTO_EXPORT_COMPONENT ChangeTraceConfigRequest : public ::protozero::CppMessageObj { 1050 public: 1051 enum FieldNumbers { 1052 kTraceConfigFieldNumber = 1, 1053 }; 1054 1055 ChangeTraceConfigRequest(); 1056 ~ChangeTraceConfigRequest() override; 1057 ChangeTraceConfigRequest(ChangeTraceConfigRequest&&) noexcept; 1058 ChangeTraceConfigRequest& operator=(ChangeTraceConfigRequest&&); 1059 ChangeTraceConfigRequest(const ChangeTraceConfigRequest&); 1060 ChangeTraceConfigRequest& operator=(const ChangeTraceConfigRequest&); 1061 bool operator==(const ChangeTraceConfigRequest&) const; 1062 bool operator!=(const ChangeTraceConfigRequest& other) const { return !(*this == other); } 1063 1064 bool ParseFromArray(const void*, size_t) override; 1065 std::string SerializeAsString() const override; 1066 std::vector<uint8_t> SerializeAsArray() const override; 1067 void Serialize(::protozero::Message*) const; 1068 has_trace_config()1069 bool has_trace_config() const { return _has_field_[1]; } trace_config()1070 const TraceConfig& trace_config() const { return *trace_config_; } mutable_trace_config()1071 TraceConfig* mutable_trace_config() { _has_field_.set(1); return trace_config_.get(); } 1072 1073 private: 1074 ::protozero::CopyablePtr<TraceConfig> trace_config_; 1075 1076 // Allows to preserve unknown protobuf fields for compatibility 1077 // with future versions of .proto files. 1078 std::string unknown_fields_; 1079 1080 std::bitset<2> _has_field_{}; 1081 }; 1082 1083 1084 class PERFETTO_EXPORT_COMPONENT StartTracingResponse : public ::protozero::CppMessageObj { 1085 public: 1086 enum FieldNumbers { 1087 }; 1088 1089 StartTracingResponse(); 1090 ~StartTracingResponse() override; 1091 StartTracingResponse(StartTracingResponse&&) noexcept; 1092 StartTracingResponse& operator=(StartTracingResponse&&); 1093 StartTracingResponse(const StartTracingResponse&); 1094 StartTracingResponse& operator=(const StartTracingResponse&); 1095 bool operator==(const StartTracingResponse&) const; 1096 bool operator!=(const StartTracingResponse& other) const { return !(*this == other); } 1097 1098 bool ParseFromArray(const void*, size_t) override; 1099 std::string SerializeAsString() const override; 1100 std::vector<uint8_t> SerializeAsArray() const override; 1101 void Serialize(::protozero::Message*) const; 1102 1103 private: 1104 1105 // Allows to preserve unknown protobuf fields for compatibility 1106 // with future versions of .proto files. 1107 std::string unknown_fields_; 1108 1109 std::bitset<2> _has_field_{}; 1110 }; 1111 1112 1113 class PERFETTO_EXPORT_COMPONENT StartTracingRequest : public ::protozero::CppMessageObj { 1114 public: 1115 enum FieldNumbers { 1116 }; 1117 1118 StartTracingRequest(); 1119 ~StartTracingRequest() override; 1120 StartTracingRequest(StartTracingRequest&&) noexcept; 1121 StartTracingRequest& operator=(StartTracingRequest&&); 1122 StartTracingRequest(const StartTracingRequest&); 1123 StartTracingRequest& operator=(const StartTracingRequest&); 1124 bool operator==(const StartTracingRequest&) const; 1125 bool operator!=(const StartTracingRequest& other) const { return !(*this == other); } 1126 1127 bool ParseFromArray(const void*, size_t) override; 1128 std::string SerializeAsString() const override; 1129 std::vector<uint8_t> SerializeAsArray() const override; 1130 void Serialize(::protozero::Message*) const; 1131 1132 private: 1133 1134 // Allows to preserve unknown protobuf fields for compatibility 1135 // with future versions of .proto files. 1136 std::string unknown_fields_; 1137 1138 std::bitset<2> _has_field_{}; 1139 }; 1140 1141 1142 class PERFETTO_EXPORT_COMPONENT EnableTracingResponse : public ::protozero::CppMessageObj { 1143 public: 1144 enum FieldNumbers { 1145 kDisabledFieldNumber = 1, 1146 kErrorFieldNumber = 3, 1147 }; 1148 1149 EnableTracingResponse(); 1150 ~EnableTracingResponse() override; 1151 EnableTracingResponse(EnableTracingResponse&&) noexcept; 1152 EnableTracingResponse& operator=(EnableTracingResponse&&); 1153 EnableTracingResponse(const EnableTracingResponse&); 1154 EnableTracingResponse& operator=(const EnableTracingResponse&); 1155 bool operator==(const EnableTracingResponse&) const; 1156 bool operator!=(const EnableTracingResponse& other) const { return !(*this == other); } 1157 1158 bool ParseFromArray(const void*, size_t) override; 1159 std::string SerializeAsString() const override; 1160 std::vector<uint8_t> SerializeAsArray() const override; 1161 void Serialize(::protozero::Message*) const; 1162 has_disabled()1163 bool has_disabled() const { return _has_field_[1]; } disabled()1164 bool disabled() const { return disabled_; } set_disabled(bool value)1165 void set_disabled(bool value) { disabled_ = value; _has_field_.set(1); } 1166 has_error()1167 bool has_error() const { return _has_field_[3]; } error()1168 const std::string& error() const { return error_; } set_error(const std::string & value)1169 void set_error(const std::string& value) { error_ = value; _has_field_.set(3); } 1170 1171 private: 1172 bool disabled_{}; 1173 std::string error_{}; 1174 1175 // Allows to preserve unknown protobuf fields for compatibility 1176 // with future versions of .proto files. 1177 std::string unknown_fields_; 1178 1179 std::bitset<4> _has_field_{}; 1180 }; 1181 1182 1183 class PERFETTO_EXPORT_COMPONENT EnableTracingRequest : public ::protozero::CppMessageObj { 1184 public: 1185 enum FieldNumbers { 1186 kTraceConfigFieldNumber = 1, 1187 kAttachNotificationOnlyFieldNumber = 2, 1188 }; 1189 1190 EnableTracingRequest(); 1191 ~EnableTracingRequest() override; 1192 EnableTracingRequest(EnableTracingRequest&&) noexcept; 1193 EnableTracingRequest& operator=(EnableTracingRequest&&); 1194 EnableTracingRequest(const EnableTracingRequest&); 1195 EnableTracingRequest& operator=(const EnableTracingRequest&); 1196 bool operator==(const EnableTracingRequest&) const; 1197 bool operator!=(const EnableTracingRequest& other) const { return !(*this == other); } 1198 1199 bool ParseFromArray(const void*, size_t) override; 1200 std::string SerializeAsString() const override; 1201 std::vector<uint8_t> SerializeAsArray() const override; 1202 void Serialize(::protozero::Message*) const; 1203 has_trace_config()1204 bool has_trace_config() const { return _has_field_[1]; } trace_config()1205 const TraceConfig& trace_config() const { return *trace_config_; } mutable_trace_config()1206 TraceConfig* mutable_trace_config() { _has_field_.set(1); return trace_config_.get(); } 1207 has_attach_notification_only()1208 bool has_attach_notification_only() const { return _has_field_[2]; } attach_notification_only()1209 bool attach_notification_only() const { return attach_notification_only_; } set_attach_notification_only(bool value)1210 void set_attach_notification_only(bool value) { attach_notification_only_ = value; _has_field_.set(2); } 1211 1212 private: 1213 ::protozero::CopyablePtr<TraceConfig> trace_config_; 1214 bool attach_notification_only_{}; 1215 1216 // Allows to preserve unknown protobuf fields for compatibility 1217 // with future versions of .proto files. 1218 std::string unknown_fields_; 1219 1220 std::bitset<3> _has_field_{}; 1221 }; 1222 1223 } // namespace perfetto 1224 } // namespace protos 1225 } // namespace gen 1226 1227 #endif // PERFETTO_PROTOS_PROTOS_PERFETTO_IPC_CONSUMER_PORT_PROTO_CPP_H_ 1228