1 // Generated by the protocol buffer compiler.  DO NOT EDIT!
2 // source: chrome_user_metrics_extension.proto
3 
4 #include "chrome_user_metrics_extension.pb.h"
5 
6 #include <algorithm>
7 
8 #include <google/protobuf/io/coded_stream.h>
9 #include <google/protobuf/extension_set.h>
10 #include <google/protobuf/wire_format_lite.h>
11 #include <google/protobuf/io/zero_copy_stream_impl_lite.h>
12 // @@protoc_insertion_point(includes)
13 #include <google/protobuf/port_def.inc>
14 
15 PROTOBUF_PRAGMA_INIT_SEG
16 
17 namespace _pb = ::PROTOBUF_NAMESPACE_ID;
18 namespace _pbi = _pb::internal;
19 
20 namespace metrics {
ChromeUserMetricsExtension_RealLocalTime(::_pbi::ConstantInitialized)21 PROTOBUF_CONSTEXPR ChromeUserMetricsExtension_RealLocalTime::ChromeUserMetricsExtension_RealLocalTime(
22     ::_pbi::ConstantInitialized): _impl_{
23     /*decltype(_impl_._has_bits_)*/{}
24   , /*decltype(_impl_._cached_size_)*/{}
25   , /*decltype(_impl_.time_sec_)*/int64_t{0}
26   , /*decltype(_impl_.time_source_)*/0
27   , /*decltype(_impl_.time_zone_offset_from_gmt_sec_)*/0} {}
28 struct ChromeUserMetricsExtension_RealLocalTimeDefaultTypeInternal {
ChromeUserMetricsExtension_RealLocalTimeDefaultTypeInternalmetrics::ChromeUserMetricsExtension_RealLocalTimeDefaultTypeInternal29   PROTOBUF_CONSTEXPR ChromeUserMetricsExtension_RealLocalTimeDefaultTypeInternal()
30       : _instance(::_pbi::ConstantInitialized{}) {}
~ChromeUserMetricsExtension_RealLocalTimeDefaultTypeInternalmetrics::ChromeUserMetricsExtension_RealLocalTimeDefaultTypeInternal31   ~ChromeUserMetricsExtension_RealLocalTimeDefaultTypeInternal() {}
32   union {
33     ChromeUserMetricsExtension_RealLocalTime _instance;
34   };
35 };
36 PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ChromeUserMetricsExtension_RealLocalTimeDefaultTypeInternal _ChromeUserMetricsExtension_RealLocalTime_default_instance_;
ChromeUserMetricsExtension(::_pbi::ConstantInitialized)37 PROTOBUF_CONSTEXPR ChromeUserMetricsExtension::ChromeUserMetricsExtension(
38     ::_pbi::ConstantInitialized): _impl_{
39     /*decltype(_impl_._has_bits_)*/{}
40   , /*decltype(_impl_._cached_size_)*/{}
41   , /*decltype(_impl_.user_action_event_)*/{}
42   , /*decltype(_impl_.omnibox_event_)*/{}
43   , /*decltype(_impl_.histogram_event_)*/{}
44   , /*decltype(_impl_.sampled_profile_)*/{}
45   , /*decltype(_impl_.translate_event_)*/{}
46   , /*decltype(_impl_.printer_event_)*/{}
47   , /*decltype(_impl_.trace_log_)*/{}
48   , /*decltype(_impl_.chrome_os_app_list_launch_event_)*/{}
49   , /*decltype(_impl_.system_profile_)*/nullptr
50   , /*decltype(_impl_.cast_logs_)*/nullptr
51   , /*decltype(_impl_.reporting_info_)*/nullptr
52   , /*decltype(_impl_.user_demographics_)*/nullptr
53   , /*decltype(_impl_.structured_data_)*/nullptr
54   , /*decltype(_impl_.time_log_created_)*/nullptr
55   , /*decltype(_impl_.time_log_closed_)*/nullptr
56   , /*decltype(_impl_.custom_tab_session_)*/nullptr
57   , /*decltype(_impl_.client_id_)*/uint64_t{0u}
58   , /*decltype(_impl_.session_id_)*/0
59   , /*decltype(_impl_.product_)*/0
60   , /*decltype(_impl_.user_id_)*/uint64_t{0u}
61   , /*decltype(_impl_.record_id_)*/int64_t{0}
62   , /*decltype(_impl_.finalized_record_id_)*/int64_t{0}} {}
63 struct ChromeUserMetricsExtensionDefaultTypeInternal {
ChromeUserMetricsExtensionDefaultTypeInternalmetrics::ChromeUserMetricsExtensionDefaultTypeInternal64   PROTOBUF_CONSTEXPR ChromeUserMetricsExtensionDefaultTypeInternal()
65       : _instance(::_pbi::ConstantInitialized{}) {}
~ChromeUserMetricsExtensionDefaultTypeInternalmetrics::ChromeUserMetricsExtensionDefaultTypeInternal66   ~ChromeUserMetricsExtensionDefaultTypeInternal() {}
67   union {
68     ChromeUserMetricsExtension _instance;
69   };
70 };
71 PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ChromeUserMetricsExtensionDefaultTypeInternal _ChromeUserMetricsExtension_default_instance_;
72 }  // namespace metrics
73 namespace metrics {
ChromeUserMetricsExtension_RealLocalTime_TimeSource_IsValid(int value)74 bool ChromeUserMetricsExtension_RealLocalTime_TimeSource_IsValid(int value) {
75   switch (value) {
76     case 0:
77     case 1:
78     case 2:
79       return true;
80     default:
81       return false;
82   }
83 }
84 
85 static ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<std::string> ChromeUserMetricsExtension_RealLocalTime_TimeSource_strings[3] = {};
86 
87 static const char ChromeUserMetricsExtension_RealLocalTime_TimeSource_names[] =
88   "CLIENT_CLOCK"
89   "NETWORK_TIME_CLOCK"
90   "UNSPECIFIED";
91 
92 static const ::PROTOBUF_NAMESPACE_ID::internal::EnumEntry ChromeUserMetricsExtension_RealLocalTime_TimeSource_entries[] = {
93   { {ChromeUserMetricsExtension_RealLocalTime_TimeSource_names + 0, 12}, 1 },
94   { {ChromeUserMetricsExtension_RealLocalTime_TimeSource_names + 12, 18}, 2 },
95   { {ChromeUserMetricsExtension_RealLocalTime_TimeSource_names + 30, 11}, 0 },
96 };
97 
98 static const int ChromeUserMetricsExtension_RealLocalTime_TimeSource_entries_by_number[] = {
99   2, // 0 -> UNSPECIFIED
100   0, // 1 -> CLIENT_CLOCK
101   1, // 2 -> NETWORK_TIME_CLOCK
102 };
103 
ChromeUserMetricsExtension_RealLocalTime_TimeSource_Name(ChromeUserMetricsExtension_RealLocalTime_TimeSource value)104 const std::string& ChromeUserMetricsExtension_RealLocalTime_TimeSource_Name(
105     ChromeUserMetricsExtension_RealLocalTime_TimeSource value) {
106   static const bool dummy =
107       ::PROTOBUF_NAMESPACE_ID::internal::InitializeEnumStrings(
108           ChromeUserMetricsExtension_RealLocalTime_TimeSource_entries,
109           ChromeUserMetricsExtension_RealLocalTime_TimeSource_entries_by_number,
110           3, ChromeUserMetricsExtension_RealLocalTime_TimeSource_strings);
111   (void) dummy;
112   int idx = ::PROTOBUF_NAMESPACE_ID::internal::LookUpEnumName(
113       ChromeUserMetricsExtension_RealLocalTime_TimeSource_entries,
114       ChromeUserMetricsExtension_RealLocalTime_TimeSource_entries_by_number,
115       3, value);
116   return idx == -1 ? ::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString() :
117                      ChromeUserMetricsExtension_RealLocalTime_TimeSource_strings[idx].get();
118 }
ChromeUserMetricsExtension_RealLocalTime_TimeSource_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,ChromeUserMetricsExtension_RealLocalTime_TimeSource * value)119 bool ChromeUserMetricsExtension_RealLocalTime_TimeSource_Parse(
120     ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, ChromeUserMetricsExtension_RealLocalTime_TimeSource* value) {
121   int int_value;
122   bool success = ::PROTOBUF_NAMESPACE_ID::internal::LookUpEnumValue(
123       ChromeUserMetricsExtension_RealLocalTime_TimeSource_entries, 3, name, &int_value);
124   if (success) {
125     *value = static_cast<ChromeUserMetricsExtension_RealLocalTime_TimeSource>(int_value);
126   }
127   return success;
128 }
129 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))
130 constexpr ChromeUserMetricsExtension_RealLocalTime_TimeSource ChromeUserMetricsExtension_RealLocalTime::UNSPECIFIED;
131 constexpr ChromeUserMetricsExtension_RealLocalTime_TimeSource ChromeUserMetricsExtension_RealLocalTime::CLIENT_CLOCK;
132 constexpr ChromeUserMetricsExtension_RealLocalTime_TimeSource ChromeUserMetricsExtension_RealLocalTime::NETWORK_TIME_CLOCK;
133 constexpr ChromeUserMetricsExtension_RealLocalTime_TimeSource ChromeUserMetricsExtension_RealLocalTime::TimeSource_MIN;
134 constexpr ChromeUserMetricsExtension_RealLocalTime_TimeSource ChromeUserMetricsExtension_RealLocalTime::TimeSource_MAX;
135 constexpr int ChromeUserMetricsExtension_RealLocalTime::TimeSource_ARRAYSIZE;
136 #endif  // (__cplusplus < 201703) && (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))
ChromeUserMetricsExtension_Product_IsValid(int value)137 bool ChromeUserMetricsExtension_Product_IsValid(int value) {
138   switch (value) {
139     case 0:
140     case 20:
141     case 25:
142     case 35:
143     case 56:
144       return true;
145     default:
146       return false;
147   }
148 }
149 
150 static ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<std::string> ChromeUserMetricsExtension_Product_strings[5] = {};
151 
152 static const char ChromeUserMetricsExtension_Product_names[] =
153   "ANDROID_WEBLAYER"
154   "ANDROID_WEBVIEW"
155   "CAST"
156   "CAST_ASSISTANT"
157   "CHROME";
158 
159 static const ::PROTOBUF_NAMESPACE_ID::internal::EnumEntry ChromeUserMetricsExtension_Product_entries[] = {
160   { {ChromeUserMetricsExtension_Product_names + 0, 16}, 56 },
161   { {ChromeUserMetricsExtension_Product_names + 16, 15}, 20 },
162   { {ChromeUserMetricsExtension_Product_names + 31, 4}, 35 },
163   { {ChromeUserMetricsExtension_Product_names + 35, 14}, 25 },
164   { {ChromeUserMetricsExtension_Product_names + 49, 6}, 0 },
165 };
166 
167 static const int ChromeUserMetricsExtension_Product_entries_by_number[] = {
168   4, // 0 -> CHROME
169   1, // 20 -> ANDROID_WEBVIEW
170   3, // 25 -> CAST_ASSISTANT
171   2, // 35 -> CAST
172   0, // 56 -> ANDROID_WEBLAYER
173 };
174 
ChromeUserMetricsExtension_Product_Name(ChromeUserMetricsExtension_Product value)175 const std::string& ChromeUserMetricsExtension_Product_Name(
176     ChromeUserMetricsExtension_Product value) {
177   static const bool dummy =
178       ::PROTOBUF_NAMESPACE_ID::internal::InitializeEnumStrings(
179           ChromeUserMetricsExtension_Product_entries,
180           ChromeUserMetricsExtension_Product_entries_by_number,
181           5, ChromeUserMetricsExtension_Product_strings);
182   (void) dummy;
183   int idx = ::PROTOBUF_NAMESPACE_ID::internal::LookUpEnumName(
184       ChromeUserMetricsExtension_Product_entries,
185       ChromeUserMetricsExtension_Product_entries_by_number,
186       5, value);
187   return idx == -1 ? ::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString() :
188                      ChromeUserMetricsExtension_Product_strings[idx].get();
189 }
ChromeUserMetricsExtension_Product_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,ChromeUserMetricsExtension_Product * value)190 bool ChromeUserMetricsExtension_Product_Parse(
191     ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, ChromeUserMetricsExtension_Product* value) {
192   int int_value;
193   bool success = ::PROTOBUF_NAMESPACE_ID::internal::LookUpEnumValue(
194       ChromeUserMetricsExtension_Product_entries, 5, name, &int_value);
195   if (success) {
196     *value = static_cast<ChromeUserMetricsExtension_Product>(int_value);
197   }
198   return success;
199 }
200 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))
201 constexpr ChromeUserMetricsExtension_Product ChromeUserMetricsExtension::CHROME;
202 constexpr ChromeUserMetricsExtension_Product ChromeUserMetricsExtension::ANDROID_WEBVIEW;
203 constexpr ChromeUserMetricsExtension_Product ChromeUserMetricsExtension::CAST_ASSISTANT;
204 constexpr ChromeUserMetricsExtension_Product ChromeUserMetricsExtension::CAST;
205 constexpr ChromeUserMetricsExtension_Product ChromeUserMetricsExtension::ANDROID_WEBLAYER;
206 constexpr ChromeUserMetricsExtension_Product ChromeUserMetricsExtension::Product_MIN;
207 constexpr ChromeUserMetricsExtension_Product ChromeUserMetricsExtension::Product_MAX;
208 constexpr int ChromeUserMetricsExtension::Product_ARRAYSIZE;
209 #endif  // (__cplusplus < 201703) && (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))
210 
211 // ===================================================================
212 
213 class ChromeUserMetricsExtension_RealLocalTime::_Internal {
214  public:
215   using HasBits = decltype(std::declval<ChromeUserMetricsExtension_RealLocalTime>()._impl_._has_bits_);
set_has_time_source(HasBits * has_bits)216   static void set_has_time_source(HasBits* has_bits) {
217     (*has_bits)[0] |= 2u;
218   }
set_has_time_sec(HasBits * has_bits)219   static void set_has_time_sec(HasBits* has_bits) {
220     (*has_bits)[0] |= 1u;
221   }
set_has_time_zone_offset_from_gmt_sec(HasBits * has_bits)222   static void set_has_time_zone_offset_from_gmt_sec(HasBits* has_bits) {
223     (*has_bits)[0] |= 4u;
224   }
225 };
226 
ChromeUserMetricsExtension_RealLocalTime(::PROTOBUF_NAMESPACE_ID::Arena * arena,bool is_message_owned)227 ChromeUserMetricsExtension_RealLocalTime::ChromeUserMetricsExtension_RealLocalTime(::PROTOBUF_NAMESPACE_ID::Arena* arena,
228                          bool is_message_owned)
229   : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena, is_message_owned) {
230   SharedCtor(arena, is_message_owned);
231   // @@protoc_insertion_point(arena_constructor:metrics.ChromeUserMetricsExtension.RealLocalTime)
232 }
ChromeUserMetricsExtension_RealLocalTime(const ChromeUserMetricsExtension_RealLocalTime & from)233 ChromeUserMetricsExtension_RealLocalTime::ChromeUserMetricsExtension_RealLocalTime(const ChromeUserMetricsExtension_RealLocalTime& from)
234   : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
235   ChromeUserMetricsExtension_RealLocalTime* const _this = this; (void)_this;
236   new (&_impl_) Impl_{
237       decltype(_impl_._has_bits_){from._impl_._has_bits_}
238     , /*decltype(_impl_._cached_size_)*/{}
239     , decltype(_impl_.time_sec_){}
240     , decltype(_impl_.time_source_){}
241     , decltype(_impl_.time_zone_offset_from_gmt_sec_){}};
242 
243   _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
244   ::memcpy(&_impl_.time_sec_, &from._impl_.time_sec_,
245     static_cast<size_t>(reinterpret_cast<char*>(&_impl_.time_zone_offset_from_gmt_sec_) -
246     reinterpret_cast<char*>(&_impl_.time_sec_)) + sizeof(_impl_.time_zone_offset_from_gmt_sec_));
247   // @@protoc_insertion_point(copy_constructor:metrics.ChromeUserMetricsExtension.RealLocalTime)
248 }
249 
SharedCtor(::_pb::Arena * arena,bool is_message_owned)250 inline void ChromeUserMetricsExtension_RealLocalTime::SharedCtor(
251     ::_pb::Arena* arena, bool is_message_owned) {
252   (void)arena;
253   (void)is_message_owned;
254   new (&_impl_) Impl_{
255       decltype(_impl_._has_bits_){}
256     , /*decltype(_impl_._cached_size_)*/{}
257     , decltype(_impl_.time_sec_){int64_t{0}}
258     , decltype(_impl_.time_source_){0}
259     , decltype(_impl_.time_zone_offset_from_gmt_sec_){0}
260   };
261 }
262 
~ChromeUserMetricsExtension_RealLocalTime()263 ChromeUserMetricsExtension_RealLocalTime::~ChromeUserMetricsExtension_RealLocalTime() {
264   // @@protoc_insertion_point(destructor:metrics.ChromeUserMetricsExtension.RealLocalTime)
265   if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
266   (void)arena;
267     return;
268   }
269   SharedDtor();
270 }
271 
SharedDtor()272 inline void ChromeUserMetricsExtension_RealLocalTime::SharedDtor() {
273   GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
274 }
275 
SetCachedSize(int size) const276 void ChromeUserMetricsExtension_RealLocalTime::SetCachedSize(int size) const {
277   _impl_._cached_size_.Set(size);
278 }
279 
Clear()280 void ChromeUserMetricsExtension_RealLocalTime::Clear() {
281 // @@protoc_insertion_point(message_clear_start:metrics.ChromeUserMetricsExtension.RealLocalTime)
282   uint32_t cached_has_bits = 0;
283   // Prevent compiler warnings about cached_has_bits being unused
284   (void) cached_has_bits;
285 
286   cached_has_bits = _impl_._has_bits_[0];
287   if (cached_has_bits & 0x00000007u) {
288     ::memset(&_impl_.time_sec_, 0, static_cast<size_t>(
289         reinterpret_cast<char*>(&_impl_.time_zone_offset_from_gmt_sec_) -
290         reinterpret_cast<char*>(&_impl_.time_sec_)) + sizeof(_impl_.time_zone_offset_from_gmt_sec_));
291   }
292   _impl_._has_bits_.Clear();
293   _internal_metadata_.Clear<std::string>();
294 }
295 
_InternalParse(const char * ptr,::_pbi::ParseContext * ctx)296 const char* ChromeUserMetricsExtension_RealLocalTime::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
297 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
298   _Internal::HasBits has_bits{};
299   while (!ctx->Done(&ptr)) {
300     uint32_t tag;
301     ptr = ::_pbi::ReadTag(ptr, &tag);
302     switch (tag >> 3) {
303       // optional .metrics.ChromeUserMetricsExtension.RealLocalTime.TimeSource time_source = 1;
304       case 1:
305         if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
306           uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
307           CHK_(ptr);
308           if (PROTOBUF_PREDICT_TRUE(::metrics::ChromeUserMetricsExtension_RealLocalTime_TimeSource_IsValid(val))) {
309             _internal_set_time_source(static_cast<::metrics::ChromeUserMetricsExtension_RealLocalTime_TimeSource>(val));
310           } else {
311             ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(1, val, mutable_unknown_fields());
312           }
313         } else
314           goto handle_unusual;
315         continue;
316       // optional int64 time_sec = 2;
317       case 2:
318         if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 16)) {
319           _Internal::set_has_time_sec(&has_bits);
320           _impl_.time_sec_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
321           CHK_(ptr);
322         } else
323           goto handle_unusual;
324         continue;
325       // optional int32 time_zone_offset_from_gmt_sec = 3;
326       case 3:
327         if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 24)) {
328           _Internal::set_has_time_zone_offset_from_gmt_sec(&has_bits);
329           _impl_.time_zone_offset_from_gmt_sec_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
330           CHK_(ptr);
331         } else
332           goto handle_unusual;
333         continue;
334       default:
335         goto handle_unusual;
336     }  // switch
337   handle_unusual:
338     if ((tag == 0) || ((tag & 7) == 4)) {
339       CHK_(ptr);
340       ctx->SetLastTag(tag);
341       goto message_done;
342     }
343     ptr = UnknownFieldParse(
344         tag,
345         _internal_metadata_.mutable_unknown_fields<std::string>(),
346         ptr, ctx);
347     CHK_(ptr != nullptr);
348   }  // while
349 message_done:
350   _impl_._has_bits_.Or(has_bits);
351   return ptr;
352 failure:
353   ptr = nullptr;
354   goto message_done;
355 #undef CHK_
356 }
357 
_InternalSerialize(uint8_t * target,::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream * stream) const358 uint8_t* ChromeUserMetricsExtension_RealLocalTime::_InternalSerialize(
359     uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
360   // @@protoc_insertion_point(serialize_to_array_start:metrics.ChromeUserMetricsExtension.RealLocalTime)
361   uint32_t cached_has_bits = 0;
362   (void) cached_has_bits;
363 
364   cached_has_bits = _impl_._has_bits_[0];
365   // optional .metrics.ChromeUserMetricsExtension.RealLocalTime.TimeSource time_source = 1;
366   if (cached_has_bits & 0x00000002u) {
367     target = stream->EnsureSpace(target);
368     target = ::_pbi::WireFormatLite::WriteEnumToArray(
369       1, this->_internal_time_source(), target);
370   }
371 
372   // optional int64 time_sec = 2;
373   if (cached_has_bits & 0x00000001u) {
374     target = stream->EnsureSpace(target);
375     target = ::_pbi::WireFormatLite::WriteInt64ToArray(2, this->_internal_time_sec(), target);
376   }
377 
378   // optional int32 time_zone_offset_from_gmt_sec = 3;
379   if (cached_has_bits & 0x00000004u) {
380     target = stream->EnsureSpace(target);
381     target = ::_pbi::WireFormatLite::WriteInt32ToArray(3, this->_internal_time_zone_offset_from_gmt_sec(), target);
382   }
383 
384   if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
385     target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
386         static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
387   }
388   // @@protoc_insertion_point(serialize_to_array_end:metrics.ChromeUserMetricsExtension.RealLocalTime)
389   return target;
390 }
391 
ByteSizeLong() const392 size_t ChromeUserMetricsExtension_RealLocalTime::ByteSizeLong() const {
393 // @@protoc_insertion_point(message_byte_size_start:metrics.ChromeUserMetricsExtension.RealLocalTime)
394   size_t total_size = 0;
395 
396   uint32_t cached_has_bits = 0;
397   // Prevent compiler warnings about cached_has_bits being unused
398   (void) cached_has_bits;
399 
400   cached_has_bits = _impl_._has_bits_[0];
401   if (cached_has_bits & 0x00000007u) {
402     // optional int64 time_sec = 2;
403     if (cached_has_bits & 0x00000001u) {
404       total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(this->_internal_time_sec());
405     }
406 
407     // optional .metrics.ChromeUserMetricsExtension.RealLocalTime.TimeSource time_source = 1;
408     if (cached_has_bits & 0x00000002u) {
409       total_size += 1 +
410         ::_pbi::WireFormatLite::EnumSize(this->_internal_time_source());
411     }
412 
413     // optional int32 time_zone_offset_from_gmt_sec = 3;
414     if (cached_has_bits & 0x00000004u) {
415       total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_time_zone_offset_from_gmt_sec());
416     }
417 
418   }
419   if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
420     total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
421   }
422   int cached_size = ::_pbi::ToCachedSize(total_size);
423   SetCachedSize(cached_size);
424   return total_size;
425 }
426 
CheckTypeAndMergeFrom(const::PROTOBUF_NAMESPACE_ID::MessageLite & from)427 void ChromeUserMetricsExtension_RealLocalTime::CheckTypeAndMergeFrom(
428     const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
429   MergeFrom(*::_pbi::DownCast<const ChromeUserMetricsExtension_RealLocalTime*>(
430       &from));
431 }
432 
MergeFrom(const ChromeUserMetricsExtension_RealLocalTime & from)433 void ChromeUserMetricsExtension_RealLocalTime::MergeFrom(const ChromeUserMetricsExtension_RealLocalTime& from) {
434   ChromeUserMetricsExtension_RealLocalTime* const _this = this;
435   // @@protoc_insertion_point(class_specific_merge_from_start:metrics.ChromeUserMetricsExtension.RealLocalTime)
436   GOOGLE_DCHECK_NE(&from, _this);
437   uint32_t cached_has_bits = 0;
438   (void) cached_has_bits;
439 
440   cached_has_bits = from._impl_._has_bits_[0];
441   if (cached_has_bits & 0x00000007u) {
442     if (cached_has_bits & 0x00000001u) {
443       _this->_impl_.time_sec_ = from._impl_.time_sec_;
444     }
445     if (cached_has_bits & 0x00000002u) {
446       _this->_impl_.time_source_ = from._impl_.time_source_;
447     }
448     if (cached_has_bits & 0x00000004u) {
449       _this->_impl_.time_zone_offset_from_gmt_sec_ = from._impl_.time_zone_offset_from_gmt_sec_;
450     }
451     _this->_impl_._has_bits_[0] |= cached_has_bits;
452   }
453   _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
454 }
455 
CopyFrom(const ChromeUserMetricsExtension_RealLocalTime & from)456 void ChromeUserMetricsExtension_RealLocalTime::CopyFrom(const ChromeUserMetricsExtension_RealLocalTime& from) {
457 // @@protoc_insertion_point(class_specific_copy_from_start:metrics.ChromeUserMetricsExtension.RealLocalTime)
458   if (&from == this) return;
459   Clear();
460   MergeFrom(from);
461 }
462 
IsInitialized() const463 bool ChromeUserMetricsExtension_RealLocalTime::IsInitialized() const {
464   return true;
465 }
466 
InternalSwap(ChromeUserMetricsExtension_RealLocalTime * other)467 void ChromeUserMetricsExtension_RealLocalTime::InternalSwap(ChromeUserMetricsExtension_RealLocalTime* other) {
468   using std::swap;
469   _internal_metadata_.InternalSwap(&other->_internal_metadata_);
470   swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
471   ::PROTOBUF_NAMESPACE_ID::internal::memswap<
472       PROTOBUF_FIELD_OFFSET(ChromeUserMetricsExtension_RealLocalTime, _impl_.time_zone_offset_from_gmt_sec_)
473       + sizeof(ChromeUserMetricsExtension_RealLocalTime::_impl_.time_zone_offset_from_gmt_sec_)
474       - PROTOBUF_FIELD_OFFSET(ChromeUserMetricsExtension_RealLocalTime, _impl_.time_sec_)>(
475           reinterpret_cast<char*>(&_impl_.time_sec_),
476           reinterpret_cast<char*>(&other->_impl_.time_sec_));
477 }
478 
GetTypeName() const479 std::string ChromeUserMetricsExtension_RealLocalTime::GetTypeName() const {
480   return "metrics.ChromeUserMetricsExtension.RealLocalTime";
481 }
482 
483 
484 // ===================================================================
485 
486 class ChromeUserMetricsExtension::_Internal {
487  public:
488   using HasBits = decltype(std::declval<ChromeUserMetricsExtension>()._impl_._has_bits_);
set_has_product(HasBits * has_bits)489   static void set_has_product(HasBits* has_bits) {
490     (*has_bits)[0] |= 1024u;
491   }
set_has_client_id(HasBits * has_bits)492   static void set_has_client_id(HasBits* has_bits) {
493     (*has_bits)[0] |= 256u;
494   }
set_has_session_id(HasBits * has_bits)495   static void set_has_session_id(HasBits* has_bits) {
496     (*has_bits)[0] |= 512u;
497   }
set_has_user_id(HasBits * has_bits)498   static void set_has_user_id(HasBits* has_bits) {
499     (*has_bits)[0] |= 2048u;
500   }
set_has_record_id(HasBits * has_bits)501   static void set_has_record_id(HasBits* has_bits) {
502     (*has_bits)[0] |= 4096u;
503   }
set_has_finalized_record_id(HasBits * has_bits)504   static void set_has_finalized_record_id(HasBits* has_bits) {
505     (*has_bits)[0] |= 8192u;
506   }
507   static const ::metrics::ChromeUserMetricsExtension_RealLocalTime& time_log_created(const ChromeUserMetricsExtension* msg);
set_has_time_log_created(HasBits * has_bits)508   static void set_has_time_log_created(HasBits* has_bits) {
509     (*has_bits)[0] |= 32u;
510   }
511   static const ::metrics::ChromeUserMetricsExtension_RealLocalTime& time_log_closed(const ChromeUserMetricsExtension* msg);
set_has_time_log_closed(HasBits * has_bits)512   static void set_has_time_log_closed(HasBits* has_bits) {
513     (*has_bits)[0] |= 64u;
514   }
515   static const ::metrics::SystemProfileProto& system_profile(const ChromeUserMetricsExtension* msg);
set_has_system_profile(HasBits * has_bits)516   static void set_has_system_profile(HasBits* has_bits) {
517     (*has_bits)[0] |= 1u;
518   }
519   static const ::metrics::UserDemographicsProto& user_demographics(const ChromeUserMetricsExtension* msg);
set_has_user_demographics(HasBits * has_bits)520   static void set_has_user_demographics(HasBits* has_bits) {
521     (*has_bits)[0] |= 8u;
522   }
523   static const ::metrics::StructuredDataProto& structured_data(const ChromeUserMetricsExtension* msg);
set_has_structured_data(HasBits * has_bits)524   static void set_has_structured_data(HasBits* has_bits) {
525     (*has_bits)[0] |= 16u;
526   }
527   static const ::metrics::CastLogsProto& cast_logs(const ChromeUserMetricsExtension* msg);
set_has_cast_logs(HasBits * has_bits)528   static void set_has_cast_logs(HasBits* has_bits) {
529     (*has_bits)[0] |= 2u;
530   }
531   static const ::metrics::ReportingInfo& reporting_info(const ChromeUserMetricsExtension* msg);
set_has_reporting_info(HasBits * has_bits)532   static void set_has_reporting_info(HasBits* has_bits) {
533     (*has_bits)[0] |= 4u;
534   }
535   static const ::metrics::CustomTabSessionProto& custom_tab_session(const ChromeUserMetricsExtension* msg);
set_has_custom_tab_session(HasBits * has_bits)536   static void set_has_custom_tab_session(HasBits* has_bits) {
537     (*has_bits)[0] |= 128u;
538   }
539 };
540 
541 const ::metrics::ChromeUserMetricsExtension_RealLocalTime&
time_log_created(const ChromeUserMetricsExtension * msg)542 ChromeUserMetricsExtension::_Internal::time_log_created(const ChromeUserMetricsExtension* msg) {
543   return *msg->_impl_.time_log_created_;
544 }
545 const ::metrics::ChromeUserMetricsExtension_RealLocalTime&
time_log_closed(const ChromeUserMetricsExtension * msg)546 ChromeUserMetricsExtension::_Internal::time_log_closed(const ChromeUserMetricsExtension* msg) {
547   return *msg->_impl_.time_log_closed_;
548 }
549 const ::metrics::SystemProfileProto&
system_profile(const ChromeUserMetricsExtension * msg)550 ChromeUserMetricsExtension::_Internal::system_profile(const ChromeUserMetricsExtension* msg) {
551   return *msg->_impl_.system_profile_;
552 }
553 const ::metrics::UserDemographicsProto&
user_demographics(const ChromeUserMetricsExtension * msg)554 ChromeUserMetricsExtension::_Internal::user_demographics(const ChromeUserMetricsExtension* msg) {
555   return *msg->_impl_.user_demographics_;
556 }
557 const ::metrics::StructuredDataProto&
structured_data(const ChromeUserMetricsExtension * msg)558 ChromeUserMetricsExtension::_Internal::structured_data(const ChromeUserMetricsExtension* msg) {
559   return *msg->_impl_.structured_data_;
560 }
561 const ::metrics::CastLogsProto&
cast_logs(const ChromeUserMetricsExtension * msg)562 ChromeUserMetricsExtension::_Internal::cast_logs(const ChromeUserMetricsExtension* msg) {
563   return *msg->_impl_.cast_logs_;
564 }
565 const ::metrics::ReportingInfo&
reporting_info(const ChromeUserMetricsExtension * msg)566 ChromeUserMetricsExtension::_Internal::reporting_info(const ChromeUserMetricsExtension* msg) {
567   return *msg->_impl_.reporting_info_;
568 }
569 const ::metrics::CustomTabSessionProto&
custom_tab_session(const ChromeUserMetricsExtension * msg)570 ChromeUserMetricsExtension::_Internal::custom_tab_session(const ChromeUserMetricsExtension* msg) {
571   return *msg->_impl_.custom_tab_session_;
572 }
clear_system_profile()573 void ChromeUserMetricsExtension::clear_system_profile() {
574   if (_impl_.system_profile_ != nullptr) _impl_.system_profile_->Clear();
575   _impl_._has_bits_[0] &= ~0x00000001u;
576 }
clear_user_demographics()577 void ChromeUserMetricsExtension::clear_user_demographics() {
578   if (_impl_.user_demographics_ != nullptr) _impl_.user_demographics_->Clear();
579   _impl_._has_bits_[0] &= ~0x00000008u;
580 }
clear_user_action_event()581 void ChromeUserMetricsExtension::clear_user_action_event() {
582   _impl_.user_action_event_.Clear();
583 }
clear_omnibox_event()584 void ChromeUserMetricsExtension::clear_omnibox_event() {
585   _impl_.omnibox_event_.Clear();
586 }
clear_histogram_event()587 void ChromeUserMetricsExtension::clear_histogram_event() {
588   _impl_.histogram_event_.Clear();
589 }
clear_translate_event()590 void ChromeUserMetricsExtension::clear_translate_event() {
591   _impl_.translate_event_.Clear();
592 }
clear_printer_event()593 void ChromeUserMetricsExtension::clear_printer_event() {
594   _impl_.printer_event_.Clear();
595 }
clear_chrome_os_app_list_launch_event()596 void ChromeUserMetricsExtension::clear_chrome_os_app_list_launch_event() {
597   _impl_.chrome_os_app_list_launch_event_.Clear();
598 }
clear_structured_data()599 void ChromeUserMetricsExtension::clear_structured_data() {
600   if (_impl_.structured_data_ != nullptr) _impl_.structured_data_->Clear();
601   _impl_._has_bits_[0] &= ~0x00000010u;
602 }
clear_sampled_profile()603 void ChromeUserMetricsExtension::clear_sampled_profile() {
604   _impl_.sampled_profile_.Clear();
605 }
clear_cast_logs()606 void ChromeUserMetricsExtension::clear_cast_logs() {
607   if (_impl_.cast_logs_ != nullptr) _impl_.cast_logs_->Clear();
608   _impl_._has_bits_[0] &= ~0x00000002u;
609 }
clear_reporting_info()610 void ChromeUserMetricsExtension::clear_reporting_info() {
611   if (_impl_.reporting_info_ != nullptr) _impl_.reporting_info_->Clear();
612   _impl_._has_bits_[0] &= ~0x00000004u;
613 }
clear_trace_log()614 void ChromeUserMetricsExtension::clear_trace_log() {
615   _impl_.trace_log_.Clear();
616 }
clear_custom_tab_session()617 void ChromeUserMetricsExtension::clear_custom_tab_session() {
618   if (_impl_.custom_tab_session_ != nullptr) _impl_.custom_tab_session_->Clear();
619   _impl_._has_bits_[0] &= ~0x00000080u;
620 }
ChromeUserMetricsExtension(::PROTOBUF_NAMESPACE_ID::Arena * arena,bool is_message_owned)621 ChromeUserMetricsExtension::ChromeUserMetricsExtension(::PROTOBUF_NAMESPACE_ID::Arena* arena,
622                          bool is_message_owned)
623   : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena, is_message_owned) {
624   SharedCtor(arena, is_message_owned);
625   // @@protoc_insertion_point(arena_constructor:metrics.ChromeUserMetricsExtension)
626 }
ChromeUserMetricsExtension(const ChromeUserMetricsExtension & from)627 ChromeUserMetricsExtension::ChromeUserMetricsExtension(const ChromeUserMetricsExtension& from)
628   : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
629   ChromeUserMetricsExtension* const _this = this; (void)_this;
630   new (&_impl_) Impl_{
631       decltype(_impl_._has_bits_){from._impl_._has_bits_}
632     , /*decltype(_impl_._cached_size_)*/{}
633     , decltype(_impl_.user_action_event_){from._impl_.user_action_event_}
634     , decltype(_impl_.omnibox_event_){from._impl_.omnibox_event_}
635     , decltype(_impl_.histogram_event_){from._impl_.histogram_event_}
636     , decltype(_impl_.sampled_profile_){from._impl_.sampled_profile_}
637     , decltype(_impl_.translate_event_){from._impl_.translate_event_}
638     , decltype(_impl_.printer_event_){from._impl_.printer_event_}
639     , decltype(_impl_.trace_log_){from._impl_.trace_log_}
640     , decltype(_impl_.chrome_os_app_list_launch_event_){from._impl_.chrome_os_app_list_launch_event_}
641     , decltype(_impl_.system_profile_){nullptr}
642     , decltype(_impl_.cast_logs_){nullptr}
643     , decltype(_impl_.reporting_info_){nullptr}
644     , decltype(_impl_.user_demographics_){nullptr}
645     , decltype(_impl_.structured_data_){nullptr}
646     , decltype(_impl_.time_log_created_){nullptr}
647     , decltype(_impl_.time_log_closed_){nullptr}
648     , decltype(_impl_.custom_tab_session_){nullptr}
649     , decltype(_impl_.client_id_){}
650     , decltype(_impl_.session_id_){}
651     , decltype(_impl_.product_){}
652     , decltype(_impl_.user_id_){}
653     , decltype(_impl_.record_id_){}
654     , decltype(_impl_.finalized_record_id_){}};
655 
656   _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
657   if (from._internal_has_system_profile()) {
658     _this->_impl_.system_profile_ = new ::metrics::SystemProfileProto(*from._impl_.system_profile_);
659   }
660   if (from._internal_has_cast_logs()) {
661     _this->_impl_.cast_logs_ = new ::metrics::CastLogsProto(*from._impl_.cast_logs_);
662   }
663   if (from._internal_has_reporting_info()) {
664     _this->_impl_.reporting_info_ = new ::metrics::ReportingInfo(*from._impl_.reporting_info_);
665   }
666   if (from._internal_has_user_demographics()) {
667     _this->_impl_.user_demographics_ = new ::metrics::UserDemographicsProto(*from._impl_.user_demographics_);
668   }
669   if (from._internal_has_structured_data()) {
670     _this->_impl_.structured_data_ = new ::metrics::StructuredDataProto(*from._impl_.structured_data_);
671   }
672   if (from._internal_has_time_log_created()) {
673     _this->_impl_.time_log_created_ = new ::metrics::ChromeUserMetricsExtension_RealLocalTime(*from._impl_.time_log_created_);
674   }
675   if (from._internal_has_time_log_closed()) {
676     _this->_impl_.time_log_closed_ = new ::metrics::ChromeUserMetricsExtension_RealLocalTime(*from._impl_.time_log_closed_);
677   }
678   if (from._internal_has_custom_tab_session()) {
679     _this->_impl_.custom_tab_session_ = new ::metrics::CustomTabSessionProto(*from._impl_.custom_tab_session_);
680   }
681   ::memcpy(&_impl_.client_id_, &from._impl_.client_id_,
682     static_cast<size_t>(reinterpret_cast<char*>(&_impl_.finalized_record_id_) -
683     reinterpret_cast<char*>(&_impl_.client_id_)) + sizeof(_impl_.finalized_record_id_));
684   // @@protoc_insertion_point(copy_constructor:metrics.ChromeUserMetricsExtension)
685 }
686 
SharedCtor(::_pb::Arena * arena,bool is_message_owned)687 inline void ChromeUserMetricsExtension::SharedCtor(
688     ::_pb::Arena* arena, bool is_message_owned) {
689   (void)arena;
690   (void)is_message_owned;
691   new (&_impl_) Impl_{
692       decltype(_impl_._has_bits_){}
693     , /*decltype(_impl_._cached_size_)*/{}
694     , decltype(_impl_.user_action_event_){arena}
695     , decltype(_impl_.omnibox_event_){arena}
696     , decltype(_impl_.histogram_event_){arena}
697     , decltype(_impl_.sampled_profile_){arena}
698     , decltype(_impl_.translate_event_){arena}
699     , decltype(_impl_.printer_event_){arena}
700     , decltype(_impl_.trace_log_){arena}
701     , decltype(_impl_.chrome_os_app_list_launch_event_){arena}
702     , decltype(_impl_.system_profile_){nullptr}
703     , decltype(_impl_.cast_logs_){nullptr}
704     , decltype(_impl_.reporting_info_){nullptr}
705     , decltype(_impl_.user_demographics_){nullptr}
706     , decltype(_impl_.structured_data_){nullptr}
707     , decltype(_impl_.time_log_created_){nullptr}
708     , decltype(_impl_.time_log_closed_){nullptr}
709     , decltype(_impl_.custom_tab_session_){nullptr}
710     , decltype(_impl_.client_id_){uint64_t{0u}}
711     , decltype(_impl_.session_id_){0}
712     , decltype(_impl_.product_){0}
713     , decltype(_impl_.user_id_){uint64_t{0u}}
714     , decltype(_impl_.record_id_){int64_t{0}}
715     , decltype(_impl_.finalized_record_id_){int64_t{0}}
716   };
717 }
718 
~ChromeUserMetricsExtension()719 ChromeUserMetricsExtension::~ChromeUserMetricsExtension() {
720   // @@protoc_insertion_point(destructor:metrics.ChromeUserMetricsExtension)
721   if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
722   (void)arena;
723     return;
724   }
725   SharedDtor();
726 }
727 
SharedDtor()728 inline void ChromeUserMetricsExtension::SharedDtor() {
729   GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
730   _impl_.user_action_event_.~RepeatedPtrField();
731   _impl_.omnibox_event_.~RepeatedPtrField();
732   _impl_.histogram_event_.~RepeatedPtrField();
733   _impl_.sampled_profile_.~RepeatedPtrField();
734   _impl_.translate_event_.~RepeatedPtrField();
735   _impl_.printer_event_.~RepeatedPtrField();
736   _impl_.trace_log_.~RepeatedPtrField();
737   _impl_.chrome_os_app_list_launch_event_.~RepeatedPtrField();
738   if (this != internal_default_instance()) delete _impl_.system_profile_;
739   if (this != internal_default_instance()) delete _impl_.cast_logs_;
740   if (this != internal_default_instance()) delete _impl_.reporting_info_;
741   if (this != internal_default_instance()) delete _impl_.user_demographics_;
742   if (this != internal_default_instance()) delete _impl_.structured_data_;
743   if (this != internal_default_instance()) delete _impl_.time_log_created_;
744   if (this != internal_default_instance()) delete _impl_.time_log_closed_;
745   if (this != internal_default_instance()) delete _impl_.custom_tab_session_;
746 }
747 
SetCachedSize(int size) const748 void ChromeUserMetricsExtension::SetCachedSize(int size) const {
749   _impl_._cached_size_.Set(size);
750 }
751 
Clear()752 void ChromeUserMetricsExtension::Clear() {
753 // @@protoc_insertion_point(message_clear_start:metrics.ChromeUserMetricsExtension)
754   uint32_t cached_has_bits = 0;
755   // Prevent compiler warnings about cached_has_bits being unused
756   (void) cached_has_bits;
757 
758   _impl_.user_action_event_.Clear();
759   _impl_.omnibox_event_.Clear();
760   _impl_.histogram_event_.Clear();
761   _impl_.sampled_profile_.Clear();
762   _impl_.translate_event_.Clear();
763   _impl_.printer_event_.Clear();
764   _impl_.trace_log_.Clear();
765   _impl_.chrome_os_app_list_launch_event_.Clear();
766   cached_has_bits = _impl_._has_bits_[0];
767   if (cached_has_bits & 0x000000ffu) {
768     if (cached_has_bits & 0x00000001u) {
769       GOOGLE_DCHECK(_impl_.system_profile_ != nullptr);
770       _impl_.system_profile_->Clear();
771     }
772     if (cached_has_bits & 0x00000002u) {
773       GOOGLE_DCHECK(_impl_.cast_logs_ != nullptr);
774       _impl_.cast_logs_->Clear();
775     }
776     if (cached_has_bits & 0x00000004u) {
777       GOOGLE_DCHECK(_impl_.reporting_info_ != nullptr);
778       _impl_.reporting_info_->Clear();
779     }
780     if (cached_has_bits & 0x00000008u) {
781       GOOGLE_DCHECK(_impl_.user_demographics_ != nullptr);
782       _impl_.user_demographics_->Clear();
783     }
784     if (cached_has_bits & 0x00000010u) {
785       GOOGLE_DCHECK(_impl_.structured_data_ != nullptr);
786       _impl_.structured_data_->Clear();
787     }
788     if (cached_has_bits & 0x00000020u) {
789       GOOGLE_DCHECK(_impl_.time_log_created_ != nullptr);
790       _impl_.time_log_created_->Clear();
791     }
792     if (cached_has_bits & 0x00000040u) {
793       GOOGLE_DCHECK(_impl_.time_log_closed_ != nullptr);
794       _impl_.time_log_closed_->Clear();
795     }
796     if (cached_has_bits & 0x00000080u) {
797       GOOGLE_DCHECK(_impl_.custom_tab_session_ != nullptr);
798       _impl_.custom_tab_session_->Clear();
799     }
800   }
801   if (cached_has_bits & 0x00003f00u) {
802     ::memset(&_impl_.client_id_, 0, static_cast<size_t>(
803         reinterpret_cast<char*>(&_impl_.finalized_record_id_) -
804         reinterpret_cast<char*>(&_impl_.client_id_)) + sizeof(_impl_.finalized_record_id_));
805   }
806   _impl_._has_bits_.Clear();
807   _internal_metadata_.Clear<std::string>();
808 }
809 
_InternalParse(const char * ptr,::_pbi::ParseContext * ctx)810 const char* ChromeUserMetricsExtension::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
811 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
812   _Internal::HasBits has_bits{};
813   while (!ctx->Done(&ptr)) {
814     uint32_t tag;
815     ptr = ::_pbi::ReadTag(ptr, &tag);
816     switch (tag >> 3) {
817       // optional fixed64 client_id = 1;
818       case 1:
819         if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 9)) {
820           _Internal::set_has_client_id(&has_bits);
821           _impl_.client_id_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<uint64_t>(ptr);
822           ptr += sizeof(uint64_t);
823         } else
824           goto handle_unusual;
825         continue;
826       // optional int32 session_id = 2;
827       case 2:
828         if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 16)) {
829           _Internal::set_has_session_id(&has_bits);
830           _impl_.session_id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
831           CHK_(ptr);
832         } else
833           goto handle_unusual;
834         continue;
835       // optional .metrics.SystemProfileProto system_profile = 3;
836       case 3:
837         if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 26)) {
838           ptr = ctx->ParseMessage(_internal_mutable_system_profile(), ptr);
839           CHK_(ptr);
840         } else
841           goto handle_unusual;
842         continue;
843       // repeated .metrics.UserActionEventProto user_action_event = 4;
844       case 4:
845         if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 34)) {
846           ptr -= 1;
847           do {
848             ptr += 1;
849             ptr = ctx->ParseMessage(_internal_add_user_action_event(), ptr);
850             CHK_(ptr);
851             if (!ctx->DataAvailable(ptr)) break;
852           } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<34>(ptr));
853         } else
854           goto handle_unusual;
855         continue;
856       // repeated .metrics.OmniboxEventProto omnibox_event = 5;
857       case 5:
858         if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 42)) {
859           ptr -= 1;
860           do {
861             ptr += 1;
862             ptr = ctx->ParseMessage(_internal_add_omnibox_event(), ptr);
863             CHK_(ptr);
864             if (!ctx->DataAvailable(ptr)) break;
865           } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<42>(ptr));
866         } else
867           goto handle_unusual;
868         continue;
869       // repeated .metrics.HistogramEventProto histogram_event = 6;
870       case 6:
871         if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 50)) {
872           ptr -= 1;
873           do {
874             ptr += 1;
875             ptr = ctx->ParseMessage(_internal_add_histogram_event(), ptr);
876             CHK_(ptr);
877             if (!ctx->DataAvailable(ptr)) break;
878           } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<50>(ptr));
879         } else
880           goto handle_unusual;
881         continue;
882       // optional int32 product = 10 [default = 0];
883       case 10:
884         if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 80)) {
885           _Internal::set_has_product(&has_bits);
886           _impl_.product_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
887           CHK_(ptr);
888         } else
889           goto handle_unusual;
890         continue;
891       // repeated .metrics.SampledProfile sampled_profile = 11;
892       case 11:
893         if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 90)) {
894           ptr -= 1;
895           do {
896             ptr += 1;
897             ptr = ctx->ParseMessage(_internal_add_sampled_profile(), ptr);
898             CHK_(ptr);
899             if (!ctx->DataAvailable(ptr)) break;
900           } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<90>(ptr));
901         } else
902           goto handle_unusual;
903         continue;
904       // optional .metrics.CastLogsProto cast_logs = 12;
905       case 12:
906         if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 98)) {
907           ptr = ctx->ParseMessage(_internal_mutable_cast_logs(), ptr);
908           CHK_(ptr);
909         } else
910           goto handle_unusual;
911         continue;
912       // repeated .metrics.TranslateEventProto translate_event = 15;
913       case 15:
914         if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 122)) {
915           ptr -= 1;
916           do {
917             ptr += 1;
918             ptr = ctx->ParseMessage(_internal_add_translate_event(), ptr);
919             CHK_(ptr);
920             if (!ctx->DataAvailable(ptr)) break;
921           } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<122>(ptr));
922         } else
923           goto handle_unusual;
924         continue;
925       // repeated .metrics.PrinterEventProto printer_event = 16;
926       case 16:
927         if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 130)) {
928           ptr -= 2;
929           do {
930             ptr += 2;
931             ptr = ctx->ParseMessage(_internal_add_printer_event(), ptr);
932             CHK_(ptr);
933             if (!ctx->DataAvailable(ptr)) break;
934           } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<130>(ptr));
935         } else
936           goto handle_unusual;
937         continue;
938       // optional .metrics.ReportingInfo reporting_info = 17;
939       case 17:
940         if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 138)) {
941           ptr = ctx->ParseMessage(_internal_mutable_reporting_info(), ptr);
942           CHK_(ptr);
943         } else
944           goto handle_unusual;
945         continue;
946       // repeated .metrics.TraceLog trace_log = 19;
947       case 19:
948         if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 154)) {
949           ptr -= 2;
950           do {
951             ptr += 2;
952             ptr = ctx->ParseMessage(_internal_add_trace_log(), ptr);
953             CHK_(ptr);
954             if (!ctx->DataAvailable(ptr)) break;
955           } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<154>(ptr));
956         } else
957           goto handle_unusual;
958         continue;
959       // repeated .metrics.ChromeOSAppListLaunchEventProto chrome_os_app_list_launch_event = 20;
960       case 20:
961         if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 162)) {
962           ptr -= 2;
963           do {
964             ptr += 2;
965             ptr = ctx->ParseMessage(_internal_add_chrome_os_app_list_launch_event(), ptr);
966             CHK_(ptr);
967             if (!ctx->DataAvailable(ptr)) break;
968           } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<162>(ptr));
969         } else
970           goto handle_unusual;
971         continue;
972       // optional .metrics.UserDemographicsProto user_demographics = 21;
973       case 21:
974         if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 170)) {
975           ptr = ctx->ParseMessage(_internal_mutable_user_demographics(), ptr);
976           CHK_(ptr);
977         } else
978           goto handle_unusual;
979         continue;
980       // optional .metrics.StructuredDataProto structured_data = 23;
981       case 23:
982         if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 186)) {
983           ptr = ctx->ParseMessage(_internal_mutable_structured_data(), ptr);
984           CHK_(ptr);
985         } else
986           goto handle_unusual;
987         continue;
988       // optional fixed64 user_id = 24;
989       case 24:
990         if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 193)) {
991           _Internal::set_has_user_id(&has_bits);
992           _impl_.user_id_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<uint64_t>(ptr);
993           ptr += sizeof(uint64_t);
994         } else
995           goto handle_unusual;
996         continue;
997       // optional .metrics.ChromeUserMetricsExtension.RealLocalTime time_log_created = 25;
998       case 25:
999         if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 202)) {
1000           ptr = ctx->ParseMessage(_internal_mutable_time_log_created(), ptr);
1001           CHK_(ptr);
1002         } else
1003           goto handle_unusual;
1004         continue;
1005       // optional .metrics.ChromeUserMetricsExtension.RealLocalTime time_log_closed = 26;
1006       case 26:
1007         if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 210)) {
1008           ptr = ctx->ParseMessage(_internal_mutable_time_log_closed(), ptr);
1009           CHK_(ptr);
1010         } else
1011           goto handle_unusual;
1012         continue;
1013       // optional .metrics.CustomTabSessionProto custom_tab_session = 27;
1014       case 27:
1015         if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 218)) {
1016           ptr = ctx->ParseMessage(_internal_mutable_custom_tab_session(), ptr);
1017           CHK_(ptr);
1018         } else
1019           goto handle_unusual;
1020         continue;
1021       // optional int64 record_id = 28;
1022       case 28:
1023         if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 224)) {
1024           _Internal::set_has_record_id(&has_bits);
1025           _impl_.record_id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1026           CHK_(ptr);
1027         } else
1028           goto handle_unusual;
1029         continue;
1030       // optional int64 finalized_record_id = 29;
1031       case 29:
1032         if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 232)) {
1033           _Internal::set_has_finalized_record_id(&has_bits);
1034           _impl_.finalized_record_id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1035           CHK_(ptr);
1036         } else
1037           goto handle_unusual;
1038         continue;
1039       default:
1040         goto handle_unusual;
1041     }  // switch
1042   handle_unusual:
1043     if ((tag == 0) || ((tag & 7) == 4)) {
1044       CHK_(ptr);
1045       ctx->SetLastTag(tag);
1046       goto message_done;
1047     }
1048     ptr = UnknownFieldParse(
1049         tag,
1050         _internal_metadata_.mutable_unknown_fields<std::string>(),
1051         ptr, ctx);
1052     CHK_(ptr != nullptr);
1053   }  // while
1054 message_done:
1055   _impl_._has_bits_.Or(has_bits);
1056   return ptr;
1057 failure:
1058   ptr = nullptr;
1059   goto message_done;
1060 #undef CHK_
1061 }
1062 
_InternalSerialize(uint8_t * target,::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream * stream) const1063 uint8_t* ChromeUserMetricsExtension::_InternalSerialize(
1064     uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
1065   // @@protoc_insertion_point(serialize_to_array_start:metrics.ChromeUserMetricsExtension)
1066   uint32_t cached_has_bits = 0;
1067   (void) cached_has_bits;
1068 
1069   cached_has_bits = _impl_._has_bits_[0];
1070   // optional fixed64 client_id = 1;
1071   if (cached_has_bits & 0x00000100u) {
1072     target = stream->EnsureSpace(target);
1073     target = ::_pbi::WireFormatLite::WriteFixed64ToArray(1, this->_internal_client_id(), target);
1074   }
1075 
1076   // optional int32 session_id = 2;
1077   if (cached_has_bits & 0x00000200u) {
1078     target = stream->EnsureSpace(target);
1079     target = ::_pbi::WireFormatLite::WriteInt32ToArray(2, this->_internal_session_id(), target);
1080   }
1081 
1082   // optional .metrics.SystemProfileProto system_profile = 3;
1083   if (cached_has_bits & 0x00000001u) {
1084     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1085       InternalWriteMessage(3, _Internal::system_profile(this),
1086         _Internal::system_profile(this).GetCachedSize(), target, stream);
1087   }
1088 
1089   // repeated .metrics.UserActionEventProto user_action_event = 4;
1090   for (unsigned i = 0,
1091       n = static_cast<unsigned>(this->_internal_user_action_event_size()); i < n; i++) {
1092     const auto& repfield = this->_internal_user_action_event(i);
1093     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1094         InternalWriteMessage(4, repfield, repfield.GetCachedSize(), target, stream);
1095   }
1096 
1097   // repeated .metrics.OmniboxEventProto omnibox_event = 5;
1098   for (unsigned i = 0,
1099       n = static_cast<unsigned>(this->_internal_omnibox_event_size()); i < n; i++) {
1100     const auto& repfield = this->_internal_omnibox_event(i);
1101     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1102         InternalWriteMessage(5, repfield, repfield.GetCachedSize(), target, stream);
1103   }
1104 
1105   // repeated .metrics.HistogramEventProto histogram_event = 6;
1106   for (unsigned i = 0,
1107       n = static_cast<unsigned>(this->_internal_histogram_event_size()); i < n; i++) {
1108     const auto& repfield = this->_internal_histogram_event(i);
1109     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1110         InternalWriteMessage(6, repfield, repfield.GetCachedSize(), target, stream);
1111   }
1112 
1113   // optional int32 product = 10 [default = 0];
1114   if (cached_has_bits & 0x00000400u) {
1115     target = stream->EnsureSpace(target);
1116     target = ::_pbi::WireFormatLite::WriteInt32ToArray(10, this->_internal_product(), target);
1117   }
1118 
1119   // repeated .metrics.SampledProfile sampled_profile = 11;
1120   for (unsigned i = 0,
1121       n = static_cast<unsigned>(this->_internal_sampled_profile_size()); i < n; i++) {
1122     const auto& repfield = this->_internal_sampled_profile(i);
1123     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1124         InternalWriteMessage(11, repfield, repfield.GetCachedSize(), target, stream);
1125   }
1126 
1127   // optional .metrics.CastLogsProto cast_logs = 12;
1128   if (cached_has_bits & 0x00000002u) {
1129     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1130       InternalWriteMessage(12, _Internal::cast_logs(this),
1131         _Internal::cast_logs(this).GetCachedSize(), target, stream);
1132   }
1133 
1134   // repeated .metrics.TranslateEventProto translate_event = 15;
1135   for (unsigned i = 0,
1136       n = static_cast<unsigned>(this->_internal_translate_event_size()); i < n; i++) {
1137     const auto& repfield = this->_internal_translate_event(i);
1138     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1139         InternalWriteMessage(15, repfield, repfield.GetCachedSize(), target, stream);
1140   }
1141 
1142   // repeated .metrics.PrinterEventProto printer_event = 16;
1143   for (unsigned i = 0,
1144       n = static_cast<unsigned>(this->_internal_printer_event_size()); i < n; i++) {
1145     const auto& repfield = this->_internal_printer_event(i);
1146     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1147         InternalWriteMessage(16, repfield, repfield.GetCachedSize(), target, stream);
1148   }
1149 
1150   // optional .metrics.ReportingInfo reporting_info = 17;
1151   if (cached_has_bits & 0x00000004u) {
1152     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1153       InternalWriteMessage(17, _Internal::reporting_info(this),
1154         _Internal::reporting_info(this).GetCachedSize(), target, stream);
1155   }
1156 
1157   // repeated .metrics.TraceLog trace_log = 19;
1158   for (unsigned i = 0,
1159       n = static_cast<unsigned>(this->_internal_trace_log_size()); i < n; i++) {
1160     const auto& repfield = this->_internal_trace_log(i);
1161     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1162         InternalWriteMessage(19, repfield, repfield.GetCachedSize(), target, stream);
1163   }
1164 
1165   // repeated .metrics.ChromeOSAppListLaunchEventProto chrome_os_app_list_launch_event = 20;
1166   for (unsigned i = 0,
1167       n = static_cast<unsigned>(this->_internal_chrome_os_app_list_launch_event_size()); i < n; i++) {
1168     const auto& repfield = this->_internal_chrome_os_app_list_launch_event(i);
1169     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1170         InternalWriteMessage(20, repfield, repfield.GetCachedSize(), target, stream);
1171   }
1172 
1173   // optional .metrics.UserDemographicsProto user_demographics = 21;
1174   if (cached_has_bits & 0x00000008u) {
1175     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1176       InternalWriteMessage(21, _Internal::user_demographics(this),
1177         _Internal::user_demographics(this).GetCachedSize(), target, stream);
1178   }
1179 
1180   // optional .metrics.StructuredDataProto structured_data = 23;
1181   if (cached_has_bits & 0x00000010u) {
1182     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1183       InternalWriteMessage(23, _Internal::structured_data(this),
1184         _Internal::structured_data(this).GetCachedSize(), target, stream);
1185   }
1186 
1187   // optional fixed64 user_id = 24;
1188   if (cached_has_bits & 0x00000800u) {
1189     target = stream->EnsureSpace(target);
1190     target = ::_pbi::WireFormatLite::WriteFixed64ToArray(24, this->_internal_user_id(), target);
1191   }
1192 
1193   // optional .metrics.ChromeUserMetricsExtension.RealLocalTime time_log_created = 25;
1194   if (cached_has_bits & 0x00000020u) {
1195     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1196       InternalWriteMessage(25, _Internal::time_log_created(this),
1197         _Internal::time_log_created(this).GetCachedSize(), target, stream);
1198   }
1199 
1200   // optional .metrics.ChromeUserMetricsExtension.RealLocalTime time_log_closed = 26;
1201   if (cached_has_bits & 0x00000040u) {
1202     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1203       InternalWriteMessage(26, _Internal::time_log_closed(this),
1204         _Internal::time_log_closed(this).GetCachedSize(), target, stream);
1205   }
1206 
1207   // optional .metrics.CustomTabSessionProto custom_tab_session = 27;
1208   if (cached_has_bits & 0x00000080u) {
1209     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1210       InternalWriteMessage(27, _Internal::custom_tab_session(this),
1211         _Internal::custom_tab_session(this).GetCachedSize(), target, stream);
1212   }
1213 
1214   // optional int64 record_id = 28;
1215   if (cached_has_bits & 0x00001000u) {
1216     target = stream->EnsureSpace(target);
1217     target = ::_pbi::WireFormatLite::WriteInt64ToArray(28, this->_internal_record_id(), target);
1218   }
1219 
1220   // optional int64 finalized_record_id = 29;
1221   if (cached_has_bits & 0x00002000u) {
1222     target = stream->EnsureSpace(target);
1223     target = ::_pbi::WireFormatLite::WriteInt64ToArray(29, this->_internal_finalized_record_id(), target);
1224   }
1225 
1226   if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
1227     target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
1228         static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
1229   }
1230   // @@protoc_insertion_point(serialize_to_array_end:metrics.ChromeUserMetricsExtension)
1231   return target;
1232 }
1233 
ByteSizeLong() const1234 size_t ChromeUserMetricsExtension::ByteSizeLong() const {
1235 // @@protoc_insertion_point(message_byte_size_start:metrics.ChromeUserMetricsExtension)
1236   size_t total_size = 0;
1237 
1238   uint32_t cached_has_bits = 0;
1239   // Prevent compiler warnings about cached_has_bits being unused
1240   (void) cached_has_bits;
1241 
1242   // repeated .metrics.UserActionEventProto user_action_event = 4;
1243   total_size += 1UL * this->_internal_user_action_event_size();
1244   for (const auto& msg : this->_impl_.user_action_event_) {
1245     total_size +=
1246       ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
1247   }
1248 
1249   // repeated .metrics.OmniboxEventProto omnibox_event = 5;
1250   total_size += 1UL * this->_internal_omnibox_event_size();
1251   for (const auto& msg : this->_impl_.omnibox_event_) {
1252     total_size +=
1253       ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
1254   }
1255 
1256   // repeated .metrics.HistogramEventProto histogram_event = 6;
1257   total_size += 1UL * this->_internal_histogram_event_size();
1258   for (const auto& msg : this->_impl_.histogram_event_) {
1259     total_size +=
1260       ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
1261   }
1262 
1263   // repeated .metrics.SampledProfile sampled_profile = 11;
1264   total_size += 1UL * this->_internal_sampled_profile_size();
1265   for (const auto& msg : this->_impl_.sampled_profile_) {
1266     total_size +=
1267       ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
1268   }
1269 
1270   // repeated .metrics.TranslateEventProto translate_event = 15;
1271   total_size += 1UL * this->_internal_translate_event_size();
1272   for (const auto& msg : this->_impl_.translate_event_) {
1273     total_size +=
1274       ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
1275   }
1276 
1277   // repeated .metrics.PrinterEventProto printer_event = 16;
1278   total_size += 2UL * this->_internal_printer_event_size();
1279   for (const auto& msg : this->_impl_.printer_event_) {
1280     total_size +=
1281       ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
1282   }
1283 
1284   // repeated .metrics.TraceLog trace_log = 19;
1285   total_size += 2UL * this->_internal_trace_log_size();
1286   for (const auto& msg : this->_impl_.trace_log_) {
1287     total_size +=
1288       ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
1289   }
1290 
1291   // repeated .metrics.ChromeOSAppListLaunchEventProto chrome_os_app_list_launch_event = 20;
1292   total_size += 2UL * this->_internal_chrome_os_app_list_launch_event_size();
1293   for (const auto& msg : this->_impl_.chrome_os_app_list_launch_event_) {
1294     total_size +=
1295       ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
1296   }
1297 
1298   cached_has_bits = _impl_._has_bits_[0];
1299   if (cached_has_bits & 0x000000ffu) {
1300     // optional .metrics.SystemProfileProto system_profile = 3;
1301     if (cached_has_bits & 0x00000001u) {
1302       total_size += 1 +
1303         ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
1304           *_impl_.system_profile_);
1305     }
1306 
1307     // optional .metrics.CastLogsProto cast_logs = 12;
1308     if (cached_has_bits & 0x00000002u) {
1309       total_size += 1 +
1310         ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
1311           *_impl_.cast_logs_);
1312     }
1313 
1314     // optional .metrics.ReportingInfo reporting_info = 17;
1315     if (cached_has_bits & 0x00000004u) {
1316       total_size += 2 +
1317         ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
1318           *_impl_.reporting_info_);
1319     }
1320 
1321     // optional .metrics.UserDemographicsProto user_demographics = 21;
1322     if (cached_has_bits & 0x00000008u) {
1323       total_size += 2 +
1324         ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
1325           *_impl_.user_demographics_);
1326     }
1327 
1328     // optional .metrics.StructuredDataProto structured_data = 23;
1329     if (cached_has_bits & 0x00000010u) {
1330       total_size += 2 +
1331         ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
1332           *_impl_.structured_data_);
1333     }
1334 
1335     // optional .metrics.ChromeUserMetricsExtension.RealLocalTime time_log_created = 25;
1336     if (cached_has_bits & 0x00000020u) {
1337       total_size += 2 +
1338         ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
1339           *_impl_.time_log_created_);
1340     }
1341 
1342     // optional .metrics.ChromeUserMetricsExtension.RealLocalTime time_log_closed = 26;
1343     if (cached_has_bits & 0x00000040u) {
1344       total_size += 2 +
1345         ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
1346           *_impl_.time_log_closed_);
1347     }
1348 
1349     // optional .metrics.CustomTabSessionProto custom_tab_session = 27;
1350     if (cached_has_bits & 0x00000080u) {
1351       total_size += 2 +
1352         ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
1353           *_impl_.custom_tab_session_);
1354     }
1355 
1356   }
1357   if (cached_has_bits & 0x00003f00u) {
1358     // optional fixed64 client_id = 1;
1359     if (cached_has_bits & 0x00000100u) {
1360       total_size += 1 + 8;
1361     }
1362 
1363     // optional int32 session_id = 2;
1364     if (cached_has_bits & 0x00000200u) {
1365       total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_session_id());
1366     }
1367 
1368     // optional int32 product = 10 [default = 0];
1369     if (cached_has_bits & 0x00000400u) {
1370       total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_product());
1371     }
1372 
1373     // optional fixed64 user_id = 24;
1374     if (cached_has_bits & 0x00000800u) {
1375       total_size += 2 + 8;
1376     }
1377 
1378     // optional int64 record_id = 28;
1379     if (cached_has_bits & 0x00001000u) {
1380       total_size += 2 +
1381         ::_pbi::WireFormatLite::Int64Size(
1382           this->_internal_record_id());
1383     }
1384 
1385     // optional int64 finalized_record_id = 29;
1386     if (cached_has_bits & 0x00002000u) {
1387       total_size += 2 +
1388         ::_pbi::WireFormatLite::Int64Size(
1389           this->_internal_finalized_record_id());
1390     }
1391 
1392   }
1393   if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
1394     total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
1395   }
1396   int cached_size = ::_pbi::ToCachedSize(total_size);
1397   SetCachedSize(cached_size);
1398   return total_size;
1399 }
1400 
CheckTypeAndMergeFrom(const::PROTOBUF_NAMESPACE_ID::MessageLite & from)1401 void ChromeUserMetricsExtension::CheckTypeAndMergeFrom(
1402     const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
1403   MergeFrom(*::_pbi::DownCast<const ChromeUserMetricsExtension*>(
1404       &from));
1405 }
1406 
MergeFrom(const ChromeUserMetricsExtension & from)1407 void ChromeUserMetricsExtension::MergeFrom(const ChromeUserMetricsExtension& from) {
1408   ChromeUserMetricsExtension* const _this = this;
1409   // @@protoc_insertion_point(class_specific_merge_from_start:metrics.ChromeUserMetricsExtension)
1410   GOOGLE_DCHECK_NE(&from, _this);
1411   uint32_t cached_has_bits = 0;
1412   (void) cached_has_bits;
1413 
1414   _this->_impl_.user_action_event_.MergeFrom(from._impl_.user_action_event_);
1415   _this->_impl_.omnibox_event_.MergeFrom(from._impl_.omnibox_event_);
1416   _this->_impl_.histogram_event_.MergeFrom(from._impl_.histogram_event_);
1417   _this->_impl_.sampled_profile_.MergeFrom(from._impl_.sampled_profile_);
1418   _this->_impl_.translate_event_.MergeFrom(from._impl_.translate_event_);
1419   _this->_impl_.printer_event_.MergeFrom(from._impl_.printer_event_);
1420   _this->_impl_.trace_log_.MergeFrom(from._impl_.trace_log_);
1421   _this->_impl_.chrome_os_app_list_launch_event_.MergeFrom(from._impl_.chrome_os_app_list_launch_event_);
1422   cached_has_bits = from._impl_._has_bits_[0];
1423   if (cached_has_bits & 0x000000ffu) {
1424     if (cached_has_bits & 0x00000001u) {
1425       _this->_internal_mutable_system_profile()->::metrics::SystemProfileProto::MergeFrom(
1426           from._internal_system_profile());
1427     }
1428     if (cached_has_bits & 0x00000002u) {
1429       _this->_internal_mutable_cast_logs()->::metrics::CastLogsProto::MergeFrom(
1430           from._internal_cast_logs());
1431     }
1432     if (cached_has_bits & 0x00000004u) {
1433       _this->_internal_mutable_reporting_info()->::metrics::ReportingInfo::MergeFrom(
1434           from._internal_reporting_info());
1435     }
1436     if (cached_has_bits & 0x00000008u) {
1437       _this->_internal_mutable_user_demographics()->::metrics::UserDemographicsProto::MergeFrom(
1438           from._internal_user_demographics());
1439     }
1440     if (cached_has_bits & 0x00000010u) {
1441       _this->_internal_mutable_structured_data()->::metrics::StructuredDataProto::MergeFrom(
1442           from._internal_structured_data());
1443     }
1444     if (cached_has_bits & 0x00000020u) {
1445       _this->_internal_mutable_time_log_created()->::metrics::ChromeUserMetricsExtension_RealLocalTime::MergeFrom(
1446           from._internal_time_log_created());
1447     }
1448     if (cached_has_bits & 0x00000040u) {
1449       _this->_internal_mutable_time_log_closed()->::metrics::ChromeUserMetricsExtension_RealLocalTime::MergeFrom(
1450           from._internal_time_log_closed());
1451     }
1452     if (cached_has_bits & 0x00000080u) {
1453       _this->_internal_mutable_custom_tab_session()->::metrics::CustomTabSessionProto::MergeFrom(
1454           from._internal_custom_tab_session());
1455     }
1456   }
1457   if (cached_has_bits & 0x00003f00u) {
1458     if (cached_has_bits & 0x00000100u) {
1459       _this->_impl_.client_id_ = from._impl_.client_id_;
1460     }
1461     if (cached_has_bits & 0x00000200u) {
1462       _this->_impl_.session_id_ = from._impl_.session_id_;
1463     }
1464     if (cached_has_bits & 0x00000400u) {
1465       _this->_impl_.product_ = from._impl_.product_;
1466     }
1467     if (cached_has_bits & 0x00000800u) {
1468       _this->_impl_.user_id_ = from._impl_.user_id_;
1469     }
1470     if (cached_has_bits & 0x00001000u) {
1471       _this->_impl_.record_id_ = from._impl_.record_id_;
1472     }
1473     if (cached_has_bits & 0x00002000u) {
1474       _this->_impl_.finalized_record_id_ = from._impl_.finalized_record_id_;
1475     }
1476     _this->_impl_._has_bits_[0] |= cached_has_bits;
1477   }
1478   _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
1479 }
1480 
CopyFrom(const ChromeUserMetricsExtension & from)1481 void ChromeUserMetricsExtension::CopyFrom(const ChromeUserMetricsExtension& from) {
1482 // @@protoc_insertion_point(class_specific_copy_from_start:metrics.ChromeUserMetricsExtension)
1483   if (&from == this) return;
1484   Clear();
1485   MergeFrom(from);
1486 }
1487 
IsInitialized() const1488 bool ChromeUserMetricsExtension::IsInitialized() const {
1489   return true;
1490 }
1491 
InternalSwap(ChromeUserMetricsExtension * other)1492 void ChromeUserMetricsExtension::InternalSwap(ChromeUserMetricsExtension* other) {
1493   using std::swap;
1494   _internal_metadata_.InternalSwap(&other->_internal_metadata_);
1495   swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
1496   _impl_.user_action_event_.InternalSwap(&other->_impl_.user_action_event_);
1497   _impl_.omnibox_event_.InternalSwap(&other->_impl_.omnibox_event_);
1498   _impl_.histogram_event_.InternalSwap(&other->_impl_.histogram_event_);
1499   _impl_.sampled_profile_.InternalSwap(&other->_impl_.sampled_profile_);
1500   _impl_.translate_event_.InternalSwap(&other->_impl_.translate_event_);
1501   _impl_.printer_event_.InternalSwap(&other->_impl_.printer_event_);
1502   _impl_.trace_log_.InternalSwap(&other->_impl_.trace_log_);
1503   _impl_.chrome_os_app_list_launch_event_.InternalSwap(&other->_impl_.chrome_os_app_list_launch_event_);
1504   ::PROTOBUF_NAMESPACE_ID::internal::memswap<
1505       PROTOBUF_FIELD_OFFSET(ChromeUserMetricsExtension, _impl_.finalized_record_id_)
1506       + sizeof(ChromeUserMetricsExtension::_impl_.finalized_record_id_)
1507       - PROTOBUF_FIELD_OFFSET(ChromeUserMetricsExtension, _impl_.system_profile_)>(
1508           reinterpret_cast<char*>(&_impl_.system_profile_),
1509           reinterpret_cast<char*>(&other->_impl_.system_profile_));
1510 }
1511 
GetTypeName() const1512 std::string ChromeUserMetricsExtension::GetTypeName() const {
1513   return "metrics.ChromeUserMetricsExtension";
1514 }
1515 
1516 
1517 // @@protoc_insertion_point(namespace_scope)
1518 }  // namespace metrics
1519 PROTOBUF_NAMESPACE_OPEN
1520 template<> PROTOBUF_NOINLINE ::metrics::ChromeUserMetricsExtension_RealLocalTime*
CreateMaybeMessage(Arena * arena)1521 Arena::CreateMaybeMessage< ::metrics::ChromeUserMetricsExtension_RealLocalTime >(Arena* arena) {
1522   return Arena::CreateMessageInternal< ::metrics::ChromeUserMetricsExtension_RealLocalTime >(arena);
1523 }
1524 template<> PROTOBUF_NOINLINE ::metrics::ChromeUserMetricsExtension*
CreateMaybeMessage(Arena * arena)1525 Arena::CreateMaybeMessage< ::metrics::ChromeUserMetricsExtension >(Arena* arena) {
1526   return Arena::CreateMessageInternal< ::metrics::ChromeUserMetricsExtension >(arena);
1527 }
1528 PROTOBUF_NAMESPACE_CLOSE
1529 
1530 // @@protoc_insertion_point(global_scope)
1531 #include <google/protobuf/port_undef.inc>
1532