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