1 // Autogenerated by the ProtoZero compiler plugin. DO NOT EDIT.
2 
3 #ifndef PERFETTO_PROTOS_PROTOS_PERFETTO_TRACE_ANDROID_CONTENT_CONFIGURATION_PROTO_H_
4 #define PERFETTO_PROTOS_PROTOS_PERFETTO_TRACE_ANDROID_CONTENT_CONFIGURATION_PROTO_H_
5 
6 #include <stddef.h>
7 #include <stdint.h>
8 
9 #include "perfetto/protozero/field_writer.h"
10 #include "perfetto/protozero/message.h"
11 #include "perfetto/protozero/packed_repeated_fields.h"
12 #include "perfetto/protozero/proto_decoder.h"
13 #include "perfetto/protozero/proto_utils.h"
14 
15 namespace perfetto {
16 namespace protos {
17 namespace pbzero {
18 class ConfigurationProto;
19 class DeviceConfigurationProto;
20 class LocaleProto;
21 class ResourcesConfigurationProto;
22 class WindowConfigurationProto;
23 } // Namespace pbzero.
24 } // Namespace protos.
25 } // Namespace perfetto.
26 
27 namespace perfetto {
28 namespace protos {
29 namespace pbzero {
30 
31 class GlobalConfigurationProto_Decoder : public ::protozero::TypedProtoDecoder</*MAX_FIELD_ID=*/2, /*HAS_NONPACKED_REPEATED_FIELDS=*/false> {
32  public:
GlobalConfigurationProto_Decoder(const uint8_t * data,size_t len)33   GlobalConfigurationProto_Decoder(const uint8_t* data, size_t len) : TypedProtoDecoder(data, len) {}
GlobalConfigurationProto_Decoder(const std::string & raw)34   explicit GlobalConfigurationProto_Decoder(const std::string& raw) : TypedProtoDecoder(reinterpret_cast<const uint8_t*>(raw.data()), raw.size()) {}
GlobalConfigurationProto_Decoder(const::protozero::ConstBytes & raw)35   explicit GlobalConfigurationProto_Decoder(const ::protozero::ConstBytes& raw) : TypedProtoDecoder(raw.data, raw.size) {}
has_resources()36   bool has_resources() const { return at<1>().valid(); }
resources()37   ::protozero::ConstBytes resources() const { return at<1>().as_bytes(); }
has_device()38   bool has_device() const { return at<2>().valid(); }
device()39   ::protozero::ConstBytes device() const { return at<2>().as_bytes(); }
40 };
41 
42 class GlobalConfigurationProto : public ::protozero::Message {
43  public:
44   using Decoder = GlobalConfigurationProto_Decoder;
45   enum : int32_t {
46     kResourcesFieldNumber = 1,
47     kDeviceFieldNumber = 2,
48   };
GetName()49   static constexpr const char* GetName() { return ".perfetto.protos.GlobalConfigurationProto"; }
50 
51 
52   using FieldMetadata_Resources =
53     ::protozero::proto_utils::FieldMetadata<
54       1,
55       ::protozero::proto_utils::RepetitionType::kNotRepeated,
56       ::protozero::proto_utils::ProtoSchemaType::kMessage,
57       ResourcesConfigurationProto,
58       GlobalConfigurationProto>;
59 
60   static constexpr FieldMetadata_Resources kResources{};
set_resources()61   template <typename T = ResourcesConfigurationProto> T* set_resources() {
62     return BeginNestedMessage<T>(1);
63   }
64 
65 
66   using FieldMetadata_Device =
67     ::protozero::proto_utils::FieldMetadata<
68       2,
69       ::protozero::proto_utils::RepetitionType::kNotRepeated,
70       ::protozero::proto_utils::ProtoSchemaType::kMessage,
71       DeviceConfigurationProto,
72       GlobalConfigurationProto>;
73 
74   static constexpr FieldMetadata_Device kDevice{};
set_device()75   template <typename T = DeviceConfigurationProto> T* set_device() {
76     return BeginNestedMessage<T>(2);
77   }
78 
79 };
80 
81 class DeviceConfigurationProto_Decoder : public ::protozero::TypedProtoDecoder</*MAX_FIELD_ID=*/12, /*HAS_NONPACKED_REPEATED_FIELDS=*/true> {
82  public:
DeviceConfigurationProto_Decoder(const uint8_t * data,size_t len)83   DeviceConfigurationProto_Decoder(const uint8_t* data, size_t len) : TypedProtoDecoder(data, len) {}
DeviceConfigurationProto_Decoder(const std::string & raw)84   explicit DeviceConfigurationProto_Decoder(const std::string& raw) : TypedProtoDecoder(reinterpret_cast<const uint8_t*>(raw.data()), raw.size()) {}
DeviceConfigurationProto_Decoder(const::protozero::ConstBytes & raw)85   explicit DeviceConfigurationProto_Decoder(const ::protozero::ConstBytes& raw) : TypedProtoDecoder(raw.data, raw.size) {}
has_stable_screen_width_px()86   bool has_stable_screen_width_px() const { return at<1>().valid(); }
stable_screen_width_px()87   uint32_t stable_screen_width_px() const { return at<1>().as_uint32(); }
has_stable_screen_height_px()88   bool has_stable_screen_height_px() const { return at<2>().valid(); }
stable_screen_height_px()89   uint32_t stable_screen_height_px() const { return at<2>().as_uint32(); }
has_stable_density_dpi()90   bool has_stable_density_dpi() const { return at<3>().valid(); }
stable_density_dpi()91   uint32_t stable_density_dpi() const { return at<3>().as_uint32(); }
has_total_ram()92   bool has_total_ram() const { return at<4>().valid(); }
total_ram()93   uint64_t total_ram() const { return at<4>().as_uint64(); }
has_low_ram()94   bool has_low_ram() const { return at<5>().valid(); }
low_ram()95   bool low_ram() const { return at<5>().as_bool(); }
has_max_cores()96   bool has_max_cores() const { return at<6>().valid(); }
max_cores()97   uint32_t max_cores() const { return at<6>().as_uint32(); }
has_has_secure_screen_lock()98   bool has_has_secure_screen_lock() const { return at<7>().valid(); }
has_secure_screen_lock()99   bool has_secure_screen_lock() const { return at<7>().as_bool(); }
has_opengl_version()100   bool has_opengl_version() const { return at<8>().valid(); }
opengl_version()101   uint32_t opengl_version() const { return at<8>().as_uint32(); }
has_opengl_extensions()102   bool has_opengl_extensions() const { return at<9>().valid(); }
opengl_extensions()103   ::protozero::RepeatedFieldIterator<::protozero::ConstChars> opengl_extensions() const { return GetRepeated<::protozero::ConstChars>(9); }
has_shared_libraries()104   bool has_shared_libraries() const { return at<10>().valid(); }
shared_libraries()105   ::protozero::RepeatedFieldIterator<::protozero::ConstChars> shared_libraries() const { return GetRepeated<::protozero::ConstChars>(10); }
has_features()106   bool has_features() const { return at<11>().valid(); }
features()107   ::protozero::RepeatedFieldIterator<::protozero::ConstChars> features() const { return GetRepeated<::protozero::ConstChars>(11); }
has_cpu_architectures()108   bool has_cpu_architectures() const { return at<12>().valid(); }
cpu_architectures()109   ::protozero::RepeatedFieldIterator<::protozero::ConstChars> cpu_architectures() const { return GetRepeated<::protozero::ConstChars>(12); }
110 };
111 
112 class DeviceConfigurationProto : public ::protozero::Message {
113  public:
114   using Decoder = DeviceConfigurationProto_Decoder;
115   enum : int32_t {
116     kStableScreenWidthPxFieldNumber = 1,
117     kStableScreenHeightPxFieldNumber = 2,
118     kStableDensityDpiFieldNumber = 3,
119     kTotalRamFieldNumber = 4,
120     kLowRamFieldNumber = 5,
121     kMaxCoresFieldNumber = 6,
122     kHasSecureScreenLockFieldNumber = 7,
123     kOpenglVersionFieldNumber = 8,
124     kOpenglExtensionsFieldNumber = 9,
125     kSharedLibrariesFieldNumber = 10,
126     kFeaturesFieldNumber = 11,
127     kCpuArchitecturesFieldNumber = 12,
128   };
GetName()129   static constexpr const char* GetName() { return ".perfetto.protos.DeviceConfigurationProto"; }
130 
131 
132   using FieldMetadata_StableScreenWidthPx =
133     ::protozero::proto_utils::FieldMetadata<
134       1,
135       ::protozero::proto_utils::RepetitionType::kNotRepeated,
136       ::protozero::proto_utils::ProtoSchemaType::kUint32,
137       uint32_t,
138       DeviceConfigurationProto>;
139 
140   static constexpr FieldMetadata_StableScreenWidthPx kStableScreenWidthPx{};
set_stable_screen_width_px(uint32_t value)141   void set_stable_screen_width_px(uint32_t value) {
142     static constexpr uint32_t field_id = FieldMetadata_StableScreenWidthPx::kFieldId;
143     // Call the appropriate protozero::Message::Append(field_id, ...)
144     // method based on the type of the field.
145     ::protozero::internal::FieldWriter<
146       ::protozero::proto_utils::ProtoSchemaType::kUint32>
147         ::Append(*this, field_id, value);
148   }
149 
150   using FieldMetadata_StableScreenHeightPx =
151     ::protozero::proto_utils::FieldMetadata<
152       2,
153       ::protozero::proto_utils::RepetitionType::kNotRepeated,
154       ::protozero::proto_utils::ProtoSchemaType::kUint32,
155       uint32_t,
156       DeviceConfigurationProto>;
157 
158   static constexpr FieldMetadata_StableScreenHeightPx kStableScreenHeightPx{};
set_stable_screen_height_px(uint32_t value)159   void set_stable_screen_height_px(uint32_t value) {
160     static constexpr uint32_t field_id = FieldMetadata_StableScreenHeightPx::kFieldId;
161     // Call the appropriate protozero::Message::Append(field_id, ...)
162     // method based on the type of the field.
163     ::protozero::internal::FieldWriter<
164       ::protozero::proto_utils::ProtoSchemaType::kUint32>
165         ::Append(*this, field_id, value);
166   }
167 
168   using FieldMetadata_StableDensityDpi =
169     ::protozero::proto_utils::FieldMetadata<
170       3,
171       ::protozero::proto_utils::RepetitionType::kNotRepeated,
172       ::protozero::proto_utils::ProtoSchemaType::kUint32,
173       uint32_t,
174       DeviceConfigurationProto>;
175 
176   static constexpr FieldMetadata_StableDensityDpi kStableDensityDpi{};
set_stable_density_dpi(uint32_t value)177   void set_stable_density_dpi(uint32_t value) {
178     static constexpr uint32_t field_id = FieldMetadata_StableDensityDpi::kFieldId;
179     // Call the appropriate protozero::Message::Append(field_id, ...)
180     // method based on the type of the field.
181     ::protozero::internal::FieldWriter<
182       ::protozero::proto_utils::ProtoSchemaType::kUint32>
183         ::Append(*this, field_id, value);
184   }
185 
186   using FieldMetadata_TotalRam =
187     ::protozero::proto_utils::FieldMetadata<
188       4,
189       ::protozero::proto_utils::RepetitionType::kNotRepeated,
190       ::protozero::proto_utils::ProtoSchemaType::kUint64,
191       uint64_t,
192       DeviceConfigurationProto>;
193 
194   static constexpr FieldMetadata_TotalRam kTotalRam{};
set_total_ram(uint64_t value)195   void set_total_ram(uint64_t value) {
196     static constexpr uint32_t field_id = FieldMetadata_TotalRam::kFieldId;
197     // Call the appropriate protozero::Message::Append(field_id, ...)
198     // method based on the type of the field.
199     ::protozero::internal::FieldWriter<
200       ::protozero::proto_utils::ProtoSchemaType::kUint64>
201         ::Append(*this, field_id, value);
202   }
203 
204   using FieldMetadata_LowRam =
205     ::protozero::proto_utils::FieldMetadata<
206       5,
207       ::protozero::proto_utils::RepetitionType::kNotRepeated,
208       ::protozero::proto_utils::ProtoSchemaType::kBool,
209       bool,
210       DeviceConfigurationProto>;
211 
212   static constexpr FieldMetadata_LowRam kLowRam{};
set_low_ram(bool value)213   void set_low_ram(bool value) {
214     static constexpr uint32_t field_id = FieldMetadata_LowRam::kFieldId;
215     // Call the appropriate protozero::Message::Append(field_id, ...)
216     // method based on the type of the field.
217     ::protozero::internal::FieldWriter<
218       ::protozero::proto_utils::ProtoSchemaType::kBool>
219         ::Append(*this, field_id, value);
220   }
221 
222   using FieldMetadata_MaxCores =
223     ::protozero::proto_utils::FieldMetadata<
224       6,
225       ::protozero::proto_utils::RepetitionType::kNotRepeated,
226       ::protozero::proto_utils::ProtoSchemaType::kUint32,
227       uint32_t,
228       DeviceConfigurationProto>;
229 
230   static constexpr FieldMetadata_MaxCores kMaxCores{};
set_max_cores(uint32_t value)231   void set_max_cores(uint32_t value) {
232     static constexpr uint32_t field_id = FieldMetadata_MaxCores::kFieldId;
233     // Call the appropriate protozero::Message::Append(field_id, ...)
234     // method based on the type of the field.
235     ::protozero::internal::FieldWriter<
236       ::protozero::proto_utils::ProtoSchemaType::kUint32>
237         ::Append(*this, field_id, value);
238   }
239 
240   using FieldMetadata_HasSecureScreenLock =
241     ::protozero::proto_utils::FieldMetadata<
242       7,
243       ::protozero::proto_utils::RepetitionType::kNotRepeated,
244       ::protozero::proto_utils::ProtoSchemaType::kBool,
245       bool,
246       DeviceConfigurationProto>;
247 
248   static constexpr FieldMetadata_HasSecureScreenLock kHasSecureScreenLock{};
set_has_secure_screen_lock(bool value)249   void set_has_secure_screen_lock(bool value) {
250     static constexpr uint32_t field_id = FieldMetadata_HasSecureScreenLock::kFieldId;
251     // Call the appropriate protozero::Message::Append(field_id, ...)
252     // method based on the type of the field.
253     ::protozero::internal::FieldWriter<
254       ::protozero::proto_utils::ProtoSchemaType::kBool>
255         ::Append(*this, field_id, value);
256   }
257 
258   using FieldMetadata_OpenglVersion =
259     ::protozero::proto_utils::FieldMetadata<
260       8,
261       ::protozero::proto_utils::RepetitionType::kNotRepeated,
262       ::protozero::proto_utils::ProtoSchemaType::kUint32,
263       uint32_t,
264       DeviceConfigurationProto>;
265 
266   static constexpr FieldMetadata_OpenglVersion kOpenglVersion{};
set_opengl_version(uint32_t value)267   void set_opengl_version(uint32_t value) {
268     static constexpr uint32_t field_id = FieldMetadata_OpenglVersion::kFieldId;
269     // Call the appropriate protozero::Message::Append(field_id, ...)
270     // method based on the type of the field.
271     ::protozero::internal::FieldWriter<
272       ::protozero::proto_utils::ProtoSchemaType::kUint32>
273         ::Append(*this, field_id, value);
274   }
275 
276   using FieldMetadata_OpenglExtensions =
277     ::protozero::proto_utils::FieldMetadata<
278       9,
279       ::protozero::proto_utils::RepetitionType::kRepeatedNotPacked,
280       ::protozero::proto_utils::ProtoSchemaType::kString,
281       std::string,
282       DeviceConfigurationProto>;
283 
284   static constexpr FieldMetadata_OpenglExtensions kOpenglExtensions{};
add_opengl_extensions(const char * data,size_t size)285   void add_opengl_extensions(const char* data, size_t size) {
286     AppendBytes(FieldMetadata_OpenglExtensions::kFieldId, data, size);
287   }
add_opengl_extensions(::protozero::ConstChars chars)288   void add_opengl_extensions(::protozero::ConstChars chars) {
289     AppendBytes(FieldMetadata_OpenglExtensions::kFieldId, chars.data, chars.size);
290   }
add_opengl_extensions(std::string value)291   void add_opengl_extensions(std::string value) {
292     static constexpr uint32_t field_id = FieldMetadata_OpenglExtensions::kFieldId;
293     // Call the appropriate protozero::Message::Append(field_id, ...)
294     // method based on the type of the field.
295     ::protozero::internal::FieldWriter<
296       ::protozero::proto_utils::ProtoSchemaType::kString>
297         ::Append(*this, field_id, value);
298   }
299 
300   using FieldMetadata_SharedLibraries =
301     ::protozero::proto_utils::FieldMetadata<
302       10,
303       ::protozero::proto_utils::RepetitionType::kRepeatedNotPacked,
304       ::protozero::proto_utils::ProtoSchemaType::kString,
305       std::string,
306       DeviceConfigurationProto>;
307 
308   static constexpr FieldMetadata_SharedLibraries kSharedLibraries{};
add_shared_libraries(const char * data,size_t size)309   void add_shared_libraries(const char* data, size_t size) {
310     AppendBytes(FieldMetadata_SharedLibraries::kFieldId, data, size);
311   }
add_shared_libraries(::protozero::ConstChars chars)312   void add_shared_libraries(::protozero::ConstChars chars) {
313     AppendBytes(FieldMetadata_SharedLibraries::kFieldId, chars.data, chars.size);
314   }
add_shared_libraries(std::string value)315   void add_shared_libraries(std::string value) {
316     static constexpr uint32_t field_id = FieldMetadata_SharedLibraries::kFieldId;
317     // Call the appropriate protozero::Message::Append(field_id, ...)
318     // method based on the type of the field.
319     ::protozero::internal::FieldWriter<
320       ::protozero::proto_utils::ProtoSchemaType::kString>
321         ::Append(*this, field_id, value);
322   }
323 
324   using FieldMetadata_Features =
325     ::protozero::proto_utils::FieldMetadata<
326       11,
327       ::protozero::proto_utils::RepetitionType::kRepeatedNotPacked,
328       ::protozero::proto_utils::ProtoSchemaType::kString,
329       std::string,
330       DeviceConfigurationProto>;
331 
332   static constexpr FieldMetadata_Features kFeatures{};
add_features(const char * data,size_t size)333   void add_features(const char* data, size_t size) {
334     AppendBytes(FieldMetadata_Features::kFieldId, data, size);
335   }
add_features(::protozero::ConstChars chars)336   void add_features(::protozero::ConstChars chars) {
337     AppendBytes(FieldMetadata_Features::kFieldId, chars.data, chars.size);
338   }
add_features(std::string value)339   void add_features(std::string value) {
340     static constexpr uint32_t field_id = FieldMetadata_Features::kFieldId;
341     // Call the appropriate protozero::Message::Append(field_id, ...)
342     // method based on the type of the field.
343     ::protozero::internal::FieldWriter<
344       ::protozero::proto_utils::ProtoSchemaType::kString>
345         ::Append(*this, field_id, value);
346   }
347 
348   using FieldMetadata_CpuArchitectures =
349     ::protozero::proto_utils::FieldMetadata<
350       12,
351       ::protozero::proto_utils::RepetitionType::kRepeatedNotPacked,
352       ::protozero::proto_utils::ProtoSchemaType::kString,
353       std::string,
354       DeviceConfigurationProto>;
355 
356   static constexpr FieldMetadata_CpuArchitectures kCpuArchitectures{};
add_cpu_architectures(const char * data,size_t size)357   void add_cpu_architectures(const char* data, size_t size) {
358     AppendBytes(FieldMetadata_CpuArchitectures::kFieldId, data, size);
359   }
add_cpu_architectures(::protozero::ConstChars chars)360   void add_cpu_architectures(::protozero::ConstChars chars) {
361     AppendBytes(FieldMetadata_CpuArchitectures::kFieldId, chars.data, chars.size);
362   }
add_cpu_architectures(std::string value)363   void add_cpu_architectures(std::string value) {
364     static constexpr uint32_t field_id = FieldMetadata_CpuArchitectures::kFieldId;
365     // Call the appropriate protozero::Message::Append(field_id, ...)
366     // method based on the type of the field.
367     ::protozero::internal::FieldWriter<
368       ::protozero::proto_utils::ProtoSchemaType::kString>
369         ::Append(*this, field_id, value);
370   }
371 };
372 
373 class ResourcesConfigurationProto_Decoder : public ::protozero::TypedProtoDecoder</*MAX_FIELD_ID=*/4, /*HAS_NONPACKED_REPEATED_FIELDS=*/false> {
374  public:
ResourcesConfigurationProto_Decoder(const uint8_t * data,size_t len)375   ResourcesConfigurationProto_Decoder(const uint8_t* data, size_t len) : TypedProtoDecoder(data, len) {}
ResourcesConfigurationProto_Decoder(const std::string & raw)376   explicit ResourcesConfigurationProto_Decoder(const std::string& raw) : TypedProtoDecoder(reinterpret_cast<const uint8_t*>(raw.data()), raw.size()) {}
ResourcesConfigurationProto_Decoder(const::protozero::ConstBytes & raw)377   explicit ResourcesConfigurationProto_Decoder(const ::protozero::ConstBytes& raw) : TypedProtoDecoder(raw.data, raw.size) {}
has_configuration()378   bool has_configuration() const { return at<1>().valid(); }
configuration()379   ::protozero::ConstBytes configuration() const { return at<1>().as_bytes(); }
has_sdk_version()380   bool has_sdk_version() const { return at<2>().valid(); }
sdk_version()381   uint32_t sdk_version() const { return at<2>().as_uint32(); }
has_screen_width_px()382   bool has_screen_width_px() const { return at<3>().valid(); }
screen_width_px()383   uint32_t screen_width_px() const { return at<3>().as_uint32(); }
has_screen_height_px()384   bool has_screen_height_px() const { return at<4>().valid(); }
screen_height_px()385   uint32_t screen_height_px() const { return at<4>().as_uint32(); }
386 };
387 
388 class ResourcesConfigurationProto : public ::protozero::Message {
389  public:
390   using Decoder = ResourcesConfigurationProto_Decoder;
391   enum : int32_t {
392     kConfigurationFieldNumber = 1,
393     kSdkVersionFieldNumber = 2,
394     kScreenWidthPxFieldNumber = 3,
395     kScreenHeightPxFieldNumber = 4,
396   };
GetName()397   static constexpr const char* GetName() { return ".perfetto.protos.ResourcesConfigurationProto"; }
398 
399 
400   using FieldMetadata_Configuration =
401     ::protozero::proto_utils::FieldMetadata<
402       1,
403       ::protozero::proto_utils::RepetitionType::kNotRepeated,
404       ::protozero::proto_utils::ProtoSchemaType::kMessage,
405       ConfigurationProto,
406       ResourcesConfigurationProto>;
407 
408   static constexpr FieldMetadata_Configuration kConfiguration{};
set_configuration()409   template <typename T = ConfigurationProto> T* set_configuration() {
410     return BeginNestedMessage<T>(1);
411   }
412 
413 
414   using FieldMetadata_SdkVersion =
415     ::protozero::proto_utils::FieldMetadata<
416       2,
417       ::protozero::proto_utils::RepetitionType::kNotRepeated,
418       ::protozero::proto_utils::ProtoSchemaType::kUint32,
419       uint32_t,
420       ResourcesConfigurationProto>;
421 
422   static constexpr FieldMetadata_SdkVersion kSdkVersion{};
set_sdk_version(uint32_t value)423   void set_sdk_version(uint32_t value) {
424     static constexpr uint32_t field_id = FieldMetadata_SdkVersion::kFieldId;
425     // Call the appropriate protozero::Message::Append(field_id, ...)
426     // method based on the type of the field.
427     ::protozero::internal::FieldWriter<
428       ::protozero::proto_utils::ProtoSchemaType::kUint32>
429         ::Append(*this, field_id, value);
430   }
431 
432   using FieldMetadata_ScreenWidthPx =
433     ::protozero::proto_utils::FieldMetadata<
434       3,
435       ::protozero::proto_utils::RepetitionType::kNotRepeated,
436       ::protozero::proto_utils::ProtoSchemaType::kUint32,
437       uint32_t,
438       ResourcesConfigurationProto>;
439 
440   static constexpr FieldMetadata_ScreenWidthPx kScreenWidthPx{};
set_screen_width_px(uint32_t value)441   void set_screen_width_px(uint32_t value) {
442     static constexpr uint32_t field_id = FieldMetadata_ScreenWidthPx::kFieldId;
443     // Call the appropriate protozero::Message::Append(field_id, ...)
444     // method based on the type of the field.
445     ::protozero::internal::FieldWriter<
446       ::protozero::proto_utils::ProtoSchemaType::kUint32>
447         ::Append(*this, field_id, value);
448   }
449 
450   using FieldMetadata_ScreenHeightPx =
451     ::protozero::proto_utils::FieldMetadata<
452       4,
453       ::protozero::proto_utils::RepetitionType::kNotRepeated,
454       ::protozero::proto_utils::ProtoSchemaType::kUint32,
455       uint32_t,
456       ResourcesConfigurationProto>;
457 
458   static constexpr FieldMetadata_ScreenHeightPx kScreenHeightPx{};
set_screen_height_px(uint32_t value)459   void set_screen_height_px(uint32_t value) {
460     static constexpr uint32_t field_id = FieldMetadata_ScreenHeightPx::kFieldId;
461     // Call the appropriate protozero::Message::Append(field_id, ...)
462     // method based on the type of the field.
463     ::protozero::internal::FieldWriter<
464       ::protozero::proto_utils::ProtoSchemaType::kUint32>
465         ::Append(*this, field_id, value);
466   }
467 };
468 
469 class ConfigurationProto_Decoder : public ::protozero::TypedProtoDecoder</*MAX_FIELD_ID=*/22, /*HAS_NONPACKED_REPEATED_FIELDS=*/true> {
470  public:
ConfigurationProto_Decoder(const uint8_t * data,size_t len)471   ConfigurationProto_Decoder(const uint8_t* data, size_t len) : TypedProtoDecoder(data, len) {}
ConfigurationProto_Decoder(const std::string & raw)472   explicit ConfigurationProto_Decoder(const std::string& raw) : TypedProtoDecoder(reinterpret_cast<const uint8_t*>(raw.data()), raw.size()) {}
ConfigurationProto_Decoder(const::protozero::ConstBytes & raw)473   explicit ConfigurationProto_Decoder(const ::protozero::ConstBytes& raw) : TypedProtoDecoder(raw.data, raw.size) {}
has_font_scale()474   bool has_font_scale() const { return at<1>().valid(); }
font_scale()475   float font_scale() const { return at<1>().as_float(); }
has_mcc()476   bool has_mcc() const { return at<2>().valid(); }
mcc()477   uint32_t mcc() const { return at<2>().as_uint32(); }
has_mnc()478   bool has_mnc() const { return at<3>().valid(); }
mnc()479   uint32_t mnc() const { return at<3>().as_uint32(); }
has_locales()480   bool has_locales() const { return at<4>().valid(); }
locales()481   ::protozero::RepeatedFieldIterator<::protozero::ConstBytes> locales() const { return GetRepeated<::protozero::ConstBytes>(4); }
has_screen_layout()482   bool has_screen_layout() const { return at<5>().valid(); }
screen_layout()483   uint32_t screen_layout() const { return at<5>().as_uint32(); }
has_color_mode()484   bool has_color_mode() const { return at<6>().valid(); }
color_mode()485   uint32_t color_mode() const { return at<6>().as_uint32(); }
has_touchscreen()486   bool has_touchscreen() const { return at<7>().valid(); }
touchscreen()487   uint32_t touchscreen() const { return at<7>().as_uint32(); }
has_keyboard()488   bool has_keyboard() const { return at<8>().valid(); }
keyboard()489   uint32_t keyboard() const { return at<8>().as_uint32(); }
has_keyboard_hidden()490   bool has_keyboard_hidden() const { return at<9>().valid(); }
keyboard_hidden()491   uint32_t keyboard_hidden() const { return at<9>().as_uint32(); }
has_hard_keyboard_hidden()492   bool has_hard_keyboard_hidden() const { return at<10>().valid(); }
hard_keyboard_hidden()493   uint32_t hard_keyboard_hidden() const { return at<10>().as_uint32(); }
has_navigation()494   bool has_navigation() const { return at<11>().valid(); }
navigation()495   uint32_t navigation() const { return at<11>().as_uint32(); }
has_navigation_hidden()496   bool has_navigation_hidden() const { return at<12>().valid(); }
navigation_hidden()497   uint32_t navigation_hidden() const { return at<12>().as_uint32(); }
has_orientation()498   bool has_orientation() const { return at<13>().valid(); }
orientation()499   uint32_t orientation() const { return at<13>().as_uint32(); }
has_ui_mode()500   bool has_ui_mode() const { return at<14>().valid(); }
ui_mode()501   uint32_t ui_mode() const { return at<14>().as_uint32(); }
has_screen_width_dp()502   bool has_screen_width_dp() const { return at<15>().valid(); }
screen_width_dp()503   uint32_t screen_width_dp() const { return at<15>().as_uint32(); }
has_screen_height_dp()504   bool has_screen_height_dp() const { return at<16>().valid(); }
screen_height_dp()505   uint32_t screen_height_dp() const { return at<16>().as_uint32(); }
has_smallest_screen_width_dp()506   bool has_smallest_screen_width_dp() const { return at<17>().valid(); }
smallest_screen_width_dp()507   uint32_t smallest_screen_width_dp() const { return at<17>().as_uint32(); }
has_density_dpi()508   bool has_density_dpi() const { return at<18>().valid(); }
density_dpi()509   uint32_t density_dpi() const { return at<18>().as_uint32(); }
has_window_configuration()510   bool has_window_configuration() const { return at<19>().valid(); }
window_configuration()511   ::protozero::ConstBytes window_configuration() const { return at<19>().as_bytes(); }
has_locale_list()512   bool has_locale_list() const { return at<20>().valid(); }
locale_list()513   ::protozero::ConstChars locale_list() const { return at<20>().as_string(); }
has_font_weight_adjustment()514   bool has_font_weight_adjustment() const { return at<21>().valid(); }
font_weight_adjustment()515   uint32_t font_weight_adjustment() const { return at<21>().as_uint32(); }
has_grammatical_gender()516   bool has_grammatical_gender() const { return at<22>().valid(); }
grammatical_gender()517   uint32_t grammatical_gender() const { return at<22>().as_uint32(); }
518 };
519 
520 class ConfigurationProto : public ::protozero::Message {
521  public:
522   using Decoder = ConfigurationProto_Decoder;
523   enum : int32_t {
524     kFontScaleFieldNumber = 1,
525     kMccFieldNumber = 2,
526     kMncFieldNumber = 3,
527     kLocalesFieldNumber = 4,
528     kScreenLayoutFieldNumber = 5,
529     kColorModeFieldNumber = 6,
530     kTouchscreenFieldNumber = 7,
531     kKeyboardFieldNumber = 8,
532     kKeyboardHiddenFieldNumber = 9,
533     kHardKeyboardHiddenFieldNumber = 10,
534     kNavigationFieldNumber = 11,
535     kNavigationHiddenFieldNumber = 12,
536     kOrientationFieldNumber = 13,
537     kUiModeFieldNumber = 14,
538     kScreenWidthDpFieldNumber = 15,
539     kScreenHeightDpFieldNumber = 16,
540     kSmallestScreenWidthDpFieldNumber = 17,
541     kDensityDpiFieldNumber = 18,
542     kWindowConfigurationFieldNumber = 19,
543     kLocaleListFieldNumber = 20,
544     kFontWeightAdjustmentFieldNumber = 21,
545     kGrammaticalGenderFieldNumber = 22,
546   };
GetName()547   static constexpr const char* GetName() { return ".perfetto.protos.ConfigurationProto"; }
548 
549 
550   using FieldMetadata_FontScale =
551     ::protozero::proto_utils::FieldMetadata<
552       1,
553       ::protozero::proto_utils::RepetitionType::kNotRepeated,
554       ::protozero::proto_utils::ProtoSchemaType::kFloat,
555       float,
556       ConfigurationProto>;
557 
558   static constexpr FieldMetadata_FontScale kFontScale{};
set_font_scale(float value)559   void set_font_scale(float value) {
560     static constexpr uint32_t field_id = FieldMetadata_FontScale::kFieldId;
561     // Call the appropriate protozero::Message::Append(field_id, ...)
562     // method based on the type of the field.
563     ::protozero::internal::FieldWriter<
564       ::protozero::proto_utils::ProtoSchemaType::kFloat>
565         ::Append(*this, field_id, value);
566   }
567 
568   using FieldMetadata_Mcc =
569     ::protozero::proto_utils::FieldMetadata<
570       2,
571       ::protozero::proto_utils::RepetitionType::kNotRepeated,
572       ::protozero::proto_utils::ProtoSchemaType::kUint32,
573       uint32_t,
574       ConfigurationProto>;
575 
576   static constexpr FieldMetadata_Mcc kMcc{};
set_mcc(uint32_t value)577   void set_mcc(uint32_t value) {
578     static constexpr uint32_t field_id = FieldMetadata_Mcc::kFieldId;
579     // Call the appropriate protozero::Message::Append(field_id, ...)
580     // method based on the type of the field.
581     ::protozero::internal::FieldWriter<
582       ::protozero::proto_utils::ProtoSchemaType::kUint32>
583         ::Append(*this, field_id, value);
584   }
585 
586   using FieldMetadata_Mnc =
587     ::protozero::proto_utils::FieldMetadata<
588       3,
589       ::protozero::proto_utils::RepetitionType::kNotRepeated,
590       ::protozero::proto_utils::ProtoSchemaType::kUint32,
591       uint32_t,
592       ConfigurationProto>;
593 
594   static constexpr FieldMetadata_Mnc kMnc{};
set_mnc(uint32_t value)595   void set_mnc(uint32_t value) {
596     static constexpr uint32_t field_id = FieldMetadata_Mnc::kFieldId;
597     // Call the appropriate protozero::Message::Append(field_id, ...)
598     // method based on the type of the field.
599     ::protozero::internal::FieldWriter<
600       ::protozero::proto_utils::ProtoSchemaType::kUint32>
601         ::Append(*this, field_id, value);
602   }
603 
604   using FieldMetadata_Locales =
605     ::protozero::proto_utils::FieldMetadata<
606       4,
607       ::protozero::proto_utils::RepetitionType::kRepeatedNotPacked,
608       ::protozero::proto_utils::ProtoSchemaType::kMessage,
609       LocaleProto,
610       ConfigurationProto>;
611 
612   static constexpr FieldMetadata_Locales kLocales{};
add_locales()613   template <typename T = LocaleProto> T* add_locales() {
614     return BeginNestedMessage<T>(4);
615   }
616 
617 
618   using FieldMetadata_ScreenLayout =
619     ::protozero::proto_utils::FieldMetadata<
620       5,
621       ::protozero::proto_utils::RepetitionType::kNotRepeated,
622       ::protozero::proto_utils::ProtoSchemaType::kUint32,
623       uint32_t,
624       ConfigurationProto>;
625 
626   static constexpr FieldMetadata_ScreenLayout kScreenLayout{};
set_screen_layout(uint32_t value)627   void set_screen_layout(uint32_t value) {
628     static constexpr uint32_t field_id = FieldMetadata_ScreenLayout::kFieldId;
629     // Call the appropriate protozero::Message::Append(field_id, ...)
630     // method based on the type of the field.
631     ::protozero::internal::FieldWriter<
632       ::protozero::proto_utils::ProtoSchemaType::kUint32>
633         ::Append(*this, field_id, value);
634   }
635 
636   using FieldMetadata_ColorMode =
637     ::protozero::proto_utils::FieldMetadata<
638       6,
639       ::protozero::proto_utils::RepetitionType::kNotRepeated,
640       ::protozero::proto_utils::ProtoSchemaType::kUint32,
641       uint32_t,
642       ConfigurationProto>;
643 
644   static constexpr FieldMetadata_ColorMode kColorMode{};
set_color_mode(uint32_t value)645   void set_color_mode(uint32_t value) {
646     static constexpr uint32_t field_id = FieldMetadata_ColorMode::kFieldId;
647     // Call the appropriate protozero::Message::Append(field_id, ...)
648     // method based on the type of the field.
649     ::protozero::internal::FieldWriter<
650       ::protozero::proto_utils::ProtoSchemaType::kUint32>
651         ::Append(*this, field_id, value);
652   }
653 
654   using FieldMetadata_Touchscreen =
655     ::protozero::proto_utils::FieldMetadata<
656       7,
657       ::protozero::proto_utils::RepetitionType::kNotRepeated,
658       ::protozero::proto_utils::ProtoSchemaType::kUint32,
659       uint32_t,
660       ConfigurationProto>;
661 
662   static constexpr FieldMetadata_Touchscreen kTouchscreen{};
set_touchscreen(uint32_t value)663   void set_touchscreen(uint32_t value) {
664     static constexpr uint32_t field_id = FieldMetadata_Touchscreen::kFieldId;
665     // Call the appropriate protozero::Message::Append(field_id, ...)
666     // method based on the type of the field.
667     ::protozero::internal::FieldWriter<
668       ::protozero::proto_utils::ProtoSchemaType::kUint32>
669         ::Append(*this, field_id, value);
670   }
671 
672   using FieldMetadata_Keyboard =
673     ::protozero::proto_utils::FieldMetadata<
674       8,
675       ::protozero::proto_utils::RepetitionType::kNotRepeated,
676       ::protozero::proto_utils::ProtoSchemaType::kUint32,
677       uint32_t,
678       ConfigurationProto>;
679 
680   static constexpr FieldMetadata_Keyboard kKeyboard{};
set_keyboard(uint32_t value)681   void set_keyboard(uint32_t value) {
682     static constexpr uint32_t field_id = FieldMetadata_Keyboard::kFieldId;
683     // Call the appropriate protozero::Message::Append(field_id, ...)
684     // method based on the type of the field.
685     ::protozero::internal::FieldWriter<
686       ::protozero::proto_utils::ProtoSchemaType::kUint32>
687         ::Append(*this, field_id, value);
688   }
689 
690   using FieldMetadata_KeyboardHidden =
691     ::protozero::proto_utils::FieldMetadata<
692       9,
693       ::protozero::proto_utils::RepetitionType::kNotRepeated,
694       ::protozero::proto_utils::ProtoSchemaType::kUint32,
695       uint32_t,
696       ConfigurationProto>;
697 
698   static constexpr FieldMetadata_KeyboardHidden kKeyboardHidden{};
set_keyboard_hidden(uint32_t value)699   void set_keyboard_hidden(uint32_t value) {
700     static constexpr uint32_t field_id = FieldMetadata_KeyboardHidden::kFieldId;
701     // Call the appropriate protozero::Message::Append(field_id, ...)
702     // method based on the type of the field.
703     ::protozero::internal::FieldWriter<
704       ::protozero::proto_utils::ProtoSchemaType::kUint32>
705         ::Append(*this, field_id, value);
706   }
707 
708   using FieldMetadata_HardKeyboardHidden =
709     ::protozero::proto_utils::FieldMetadata<
710       10,
711       ::protozero::proto_utils::RepetitionType::kNotRepeated,
712       ::protozero::proto_utils::ProtoSchemaType::kUint32,
713       uint32_t,
714       ConfigurationProto>;
715 
716   static constexpr FieldMetadata_HardKeyboardHidden kHardKeyboardHidden{};
set_hard_keyboard_hidden(uint32_t value)717   void set_hard_keyboard_hidden(uint32_t value) {
718     static constexpr uint32_t field_id = FieldMetadata_HardKeyboardHidden::kFieldId;
719     // Call the appropriate protozero::Message::Append(field_id, ...)
720     // method based on the type of the field.
721     ::protozero::internal::FieldWriter<
722       ::protozero::proto_utils::ProtoSchemaType::kUint32>
723         ::Append(*this, field_id, value);
724   }
725 
726   using FieldMetadata_Navigation =
727     ::protozero::proto_utils::FieldMetadata<
728       11,
729       ::protozero::proto_utils::RepetitionType::kNotRepeated,
730       ::protozero::proto_utils::ProtoSchemaType::kUint32,
731       uint32_t,
732       ConfigurationProto>;
733 
734   static constexpr FieldMetadata_Navigation kNavigation{};
set_navigation(uint32_t value)735   void set_navigation(uint32_t value) {
736     static constexpr uint32_t field_id = FieldMetadata_Navigation::kFieldId;
737     // Call the appropriate protozero::Message::Append(field_id, ...)
738     // method based on the type of the field.
739     ::protozero::internal::FieldWriter<
740       ::protozero::proto_utils::ProtoSchemaType::kUint32>
741         ::Append(*this, field_id, value);
742   }
743 
744   using FieldMetadata_NavigationHidden =
745     ::protozero::proto_utils::FieldMetadata<
746       12,
747       ::protozero::proto_utils::RepetitionType::kNotRepeated,
748       ::protozero::proto_utils::ProtoSchemaType::kUint32,
749       uint32_t,
750       ConfigurationProto>;
751 
752   static constexpr FieldMetadata_NavigationHidden kNavigationHidden{};
set_navigation_hidden(uint32_t value)753   void set_navigation_hidden(uint32_t value) {
754     static constexpr uint32_t field_id = FieldMetadata_NavigationHidden::kFieldId;
755     // Call the appropriate protozero::Message::Append(field_id, ...)
756     // method based on the type of the field.
757     ::protozero::internal::FieldWriter<
758       ::protozero::proto_utils::ProtoSchemaType::kUint32>
759         ::Append(*this, field_id, value);
760   }
761 
762   using FieldMetadata_Orientation =
763     ::protozero::proto_utils::FieldMetadata<
764       13,
765       ::protozero::proto_utils::RepetitionType::kNotRepeated,
766       ::protozero::proto_utils::ProtoSchemaType::kUint32,
767       uint32_t,
768       ConfigurationProto>;
769 
770   static constexpr FieldMetadata_Orientation kOrientation{};
set_orientation(uint32_t value)771   void set_orientation(uint32_t value) {
772     static constexpr uint32_t field_id = FieldMetadata_Orientation::kFieldId;
773     // Call the appropriate protozero::Message::Append(field_id, ...)
774     // method based on the type of the field.
775     ::protozero::internal::FieldWriter<
776       ::protozero::proto_utils::ProtoSchemaType::kUint32>
777         ::Append(*this, field_id, value);
778   }
779 
780   using FieldMetadata_UiMode =
781     ::protozero::proto_utils::FieldMetadata<
782       14,
783       ::protozero::proto_utils::RepetitionType::kNotRepeated,
784       ::protozero::proto_utils::ProtoSchemaType::kUint32,
785       uint32_t,
786       ConfigurationProto>;
787 
788   static constexpr FieldMetadata_UiMode kUiMode{};
set_ui_mode(uint32_t value)789   void set_ui_mode(uint32_t value) {
790     static constexpr uint32_t field_id = FieldMetadata_UiMode::kFieldId;
791     // Call the appropriate protozero::Message::Append(field_id, ...)
792     // method based on the type of the field.
793     ::protozero::internal::FieldWriter<
794       ::protozero::proto_utils::ProtoSchemaType::kUint32>
795         ::Append(*this, field_id, value);
796   }
797 
798   using FieldMetadata_ScreenWidthDp =
799     ::protozero::proto_utils::FieldMetadata<
800       15,
801       ::protozero::proto_utils::RepetitionType::kNotRepeated,
802       ::protozero::proto_utils::ProtoSchemaType::kUint32,
803       uint32_t,
804       ConfigurationProto>;
805 
806   static constexpr FieldMetadata_ScreenWidthDp kScreenWidthDp{};
set_screen_width_dp(uint32_t value)807   void set_screen_width_dp(uint32_t value) {
808     static constexpr uint32_t field_id = FieldMetadata_ScreenWidthDp::kFieldId;
809     // Call the appropriate protozero::Message::Append(field_id, ...)
810     // method based on the type of the field.
811     ::protozero::internal::FieldWriter<
812       ::protozero::proto_utils::ProtoSchemaType::kUint32>
813         ::Append(*this, field_id, value);
814   }
815 
816   using FieldMetadata_ScreenHeightDp =
817     ::protozero::proto_utils::FieldMetadata<
818       16,
819       ::protozero::proto_utils::RepetitionType::kNotRepeated,
820       ::protozero::proto_utils::ProtoSchemaType::kUint32,
821       uint32_t,
822       ConfigurationProto>;
823 
824   static constexpr FieldMetadata_ScreenHeightDp kScreenHeightDp{};
set_screen_height_dp(uint32_t value)825   void set_screen_height_dp(uint32_t value) {
826     static constexpr uint32_t field_id = FieldMetadata_ScreenHeightDp::kFieldId;
827     // Call the appropriate protozero::Message::Append(field_id, ...)
828     // method based on the type of the field.
829     ::protozero::internal::FieldWriter<
830       ::protozero::proto_utils::ProtoSchemaType::kUint32>
831         ::Append(*this, field_id, value);
832   }
833 
834   using FieldMetadata_SmallestScreenWidthDp =
835     ::protozero::proto_utils::FieldMetadata<
836       17,
837       ::protozero::proto_utils::RepetitionType::kNotRepeated,
838       ::protozero::proto_utils::ProtoSchemaType::kUint32,
839       uint32_t,
840       ConfigurationProto>;
841 
842   static constexpr FieldMetadata_SmallestScreenWidthDp kSmallestScreenWidthDp{};
set_smallest_screen_width_dp(uint32_t value)843   void set_smallest_screen_width_dp(uint32_t value) {
844     static constexpr uint32_t field_id = FieldMetadata_SmallestScreenWidthDp::kFieldId;
845     // Call the appropriate protozero::Message::Append(field_id, ...)
846     // method based on the type of the field.
847     ::protozero::internal::FieldWriter<
848       ::protozero::proto_utils::ProtoSchemaType::kUint32>
849         ::Append(*this, field_id, value);
850   }
851 
852   using FieldMetadata_DensityDpi =
853     ::protozero::proto_utils::FieldMetadata<
854       18,
855       ::protozero::proto_utils::RepetitionType::kNotRepeated,
856       ::protozero::proto_utils::ProtoSchemaType::kUint32,
857       uint32_t,
858       ConfigurationProto>;
859 
860   static constexpr FieldMetadata_DensityDpi kDensityDpi{};
set_density_dpi(uint32_t value)861   void set_density_dpi(uint32_t value) {
862     static constexpr uint32_t field_id = FieldMetadata_DensityDpi::kFieldId;
863     // Call the appropriate protozero::Message::Append(field_id, ...)
864     // method based on the type of the field.
865     ::protozero::internal::FieldWriter<
866       ::protozero::proto_utils::ProtoSchemaType::kUint32>
867         ::Append(*this, field_id, value);
868   }
869 
870   using FieldMetadata_WindowConfiguration =
871     ::protozero::proto_utils::FieldMetadata<
872       19,
873       ::protozero::proto_utils::RepetitionType::kNotRepeated,
874       ::protozero::proto_utils::ProtoSchemaType::kMessage,
875       WindowConfigurationProto,
876       ConfigurationProto>;
877 
878   static constexpr FieldMetadata_WindowConfiguration kWindowConfiguration{};
set_window_configuration()879   template <typename T = WindowConfigurationProto> T* set_window_configuration() {
880     return BeginNestedMessage<T>(19);
881   }
882 
883 
884   using FieldMetadata_LocaleList =
885     ::protozero::proto_utils::FieldMetadata<
886       20,
887       ::protozero::proto_utils::RepetitionType::kNotRepeated,
888       ::protozero::proto_utils::ProtoSchemaType::kString,
889       std::string,
890       ConfigurationProto>;
891 
892   static constexpr FieldMetadata_LocaleList kLocaleList{};
set_locale_list(const char * data,size_t size)893   void set_locale_list(const char* data, size_t size) {
894     AppendBytes(FieldMetadata_LocaleList::kFieldId, data, size);
895   }
set_locale_list(::protozero::ConstChars chars)896   void set_locale_list(::protozero::ConstChars chars) {
897     AppendBytes(FieldMetadata_LocaleList::kFieldId, chars.data, chars.size);
898   }
set_locale_list(std::string value)899   void set_locale_list(std::string value) {
900     static constexpr uint32_t field_id = FieldMetadata_LocaleList::kFieldId;
901     // Call the appropriate protozero::Message::Append(field_id, ...)
902     // method based on the type of the field.
903     ::protozero::internal::FieldWriter<
904       ::protozero::proto_utils::ProtoSchemaType::kString>
905         ::Append(*this, field_id, value);
906   }
907 
908   using FieldMetadata_FontWeightAdjustment =
909     ::protozero::proto_utils::FieldMetadata<
910       21,
911       ::protozero::proto_utils::RepetitionType::kNotRepeated,
912       ::protozero::proto_utils::ProtoSchemaType::kUint32,
913       uint32_t,
914       ConfigurationProto>;
915 
916   static constexpr FieldMetadata_FontWeightAdjustment kFontWeightAdjustment{};
set_font_weight_adjustment(uint32_t value)917   void set_font_weight_adjustment(uint32_t value) {
918     static constexpr uint32_t field_id = FieldMetadata_FontWeightAdjustment::kFieldId;
919     // Call the appropriate protozero::Message::Append(field_id, ...)
920     // method based on the type of the field.
921     ::protozero::internal::FieldWriter<
922       ::protozero::proto_utils::ProtoSchemaType::kUint32>
923         ::Append(*this, field_id, value);
924   }
925 
926   using FieldMetadata_GrammaticalGender =
927     ::protozero::proto_utils::FieldMetadata<
928       22,
929       ::protozero::proto_utils::RepetitionType::kNotRepeated,
930       ::protozero::proto_utils::ProtoSchemaType::kUint32,
931       uint32_t,
932       ConfigurationProto>;
933 
934   static constexpr FieldMetadata_GrammaticalGender kGrammaticalGender{};
set_grammatical_gender(uint32_t value)935   void set_grammatical_gender(uint32_t value) {
936     static constexpr uint32_t field_id = FieldMetadata_GrammaticalGender::kFieldId;
937     // Call the appropriate protozero::Message::Append(field_id, ...)
938     // method based on the type of the field.
939     ::protozero::internal::FieldWriter<
940       ::protozero::proto_utils::ProtoSchemaType::kUint32>
941         ::Append(*this, field_id, value);
942   }
943 };
944 
945 } // Namespace.
946 } // Namespace.
947 } // Namespace.
948 #endif  // Include guard.
949