1 // DO NOT EDIT. Autogenerated by Perfetto cppgen_plugin
2 #ifndef PERFETTO_PROTOS_PROTOS_PERFETTO_CONFIG_DATA_SOURCE_CONFIG_PROTO_CPP_H_
3 #define PERFETTO_PROTOS_PROTOS_PERFETTO_CONFIG_DATA_SOURCE_CONFIG_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 DataSourceConfig;
19 class TestConfig;
20 class TestConfig_DummyFields;
21 class InterceptorConfig;
22 class ConsoleConfig;
23 class ChromeConfig;
24 class SystemInfoConfig;
25 enum DataSourceConfig_SessionInitiator : int;
26 enum ConsoleConfig_Output : int;
27 enum ChromeConfig_ClientPriority : int;
28 }  // namespace perfetto
29 }  // namespace protos
30 }  // namespace gen
31 
32 namespace protozero {
33 class Message;
34 }  // namespace protozero
35 
36 namespace perfetto {
37 namespace protos {
38 namespace gen {
39 enum DataSourceConfig_SessionInitiator : int {
40   DataSourceConfig_SessionInitiator_SESSION_INITIATOR_UNSPECIFIED = 0,
41   DataSourceConfig_SessionInitiator_SESSION_INITIATOR_TRUSTED_SYSTEM = 1,
42 };
43 
44 class PERFETTO_EXPORT_COMPONENT DataSourceConfig : public ::protozero::CppMessageObj {
45  public:
46   using SessionInitiator = DataSourceConfig_SessionInitiator;
47   static constexpr auto SESSION_INITIATOR_UNSPECIFIED = DataSourceConfig_SessionInitiator_SESSION_INITIATOR_UNSPECIFIED;
48   static constexpr auto SESSION_INITIATOR_TRUSTED_SYSTEM = DataSourceConfig_SessionInitiator_SESSION_INITIATOR_TRUSTED_SYSTEM;
49   static constexpr auto SessionInitiator_MIN = DataSourceConfig_SessionInitiator_SESSION_INITIATOR_UNSPECIFIED;
50   static constexpr auto SessionInitiator_MAX = DataSourceConfig_SessionInitiator_SESSION_INITIATOR_TRUSTED_SYSTEM;
51   enum FieldNumbers {
52     kNameFieldNumber = 1,
53     kTargetBufferFieldNumber = 2,
54     kTraceDurationMsFieldNumber = 3,
55     kPreferSuspendClockForDurationFieldNumber = 122,
56     kStopTimeoutMsFieldNumber = 7,
57     kEnableExtraGuardrailsFieldNumber = 6,
58     kSessionInitiatorFieldNumber = 8,
59     kTracingSessionIdFieldNumber = 4,
60     kFtraceConfigFieldNumber = 100,
61     kInodeFileConfigFieldNumber = 102,
62     kProcessStatsConfigFieldNumber = 103,
63     kSysStatsConfigFieldNumber = 104,
64     kHeapprofdConfigFieldNumber = 105,
65     kJavaHprofConfigFieldNumber = 110,
66     kAndroidPowerConfigFieldNumber = 106,
67     kAndroidLogConfigFieldNumber = 107,
68     kGpuCounterConfigFieldNumber = 108,
69     kAndroidGameInterventionListConfigFieldNumber = 116,
70     kPackagesListConfigFieldNumber = 109,
71     kPerfEventConfigFieldNumber = 111,
72     kVulkanMemoryConfigFieldNumber = 112,
73     kTrackEventConfigFieldNumber = 113,
74     kAndroidPolledStateConfigFieldNumber = 114,
75     kAndroidSystemPropertyConfigFieldNumber = 118,
76     kStatsdTracingConfigFieldNumber = 117,
77     kSystemInfoConfigFieldNumber = 119,
78     kChromeConfigFieldNumber = 101,
79     kV8ConfigFieldNumber = 127,
80     kInterceptorConfigFieldNumber = 115,
81     kNetworkPacketTraceConfigFieldNumber = 120,
82     kSurfaceflingerLayersConfigFieldNumber = 121,
83     kSurfaceflingerTransactionsConfigFieldNumber = 123,
84     kAndroidSdkSyspropGuardConfigFieldNumber = 124,
85     kEtwConfigFieldNumber = 125,
86     kProtologConfigFieldNumber = 126,
87     kAndroidInputEventConfigFieldNumber = 128,
88     kPixelModemConfigFieldNumber = 129,
89     kWindowmanagerConfigFieldNumber = 130,
90     kChromiumSystemMetricsFieldNumber = 131,
91     kLegacyConfigFieldNumber = 1000,
92     kForTestingFieldNumber = 1001,
93   };
94 
95   DataSourceConfig();
96   ~DataSourceConfig() override;
97   DataSourceConfig(DataSourceConfig&&) noexcept;
98   DataSourceConfig& operator=(DataSourceConfig&&);
99   DataSourceConfig(const DataSourceConfig&);
100   DataSourceConfig& operator=(const DataSourceConfig&);
101   bool operator==(const DataSourceConfig&) const;
102   bool operator!=(const DataSourceConfig& other) const { return !(*this == other); }
103 
104   bool ParseFromArray(const void*, size_t) override;
105   std::string SerializeAsString() const override;
106   std::vector<uint8_t> SerializeAsArray() const override;
107   void Serialize(::protozero::Message*) const;
108 
has_name()109   bool has_name() const { return _has_field_[1]; }
name()110   const std::string& name() const { return name_; }
set_name(const std::string & value)111   void set_name(const std::string& value) { name_ = value; _has_field_.set(1); }
112 
has_target_buffer()113   bool has_target_buffer() const { return _has_field_[2]; }
target_buffer()114   uint32_t target_buffer() const { return target_buffer_; }
set_target_buffer(uint32_t value)115   void set_target_buffer(uint32_t value) { target_buffer_ = value; _has_field_.set(2); }
116 
has_trace_duration_ms()117   bool has_trace_duration_ms() const { return _has_field_[3]; }
trace_duration_ms()118   uint32_t trace_duration_ms() const { return trace_duration_ms_; }
set_trace_duration_ms(uint32_t value)119   void set_trace_duration_ms(uint32_t value) { trace_duration_ms_ = value; _has_field_.set(3); }
120 
has_prefer_suspend_clock_for_duration()121   bool has_prefer_suspend_clock_for_duration() const { return _has_field_[122]; }
prefer_suspend_clock_for_duration()122   bool prefer_suspend_clock_for_duration() const { return prefer_suspend_clock_for_duration_; }
set_prefer_suspend_clock_for_duration(bool value)123   void set_prefer_suspend_clock_for_duration(bool value) { prefer_suspend_clock_for_duration_ = value; _has_field_.set(122); }
124 
has_stop_timeout_ms()125   bool has_stop_timeout_ms() const { return _has_field_[7]; }
stop_timeout_ms()126   uint32_t stop_timeout_ms() const { return stop_timeout_ms_; }
set_stop_timeout_ms(uint32_t value)127   void set_stop_timeout_ms(uint32_t value) { stop_timeout_ms_ = value; _has_field_.set(7); }
128 
has_enable_extra_guardrails()129   bool has_enable_extra_guardrails() const { return _has_field_[6]; }
enable_extra_guardrails()130   bool enable_extra_guardrails() const { return enable_extra_guardrails_; }
set_enable_extra_guardrails(bool value)131   void set_enable_extra_guardrails(bool value) { enable_extra_guardrails_ = value; _has_field_.set(6); }
132 
has_session_initiator()133   bool has_session_initiator() const { return _has_field_[8]; }
session_initiator()134   DataSourceConfig_SessionInitiator session_initiator() const { return session_initiator_; }
set_session_initiator(DataSourceConfig_SessionInitiator value)135   void set_session_initiator(DataSourceConfig_SessionInitiator value) { session_initiator_ = value; _has_field_.set(8); }
136 
has_tracing_session_id()137   bool has_tracing_session_id() const { return _has_field_[4]; }
tracing_session_id()138   uint64_t tracing_session_id() const { return tracing_session_id_; }
set_tracing_session_id(uint64_t value)139   void set_tracing_session_id(uint64_t value) { tracing_session_id_ = value; _has_field_.set(4); }
140 
ftrace_config_raw()141   const std::string& ftrace_config_raw() const { return ftrace_config_; }
set_ftrace_config_raw(const std::string & raw)142   void set_ftrace_config_raw(const std::string& raw) { ftrace_config_ = raw; _has_field_.set(100); }
143 
inode_file_config_raw()144   const std::string& inode_file_config_raw() const { return inode_file_config_; }
set_inode_file_config_raw(const std::string & raw)145   void set_inode_file_config_raw(const std::string& raw) { inode_file_config_ = raw; _has_field_.set(102); }
146 
process_stats_config_raw()147   const std::string& process_stats_config_raw() const { return process_stats_config_; }
set_process_stats_config_raw(const std::string & raw)148   void set_process_stats_config_raw(const std::string& raw) { process_stats_config_ = raw; _has_field_.set(103); }
149 
sys_stats_config_raw()150   const std::string& sys_stats_config_raw() const { return sys_stats_config_; }
set_sys_stats_config_raw(const std::string & raw)151   void set_sys_stats_config_raw(const std::string& raw) { sys_stats_config_ = raw; _has_field_.set(104); }
152 
heapprofd_config_raw()153   const std::string& heapprofd_config_raw() const { return heapprofd_config_; }
set_heapprofd_config_raw(const std::string & raw)154   void set_heapprofd_config_raw(const std::string& raw) { heapprofd_config_ = raw; _has_field_.set(105); }
155 
java_hprof_config_raw()156   const std::string& java_hprof_config_raw() const { return java_hprof_config_; }
set_java_hprof_config_raw(const std::string & raw)157   void set_java_hprof_config_raw(const std::string& raw) { java_hprof_config_ = raw; _has_field_.set(110); }
158 
android_power_config_raw()159   const std::string& android_power_config_raw() const { return android_power_config_; }
set_android_power_config_raw(const std::string & raw)160   void set_android_power_config_raw(const std::string& raw) { android_power_config_ = raw; _has_field_.set(106); }
161 
android_log_config_raw()162   const std::string& android_log_config_raw() const { return android_log_config_; }
set_android_log_config_raw(const std::string & raw)163   void set_android_log_config_raw(const std::string& raw) { android_log_config_ = raw; _has_field_.set(107); }
164 
gpu_counter_config_raw()165   const std::string& gpu_counter_config_raw() const { return gpu_counter_config_; }
set_gpu_counter_config_raw(const std::string & raw)166   void set_gpu_counter_config_raw(const std::string& raw) { gpu_counter_config_ = raw; _has_field_.set(108); }
167 
android_game_intervention_list_config_raw()168   const std::string& android_game_intervention_list_config_raw() const { return android_game_intervention_list_config_; }
set_android_game_intervention_list_config_raw(const std::string & raw)169   void set_android_game_intervention_list_config_raw(const std::string& raw) { android_game_intervention_list_config_ = raw; _has_field_.set(116); }
170 
packages_list_config_raw()171   const std::string& packages_list_config_raw() const { return packages_list_config_; }
set_packages_list_config_raw(const std::string & raw)172   void set_packages_list_config_raw(const std::string& raw) { packages_list_config_ = raw; _has_field_.set(109); }
173 
perf_event_config_raw()174   const std::string& perf_event_config_raw() const { return perf_event_config_; }
set_perf_event_config_raw(const std::string & raw)175   void set_perf_event_config_raw(const std::string& raw) { perf_event_config_ = raw; _has_field_.set(111); }
176 
vulkan_memory_config_raw()177   const std::string& vulkan_memory_config_raw() const { return vulkan_memory_config_; }
set_vulkan_memory_config_raw(const std::string & raw)178   void set_vulkan_memory_config_raw(const std::string& raw) { vulkan_memory_config_ = raw; _has_field_.set(112); }
179 
track_event_config_raw()180   const std::string& track_event_config_raw() const { return track_event_config_; }
set_track_event_config_raw(const std::string & raw)181   void set_track_event_config_raw(const std::string& raw) { track_event_config_ = raw; _has_field_.set(113); }
182 
android_polled_state_config_raw()183   const std::string& android_polled_state_config_raw() const { return android_polled_state_config_; }
set_android_polled_state_config_raw(const std::string & raw)184   void set_android_polled_state_config_raw(const std::string& raw) { android_polled_state_config_ = raw; _has_field_.set(114); }
185 
android_system_property_config_raw()186   const std::string& android_system_property_config_raw() const { return android_system_property_config_; }
set_android_system_property_config_raw(const std::string & raw)187   void set_android_system_property_config_raw(const std::string& raw) { android_system_property_config_ = raw; _has_field_.set(118); }
188 
statsd_tracing_config_raw()189   const std::string& statsd_tracing_config_raw() const { return statsd_tracing_config_; }
set_statsd_tracing_config_raw(const std::string & raw)190   void set_statsd_tracing_config_raw(const std::string& raw) { statsd_tracing_config_ = raw; _has_field_.set(117); }
191 
has_system_info_config()192   bool has_system_info_config() const { return _has_field_[119]; }
system_info_config()193   const SystemInfoConfig& system_info_config() const { return *system_info_config_; }
mutable_system_info_config()194   SystemInfoConfig* mutable_system_info_config() { _has_field_.set(119); return system_info_config_.get(); }
195 
has_chrome_config()196   bool has_chrome_config() const { return _has_field_[101]; }
chrome_config()197   const ChromeConfig& chrome_config() const { return *chrome_config_; }
mutable_chrome_config()198   ChromeConfig* mutable_chrome_config() { _has_field_.set(101); return chrome_config_.get(); }
199 
v8_config_raw()200   const std::string& v8_config_raw() const { return v8_config_; }
set_v8_config_raw(const std::string & raw)201   void set_v8_config_raw(const std::string& raw) { v8_config_ = raw; _has_field_.set(127); }
202 
has_interceptor_config()203   bool has_interceptor_config() const { return _has_field_[115]; }
interceptor_config()204   const InterceptorConfig& interceptor_config() const { return *interceptor_config_; }
mutable_interceptor_config()205   InterceptorConfig* mutable_interceptor_config() { _has_field_.set(115); return interceptor_config_.get(); }
206 
network_packet_trace_config_raw()207   const std::string& network_packet_trace_config_raw() const { return network_packet_trace_config_; }
set_network_packet_trace_config_raw(const std::string & raw)208   void set_network_packet_trace_config_raw(const std::string& raw) { network_packet_trace_config_ = raw; _has_field_.set(120); }
209 
surfaceflinger_layers_config_raw()210   const std::string& surfaceflinger_layers_config_raw() const { return surfaceflinger_layers_config_; }
set_surfaceflinger_layers_config_raw(const std::string & raw)211   void set_surfaceflinger_layers_config_raw(const std::string& raw) { surfaceflinger_layers_config_ = raw; _has_field_.set(121); }
212 
surfaceflinger_transactions_config_raw()213   const std::string& surfaceflinger_transactions_config_raw() const { return surfaceflinger_transactions_config_; }
set_surfaceflinger_transactions_config_raw(const std::string & raw)214   void set_surfaceflinger_transactions_config_raw(const std::string& raw) { surfaceflinger_transactions_config_ = raw; _has_field_.set(123); }
215 
android_sdk_sysprop_guard_config_raw()216   const std::string& android_sdk_sysprop_guard_config_raw() const { return android_sdk_sysprop_guard_config_; }
set_android_sdk_sysprop_guard_config_raw(const std::string & raw)217   void set_android_sdk_sysprop_guard_config_raw(const std::string& raw) { android_sdk_sysprop_guard_config_ = raw; _has_field_.set(124); }
218 
etw_config_raw()219   const std::string& etw_config_raw() const { return etw_config_; }
set_etw_config_raw(const std::string & raw)220   void set_etw_config_raw(const std::string& raw) { etw_config_ = raw; _has_field_.set(125); }
221 
protolog_config_raw()222   const std::string& protolog_config_raw() const { return protolog_config_; }
set_protolog_config_raw(const std::string & raw)223   void set_protolog_config_raw(const std::string& raw) { protolog_config_ = raw; _has_field_.set(126); }
224 
android_input_event_config_raw()225   const std::string& android_input_event_config_raw() const { return android_input_event_config_; }
set_android_input_event_config_raw(const std::string & raw)226   void set_android_input_event_config_raw(const std::string& raw) { android_input_event_config_ = raw; _has_field_.set(128); }
227 
pixel_modem_config_raw()228   const std::string& pixel_modem_config_raw() const { return pixel_modem_config_; }
set_pixel_modem_config_raw(const std::string & raw)229   void set_pixel_modem_config_raw(const std::string& raw) { pixel_modem_config_ = raw; _has_field_.set(129); }
230 
windowmanager_config_raw()231   const std::string& windowmanager_config_raw() const { return windowmanager_config_; }
set_windowmanager_config_raw(const std::string & raw)232   void set_windowmanager_config_raw(const std::string& raw) { windowmanager_config_ = raw; _has_field_.set(130); }
233 
chromium_system_metrics_raw()234   const std::string& chromium_system_metrics_raw() const { return chromium_system_metrics_; }
set_chromium_system_metrics_raw(const std::string & raw)235   void set_chromium_system_metrics_raw(const std::string& raw) { chromium_system_metrics_ = raw; _has_field_.set(131); }
236 
has_legacy_config()237   bool has_legacy_config() const { return _has_field_[1000]; }
legacy_config()238   const std::string& legacy_config() const { return legacy_config_; }
set_legacy_config(const std::string & value)239   void set_legacy_config(const std::string& value) { legacy_config_ = value; _has_field_.set(1000); }
240 
has_for_testing()241   bool has_for_testing() const { return _has_field_[1001]; }
for_testing()242   const TestConfig& for_testing() const { return *for_testing_; }
mutable_for_testing()243   TestConfig* mutable_for_testing() { _has_field_.set(1001); return for_testing_.get(); }
244 
245  private:
246   std::string name_{};
247   uint32_t target_buffer_{};
248   uint32_t trace_duration_ms_{};
249   bool prefer_suspend_clock_for_duration_{};
250   uint32_t stop_timeout_ms_{};
251   bool enable_extra_guardrails_{};
252   DataSourceConfig_SessionInitiator session_initiator_{};
253   uint64_t tracing_session_id_{};
254   std::string ftrace_config_;  // [lazy=true]
255   std::string inode_file_config_;  // [lazy=true]
256   std::string process_stats_config_;  // [lazy=true]
257   std::string sys_stats_config_;  // [lazy=true]
258   std::string heapprofd_config_;  // [lazy=true]
259   std::string java_hprof_config_;  // [lazy=true]
260   std::string android_power_config_;  // [lazy=true]
261   std::string android_log_config_;  // [lazy=true]
262   std::string gpu_counter_config_;  // [lazy=true]
263   std::string android_game_intervention_list_config_;  // [lazy=true]
264   std::string packages_list_config_;  // [lazy=true]
265   std::string perf_event_config_;  // [lazy=true]
266   std::string vulkan_memory_config_;  // [lazy=true]
267   std::string track_event_config_;  // [lazy=true]
268   std::string android_polled_state_config_;  // [lazy=true]
269   std::string android_system_property_config_;  // [lazy=true]
270   std::string statsd_tracing_config_;  // [lazy=true]
271   ::protozero::CopyablePtr<SystemInfoConfig> system_info_config_;
272   ::protozero::CopyablePtr<ChromeConfig> chrome_config_;
273   std::string v8_config_;  // [lazy=true]
274   ::protozero::CopyablePtr<InterceptorConfig> interceptor_config_;
275   std::string network_packet_trace_config_;  // [lazy=true]
276   std::string surfaceflinger_layers_config_;  // [lazy=true]
277   std::string surfaceflinger_transactions_config_;  // [lazy=true]
278   std::string android_sdk_sysprop_guard_config_;  // [lazy=true]
279   std::string etw_config_;  // [lazy=true]
280   std::string protolog_config_;  // [lazy=true]
281   std::string android_input_event_config_;  // [lazy=true]
282   std::string pixel_modem_config_;  // [lazy=true]
283   std::string windowmanager_config_;  // [lazy=true]
284   std::string chromium_system_metrics_;  // [lazy=true]
285   std::string legacy_config_{};
286   ::protozero::CopyablePtr<TestConfig> for_testing_;
287 
288   // Allows to preserve unknown protobuf fields for compatibility
289   // with future versions of .proto files.
290   std::string unknown_fields_;
291 
292   std::bitset<1002> _has_field_{};
293 };
294 
295 }  // namespace perfetto
296 }  // namespace protos
297 }  // namespace gen
298 
299 #endif  // PERFETTO_PROTOS_PROTOS_PERFETTO_CONFIG_DATA_SOURCE_CONFIG_PROTO_CPP_H_
300