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