1 // Autogenerated by the ProtoZero compiler plugin. DO NOT EDIT. 2 3 #ifndef PERFETTO_PROTOS_PROTOS_PERFETTO_TRACE_ANDROID_CONTENT_LOCALE_PROTO_H_ 4 #define PERFETTO_PROTOS_PROTOS_PERFETTO_TRACE_ANDROID_CONTENT_LOCALE_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 16 namespace perfetto { 17 namespace protos { 18 namespace pbzero { 19 20 class LocaleProto_Decoder : public ::protozero::TypedProtoDecoder</*MAX_FIELD_ID=*/4, /*HAS_NONPACKED_REPEATED_FIELDS=*/false> { 21 public: LocaleProto_Decoder(const uint8_t * data,size_t len)22 LocaleProto_Decoder(const uint8_t* data, size_t len) : TypedProtoDecoder(data, len) {} LocaleProto_Decoder(const std::string & raw)23 explicit LocaleProto_Decoder(const std::string& raw) : TypedProtoDecoder(reinterpret_cast<const uint8_t*>(raw.data()), raw.size()) {} LocaleProto_Decoder(const::protozero::ConstBytes & raw)24 explicit LocaleProto_Decoder(const ::protozero::ConstBytes& raw) : TypedProtoDecoder(raw.data, raw.size) {} has_language()25 bool has_language() const { return at<1>().valid(); } language()26 ::protozero::ConstChars language() const { return at<1>().as_string(); } has_country()27 bool has_country() const { return at<2>().valid(); } country()28 ::protozero::ConstChars country() const { return at<2>().as_string(); } has_variant()29 bool has_variant() const { return at<3>().valid(); } variant()30 ::protozero::ConstChars variant() const { return at<3>().as_string(); } has_script()31 bool has_script() const { return at<4>().valid(); } script()32 ::protozero::ConstChars script() const { return at<4>().as_string(); } 33 }; 34 35 class LocaleProto : public ::protozero::Message { 36 public: 37 using Decoder = LocaleProto_Decoder; 38 enum : int32_t { 39 kLanguageFieldNumber = 1, 40 kCountryFieldNumber = 2, 41 kVariantFieldNumber = 3, 42 kScriptFieldNumber = 4, 43 }; GetName()44 static constexpr const char* GetName() { return ".perfetto.protos.LocaleProto"; } 45 46 47 using FieldMetadata_Language = 48 ::protozero::proto_utils::FieldMetadata< 49 1, 50 ::protozero::proto_utils::RepetitionType::kNotRepeated, 51 ::protozero::proto_utils::ProtoSchemaType::kString, 52 std::string, 53 LocaleProto>; 54 55 static constexpr FieldMetadata_Language kLanguage{}; set_language(const char * data,size_t size)56 void set_language(const char* data, size_t size) { 57 AppendBytes(FieldMetadata_Language::kFieldId, data, size); 58 } set_language(::protozero::ConstChars chars)59 void set_language(::protozero::ConstChars chars) { 60 AppendBytes(FieldMetadata_Language::kFieldId, chars.data, chars.size); 61 } set_language(std::string value)62 void set_language(std::string value) { 63 static constexpr uint32_t field_id = FieldMetadata_Language::kFieldId; 64 // Call the appropriate protozero::Message::Append(field_id, ...) 65 // method based on the type of the field. 66 ::protozero::internal::FieldWriter< 67 ::protozero::proto_utils::ProtoSchemaType::kString> 68 ::Append(*this, field_id, value); 69 } 70 71 using FieldMetadata_Country = 72 ::protozero::proto_utils::FieldMetadata< 73 2, 74 ::protozero::proto_utils::RepetitionType::kNotRepeated, 75 ::protozero::proto_utils::ProtoSchemaType::kString, 76 std::string, 77 LocaleProto>; 78 79 static constexpr FieldMetadata_Country kCountry{}; set_country(const char * data,size_t size)80 void set_country(const char* data, size_t size) { 81 AppendBytes(FieldMetadata_Country::kFieldId, data, size); 82 } set_country(::protozero::ConstChars chars)83 void set_country(::protozero::ConstChars chars) { 84 AppendBytes(FieldMetadata_Country::kFieldId, chars.data, chars.size); 85 } set_country(std::string value)86 void set_country(std::string value) { 87 static constexpr uint32_t field_id = FieldMetadata_Country::kFieldId; 88 // Call the appropriate protozero::Message::Append(field_id, ...) 89 // method based on the type of the field. 90 ::protozero::internal::FieldWriter< 91 ::protozero::proto_utils::ProtoSchemaType::kString> 92 ::Append(*this, field_id, value); 93 } 94 95 using FieldMetadata_Variant = 96 ::protozero::proto_utils::FieldMetadata< 97 3, 98 ::protozero::proto_utils::RepetitionType::kNotRepeated, 99 ::protozero::proto_utils::ProtoSchemaType::kString, 100 std::string, 101 LocaleProto>; 102 103 static constexpr FieldMetadata_Variant kVariant{}; set_variant(const char * data,size_t size)104 void set_variant(const char* data, size_t size) { 105 AppendBytes(FieldMetadata_Variant::kFieldId, data, size); 106 } set_variant(::protozero::ConstChars chars)107 void set_variant(::protozero::ConstChars chars) { 108 AppendBytes(FieldMetadata_Variant::kFieldId, chars.data, chars.size); 109 } set_variant(std::string value)110 void set_variant(std::string value) { 111 static constexpr uint32_t field_id = FieldMetadata_Variant::kFieldId; 112 // Call the appropriate protozero::Message::Append(field_id, ...) 113 // method based on the type of the field. 114 ::protozero::internal::FieldWriter< 115 ::protozero::proto_utils::ProtoSchemaType::kString> 116 ::Append(*this, field_id, value); 117 } 118 119 using FieldMetadata_Script = 120 ::protozero::proto_utils::FieldMetadata< 121 4, 122 ::protozero::proto_utils::RepetitionType::kNotRepeated, 123 ::protozero::proto_utils::ProtoSchemaType::kString, 124 std::string, 125 LocaleProto>; 126 127 static constexpr FieldMetadata_Script kScript{}; set_script(const char * data,size_t size)128 void set_script(const char* data, size_t size) { 129 AppendBytes(FieldMetadata_Script::kFieldId, data, size); 130 } set_script(::protozero::ConstChars chars)131 void set_script(::protozero::ConstChars chars) { 132 AppendBytes(FieldMetadata_Script::kFieldId, chars.data, chars.size); 133 } set_script(std::string value)134 void set_script(std::string value) { 135 static constexpr uint32_t field_id = FieldMetadata_Script::kFieldId; 136 // Call the appropriate protozero::Message::Append(field_id, ...) 137 // method based on the type of the field. 138 ::protozero::internal::FieldWriter< 139 ::protozero::proto_utils::ProtoSchemaType::kString> 140 ::Append(*this, field_id, value); 141 } 142 }; 143 144 } // Namespace. 145 } // Namespace. 146 } // Namespace. 147 #endif // Include guard. 148