// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // Generated by the protocol buffer compiler. DO NOT EDIT! // source: perf_metric.proto // This CPP symbol can be defined to use imports that match up to the framework // imports needed when using CocoaPods. #if !defined(GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS) #define GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS 0 #endif #if GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS #import #else #import "GPBProtocolBuffers_RuntimeSupport.h" #endif #import #import "PerfMetric.pbobjc.h" // @@protoc_insertion_point(imports) #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wdeprecated-declarations" #pragma clang diagnostic ignored "-Wdollar-in-identifier-extension" #pragma mark - Objective C Class declarations // Forward declarations of Objective C classes that we can use as // static values in struct initializers. // We don't use [Foo class] because it is not a static value. GPBObjCClassDeclaration(FPRMSGAndroidApplicationInfo); GPBObjCClassDeclaration(FPRMSGAndroidMemoryReading); GPBObjCClassDeclaration(FPRMSGApplicationInfo); GPBObjCClassDeclaration(FPRMSGCpuMetricReading); GPBObjCClassDeclaration(FPRMSGGaugeMetadata); GPBObjCClassDeclaration(FPRMSGGaugeMetric); GPBObjCClassDeclaration(FPRMSGIosApplicationInfo); GPBObjCClassDeclaration(FPRMSGIosMemoryReading); GPBObjCClassDeclaration(FPRMSGNetworkConnectionInfo); GPBObjCClassDeclaration(FPRMSGNetworkRequestMetric); GPBObjCClassDeclaration(FPRMSGPerfSession); GPBObjCClassDeclaration(FPRMSGTraceMetric); GPBObjCClassDeclaration(FPRMSGTransportInfo); GPBObjCClassDeclaration(FPRMSGWebApplicationInfo); #pragma mark - FPRMSGPerfMetricRoot @implementation FPRMSGPerfMetricRoot // No extensions in the file and no imports, so no need to generate // +extensionRegistry. @end #pragma mark - FPRMSGPerfMetricRoot_FileDescriptor static GPBFileDescriptor *FPRMSGPerfMetricRoot_FileDescriptor(void) { // This is called by +initialize so there is no need to worry // about thread safety of the singleton. static GPBFileDescriptor *descriptor = NULL; if (!descriptor) { GPB_DEBUG_CHECK_RUNTIME_VERSIONS(); descriptor = [[GPBFileDescriptor alloc] initWithPackage:@"firebase.perf.v1" objcPrefix:@"FPRMSG" syntax:GPBFileSyntaxProto2]; } return descriptor; } #pragma mark - Enum FPRMSGApplicationProcessState GPBEnumDescriptor *FPRMSGApplicationProcessState_EnumDescriptor(void) { static _Atomic(GPBEnumDescriptor*) descriptor = nil; if (!descriptor) { static const char *valueNames = "ApplicationProcessStateUnknown\000Foregroun" "d\000Background\000ForegroundBackground\000"; static const int32_t values[] = { FPRMSGApplicationProcessState_ApplicationProcessStateUnknown, FPRMSGApplicationProcessState_Foreground, FPRMSGApplicationProcessState_Background, FPRMSGApplicationProcessState_ForegroundBackground, }; GPBEnumDescriptor *worker = [GPBEnumDescriptor allocDescriptorForName:GPBNSStringifySymbol(FPRMSGApplicationProcessState) valueNames:valueNames values:values count:(uint32_t)(sizeof(values) / sizeof(int32_t)) enumVerifier:FPRMSGApplicationProcessState_IsValidValue]; GPBEnumDescriptor *expected = nil; if (!atomic_compare_exchange_strong(&descriptor, &expected, worker)) { [worker release]; } } return descriptor; } BOOL FPRMSGApplicationProcessState_IsValidValue(int32_t value__) { switch (value__) { case FPRMSGApplicationProcessState_ApplicationProcessStateUnknown: case FPRMSGApplicationProcessState_Foreground: case FPRMSGApplicationProcessState_Background: case FPRMSGApplicationProcessState_ForegroundBackground: return YES; default: return NO; } } #pragma mark - Enum FPRMSGSessionVerbosity GPBEnumDescriptor *FPRMSGSessionVerbosity_EnumDescriptor(void) { static _Atomic(GPBEnumDescriptor*) descriptor = nil; if (!descriptor) { static const char *valueNames = "SessionVerbosityNone\000GaugesAndSystemEven" "ts\000"; static const int32_t values[] = { FPRMSGSessionVerbosity_SessionVerbosityNone, FPRMSGSessionVerbosity_GaugesAndSystemEvents, }; GPBEnumDescriptor *worker = [GPBEnumDescriptor allocDescriptorForName:GPBNSStringifySymbol(FPRMSGSessionVerbosity) valueNames:valueNames values:values count:(uint32_t)(sizeof(values) / sizeof(int32_t)) enumVerifier:FPRMSGSessionVerbosity_IsValidValue]; GPBEnumDescriptor *expected = nil; if (!atomic_compare_exchange_strong(&descriptor, &expected, worker)) { [worker release]; } } return descriptor; } BOOL FPRMSGSessionVerbosity_IsValidValue(int32_t value__) { switch (value__) { case FPRMSGSessionVerbosity_SessionVerbosityNone: case FPRMSGSessionVerbosity_GaugesAndSystemEvents: return YES; default: return NO; } } #pragma mark - Enum FPRMSGVisibilityState GPBEnumDescriptor *FPRMSGVisibilityState_EnumDescriptor(void) { static _Atomic(GPBEnumDescriptor*) descriptor = nil; if (!descriptor) { static const char *valueNames = "VisibilityStateUnknown\000Visible\000Hidden\000Pr" "erender\000Unloaded\000"; static const int32_t values[] = { FPRMSGVisibilityState_VisibilityStateUnknown, FPRMSGVisibilityState_Visible, FPRMSGVisibilityState_Hidden, FPRMSGVisibilityState_Prerender, FPRMSGVisibilityState_Unloaded, }; GPBEnumDescriptor *worker = [GPBEnumDescriptor allocDescriptorForName:GPBNSStringifySymbol(FPRMSGVisibilityState) valueNames:valueNames values:values count:(uint32_t)(sizeof(values) / sizeof(int32_t)) enumVerifier:FPRMSGVisibilityState_IsValidValue]; GPBEnumDescriptor *expected = nil; if (!atomic_compare_exchange_strong(&descriptor, &expected, worker)) { [worker release]; } } return descriptor; } BOOL FPRMSGVisibilityState_IsValidValue(int32_t value__) { switch (value__) { case FPRMSGVisibilityState_VisibilityStateUnknown: case FPRMSGVisibilityState_Visible: case FPRMSGVisibilityState_Hidden: case FPRMSGVisibilityState_Prerender: case FPRMSGVisibilityState_Unloaded: return YES; default: return NO; } } #pragma mark - Enum FPRMSGServiceWorkerStatus GPBEnumDescriptor *FPRMSGServiceWorkerStatus_EnumDescriptor(void) { static _Atomic(GPBEnumDescriptor*) descriptor = nil; if (!descriptor) { static const char *valueNames = "ServiceWorkerStatusUnknown\000Unsupported\000C" "ontrolled\000Uncontrolled\000"; static const int32_t values[] = { FPRMSGServiceWorkerStatus_ServiceWorkerStatusUnknown, FPRMSGServiceWorkerStatus_Unsupported, FPRMSGServiceWorkerStatus_Controlled, FPRMSGServiceWorkerStatus_Uncontrolled, }; GPBEnumDescriptor *worker = [GPBEnumDescriptor allocDescriptorForName:GPBNSStringifySymbol(FPRMSGServiceWorkerStatus) valueNames:valueNames values:values count:(uint32_t)(sizeof(values) / sizeof(int32_t)) enumVerifier:FPRMSGServiceWorkerStatus_IsValidValue]; GPBEnumDescriptor *expected = nil; if (!atomic_compare_exchange_strong(&descriptor, &expected, worker)) { [worker release]; } } return descriptor; } BOOL FPRMSGServiceWorkerStatus_IsValidValue(int32_t value__) { switch (value__) { case FPRMSGServiceWorkerStatus_ServiceWorkerStatusUnknown: case FPRMSGServiceWorkerStatus_Unsupported: case FPRMSGServiceWorkerStatus_Controlled: case FPRMSGServiceWorkerStatus_Uncontrolled: return YES; default: return NO; } } #pragma mark - Enum FPRMSGEffectiveConnectionType GPBEnumDescriptor *FPRMSGEffectiveConnectionType_EnumDescriptor(void) { static _Atomic(GPBEnumDescriptor*) descriptor = nil; if (!descriptor) { static const char *valueNames = "EffectiveConnectionTypeUnknown\000Effective" "ConnectionTypeSlow2G\000EffectiveConnection" "Type2G\000EffectiveConnectionType3G\000Effecti" "veConnectionType4G\000"; static const int32_t values[] = { FPRMSGEffectiveConnectionType_EffectiveConnectionTypeUnknown, FPRMSGEffectiveConnectionType_EffectiveConnectionTypeSlow2G, FPRMSGEffectiveConnectionType_EffectiveConnectionType2G, FPRMSGEffectiveConnectionType_EffectiveConnectionType3G, FPRMSGEffectiveConnectionType_EffectiveConnectionType4G, }; static const char *extraTextFormatInfo = "\004\001i\352\344\344\202\000\002i\352\344\202\000\003i\352\344\202\000\004i\352\344\202\000"; GPBEnumDescriptor *worker = [GPBEnumDescriptor allocDescriptorForName:GPBNSStringifySymbol(FPRMSGEffectiveConnectionType) valueNames:valueNames values:values count:(uint32_t)(sizeof(values) / sizeof(int32_t)) enumVerifier:FPRMSGEffectiveConnectionType_IsValidValue extraTextFormatInfo:extraTextFormatInfo]; GPBEnumDescriptor *expected = nil; if (!atomic_compare_exchange_strong(&descriptor, &expected, worker)) { [worker release]; } } return descriptor; } BOOL FPRMSGEffectiveConnectionType_IsValidValue(int32_t value__) { switch (value__) { case FPRMSGEffectiveConnectionType_EffectiveConnectionTypeUnknown: case FPRMSGEffectiveConnectionType_EffectiveConnectionTypeSlow2G: case FPRMSGEffectiveConnectionType_EffectiveConnectionType2G: case FPRMSGEffectiveConnectionType_EffectiveConnectionType3G: case FPRMSGEffectiveConnectionType_EffectiveConnectionType4G: return YES; default: return NO; } } #pragma mark - FPRMSGPerfMetric @implementation FPRMSGPerfMetric @dynamic hasApplicationInfo, applicationInfo; @dynamic hasTraceMetric, traceMetric; @dynamic hasNetworkRequestMetric, networkRequestMetric; @dynamic hasGaugeMetric, gaugeMetric; @dynamic hasTransportInfo, transportInfo; typedef struct FPRMSGPerfMetric__storage_ { uint32_t _has_storage_[1]; FPRMSGApplicationInfo *applicationInfo; FPRMSGTraceMetric *traceMetric; FPRMSGNetworkRequestMetric *networkRequestMetric; FPRMSGGaugeMetric *gaugeMetric; FPRMSGTransportInfo *transportInfo; } FPRMSGPerfMetric__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. + (GPBDescriptor *)descriptor { static GPBDescriptor *descriptor = nil; if (!descriptor) { static GPBMessageFieldDescription fields[] = { { .name = "applicationInfo", .dataTypeSpecific.clazz = GPBObjCClass(FPRMSGApplicationInfo), .number = FPRMSGPerfMetric_FieldNumber_ApplicationInfo, .hasIndex = 0, .offset = (uint32_t)offsetof(FPRMSGPerfMetric__storage_, applicationInfo), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, { .name = "traceMetric", .dataTypeSpecific.clazz = GPBObjCClass(FPRMSGTraceMetric), .number = FPRMSGPerfMetric_FieldNumber_TraceMetric, .hasIndex = 1, .offset = (uint32_t)offsetof(FPRMSGPerfMetric__storage_, traceMetric), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, { .name = "networkRequestMetric", .dataTypeSpecific.clazz = GPBObjCClass(FPRMSGNetworkRequestMetric), .number = FPRMSGPerfMetric_FieldNumber_NetworkRequestMetric, .hasIndex = 2, .offset = (uint32_t)offsetof(FPRMSGPerfMetric__storage_, networkRequestMetric), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, { .name = "gaugeMetric", .dataTypeSpecific.clazz = GPBObjCClass(FPRMSGGaugeMetric), .number = FPRMSGPerfMetric_FieldNumber_GaugeMetric, .hasIndex = 3, .offset = (uint32_t)offsetof(FPRMSGPerfMetric__storage_, gaugeMetric), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, { .name = "transportInfo", .dataTypeSpecific.clazz = GPBObjCClass(FPRMSGTransportInfo), .number = FPRMSGPerfMetric_FieldNumber_TransportInfo, .hasIndex = 4, .offset = (uint32_t)offsetof(FPRMSGPerfMetric__storage_, transportInfo), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, }; GPBDescriptor *localDescriptor = [GPBDescriptor allocDescriptorForClass:[FPRMSGPerfMetric class] rootClass:[FPRMSGPerfMetricRoot class] file:FPRMSGPerfMetricRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) storageSize:sizeof(FPRMSGPerfMetric__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG descriptor = localDescriptor; } return descriptor; } @end #pragma mark - FPRMSGTraceMetric @implementation FPRMSGTraceMetric @dynamic hasName, name; @dynamic hasIsAuto, isAuto; @dynamic hasClientStartTimeUs, clientStartTimeUs; @dynamic hasDurationUs, durationUs; @dynamic counters, counters_Count; @dynamic subtracesArray, subtracesArray_Count; @dynamic customAttributes, customAttributes_Count; @dynamic perfSessionsArray, perfSessionsArray_Count; typedef struct FPRMSGTraceMetric__storage_ { uint32_t _has_storage_[1]; NSString *name; GPBStringInt64Dictionary *counters; NSMutableArray *subtracesArray; NSMutableDictionary *customAttributes; NSMutableArray *perfSessionsArray; int64_t clientStartTimeUs; int64_t durationUs; } FPRMSGTraceMetric__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. + (GPBDescriptor *)descriptor { static GPBDescriptor *descriptor = nil; if (!descriptor) { static GPBMessageFieldDescription fields[] = { { .name = "name", .dataTypeSpecific.clazz = Nil, .number = FPRMSGTraceMetric_FieldNumber_Name, .hasIndex = 0, .offset = (uint32_t)offsetof(FPRMSGTraceMetric__storage_, name), .flags = GPBFieldOptional, .dataType = GPBDataTypeString, }, { .name = "isAuto", .dataTypeSpecific.clazz = Nil, .number = FPRMSGTraceMetric_FieldNumber_IsAuto, .hasIndex = 1, .offset = 2, // Stored in _has_storage_ to save space. .flags = GPBFieldOptional, .dataType = GPBDataTypeBool, }, { .name = "clientStartTimeUs", .dataTypeSpecific.clazz = Nil, .number = FPRMSGTraceMetric_FieldNumber_ClientStartTimeUs, .hasIndex = 3, .offset = (uint32_t)offsetof(FPRMSGTraceMetric__storage_, clientStartTimeUs), .flags = GPBFieldOptional, .dataType = GPBDataTypeInt64, }, { .name = "durationUs", .dataTypeSpecific.clazz = Nil, .number = FPRMSGTraceMetric_FieldNumber_DurationUs, .hasIndex = 4, .offset = (uint32_t)offsetof(FPRMSGTraceMetric__storage_, durationUs), .flags = GPBFieldOptional, .dataType = GPBDataTypeInt64, }, { .name = "counters", .dataTypeSpecific.clazz = Nil, .number = FPRMSGTraceMetric_FieldNumber_Counters, .hasIndex = GPBNoHasBit, .offset = (uint32_t)offsetof(FPRMSGTraceMetric__storage_, counters), .flags = GPBFieldMapKeyString, .dataType = GPBDataTypeInt64, }, { .name = "subtracesArray", .dataTypeSpecific.clazz = GPBObjCClass(FPRMSGTraceMetric), .number = FPRMSGTraceMetric_FieldNumber_SubtracesArray, .hasIndex = GPBNoHasBit, .offset = (uint32_t)offsetof(FPRMSGTraceMetric__storage_, subtracesArray), .flags = GPBFieldRepeated, .dataType = GPBDataTypeMessage, }, { .name = "customAttributes", .dataTypeSpecific.clazz = Nil, .number = FPRMSGTraceMetric_FieldNumber_CustomAttributes, .hasIndex = GPBNoHasBit, .offset = (uint32_t)offsetof(FPRMSGTraceMetric__storage_, customAttributes), .flags = GPBFieldMapKeyString, .dataType = GPBDataTypeString, }, { .name = "perfSessionsArray", .dataTypeSpecific.clazz = GPBObjCClass(FPRMSGPerfSession), .number = FPRMSGTraceMetric_FieldNumber_PerfSessionsArray, .hasIndex = GPBNoHasBit, .offset = (uint32_t)offsetof(FPRMSGTraceMetric__storage_, perfSessionsArray), .flags = GPBFieldRepeated, .dataType = GPBDataTypeMessage, }, }; GPBDescriptor *localDescriptor = [GPBDescriptor allocDescriptorForClass:[FPRMSGTraceMetric class] rootClass:[FPRMSGPerfMetricRoot class] file:FPRMSGPerfMetricRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) storageSize:sizeof(FPRMSGTraceMetric__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG descriptor = localDescriptor; } return descriptor; } @end #pragma mark - FPRMSGNetworkRequestMetric @implementation FPRMSGNetworkRequestMetric @dynamic hasURL, URL; @dynamic hasHTTPMethod, HTTPMethod; @dynamic hasRequestPayloadBytes, requestPayloadBytes; @dynamic hasResponsePayloadBytes, responsePayloadBytes; @dynamic hasNetworkClientErrorReason, networkClientErrorReason; @dynamic hasHTTPResponseCode, HTTPResponseCode; @dynamic hasResponseContentType, responseContentType; @dynamic hasClientStartTimeUs, clientStartTimeUs; @dynamic hasTimeToRequestCompletedUs, timeToRequestCompletedUs; @dynamic hasTimeToResponseInitiatedUs, timeToResponseInitiatedUs; @dynamic hasTimeToResponseCompletedUs, timeToResponseCompletedUs; @dynamic customAttributes, customAttributes_Count; @dynamic perfSessionsArray, perfSessionsArray_Count; typedef struct FPRMSGNetworkRequestMetric__storage_ { uint32_t _has_storage_[1]; FPRMSGNetworkRequestMetric_HttpMethod HTTPMethod; int32_t HTTPResponseCode; FPRMSGNetworkRequestMetric_NetworkClientErrorReason networkClientErrorReason; NSString *URL; NSString *responseContentType; NSMutableDictionary *customAttributes; NSMutableArray *perfSessionsArray; int64_t requestPayloadBytes; int64_t responsePayloadBytes; int64_t clientStartTimeUs; int64_t timeToRequestCompletedUs; int64_t timeToResponseInitiatedUs; int64_t timeToResponseCompletedUs; } FPRMSGNetworkRequestMetric__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. + (GPBDescriptor *)descriptor { static GPBDescriptor *descriptor = nil; if (!descriptor) { static GPBMessageFieldDescription fields[] = { { .name = "URL", .dataTypeSpecific.clazz = Nil, .number = FPRMSGNetworkRequestMetric_FieldNumber_URL, .hasIndex = 0, .offset = (uint32_t)offsetof(FPRMSGNetworkRequestMetric__storage_, URL), .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), .dataType = GPBDataTypeString, }, { .name = "HTTPMethod", .dataTypeSpecific.enumDescFunc = FPRMSGNetworkRequestMetric_HttpMethod_EnumDescriptor, .number = FPRMSGNetworkRequestMetric_FieldNumber_HTTPMethod, .hasIndex = 1, .offset = (uint32_t)offsetof(FPRMSGNetworkRequestMetric__storage_, HTTPMethod), .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom | GPBFieldHasEnumDescriptor), .dataType = GPBDataTypeEnum, }, { .name = "requestPayloadBytes", .dataTypeSpecific.clazz = Nil, .number = FPRMSGNetworkRequestMetric_FieldNumber_RequestPayloadBytes, .hasIndex = 2, .offset = (uint32_t)offsetof(FPRMSGNetworkRequestMetric__storage_, requestPayloadBytes), .flags = GPBFieldOptional, .dataType = GPBDataTypeInt64, }, { .name = "responsePayloadBytes", .dataTypeSpecific.clazz = Nil, .number = FPRMSGNetworkRequestMetric_FieldNumber_ResponsePayloadBytes, .hasIndex = 3, .offset = (uint32_t)offsetof(FPRMSGNetworkRequestMetric__storage_, responsePayloadBytes), .flags = GPBFieldOptional, .dataType = GPBDataTypeInt64, }, { .name = "HTTPResponseCode", .dataTypeSpecific.clazz = Nil, .number = FPRMSGNetworkRequestMetric_FieldNumber_HTTPResponseCode, .hasIndex = 5, .offset = (uint32_t)offsetof(FPRMSGNetworkRequestMetric__storage_, HTTPResponseCode), .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), .dataType = GPBDataTypeInt32, }, { .name = "responseContentType", .dataTypeSpecific.clazz = Nil, .number = FPRMSGNetworkRequestMetric_FieldNumber_ResponseContentType, .hasIndex = 6, .offset = (uint32_t)offsetof(FPRMSGNetworkRequestMetric__storage_, responseContentType), .flags = GPBFieldOptional, .dataType = GPBDataTypeString, }, { .name = "clientStartTimeUs", .dataTypeSpecific.clazz = Nil, .number = FPRMSGNetworkRequestMetric_FieldNumber_ClientStartTimeUs, .hasIndex = 7, .offset = (uint32_t)offsetof(FPRMSGNetworkRequestMetric__storage_, clientStartTimeUs), .flags = GPBFieldOptional, .dataType = GPBDataTypeInt64, }, { .name = "timeToRequestCompletedUs", .dataTypeSpecific.clazz = Nil, .number = FPRMSGNetworkRequestMetric_FieldNumber_TimeToRequestCompletedUs, .hasIndex = 8, .offset = (uint32_t)offsetof(FPRMSGNetworkRequestMetric__storage_, timeToRequestCompletedUs), .flags = GPBFieldOptional, .dataType = GPBDataTypeInt64, }, { .name = "timeToResponseInitiatedUs", .dataTypeSpecific.clazz = Nil, .number = FPRMSGNetworkRequestMetric_FieldNumber_TimeToResponseInitiatedUs, .hasIndex = 9, .offset = (uint32_t)offsetof(FPRMSGNetworkRequestMetric__storage_, timeToResponseInitiatedUs), .flags = GPBFieldOptional, .dataType = GPBDataTypeInt64, }, { .name = "timeToResponseCompletedUs", .dataTypeSpecific.clazz = Nil, .number = FPRMSGNetworkRequestMetric_FieldNumber_TimeToResponseCompletedUs, .hasIndex = 10, .offset = (uint32_t)offsetof(FPRMSGNetworkRequestMetric__storage_, timeToResponseCompletedUs), .flags = GPBFieldOptional, .dataType = GPBDataTypeInt64, }, { .name = "networkClientErrorReason", .dataTypeSpecific.enumDescFunc = FPRMSGNetworkRequestMetric_NetworkClientErrorReason_EnumDescriptor, .number = FPRMSGNetworkRequestMetric_FieldNumber_NetworkClientErrorReason, .hasIndex = 4, .offset = (uint32_t)offsetof(FPRMSGNetworkRequestMetric__storage_, networkClientErrorReason), .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldHasEnumDescriptor), .dataType = GPBDataTypeEnum, }, { .name = "customAttributes", .dataTypeSpecific.clazz = Nil, .number = FPRMSGNetworkRequestMetric_FieldNumber_CustomAttributes, .hasIndex = GPBNoHasBit, .offset = (uint32_t)offsetof(FPRMSGNetworkRequestMetric__storage_, customAttributes), .flags = GPBFieldMapKeyString, .dataType = GPBDataTypeString, }, { .name = "perfSessionsArray", .dataTypeSpecific.clazz = GPBObjCClass(FPRMSGPerfSession), .number = FPRMSGNetworkRequestMetric_FieldNumber_PerfSessionsArray, .hasIndex = GPBNoHasBit, .offset = (uint32_t)offsetof(FPRMSGNetworkRequestMetric__storage_, perfSessionsArray), .flags = GPBFieldRepeated, .dataType = GPBDataTypeMessage, }, }; GPBDescriptor *localDescriptor = [GPBDescriptor allocDescriptorForClass:[FPRMSGNetworkRequestMetric class] rootClass:[FPRMSGPerfMetricRoot class] file:FPRMSGPerfMetricRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) storageSize:sizeof(FPRMSGNetworkRequestMetric__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; #if !GPBOBJC_SKIP_MESSAGE_TEXTFORMAT_EXTRAS static const char *extraTextFormatInfo = "\003\001!!!\000\002!!!!\246\000\005!!!!\250\244\000"; [localDescriptor setupExtraTextInfo:extraTextFormatInfo]; #endif // !GPBOBJC_SKIP_MESSAGE_TEXTFORMAT_EXTRAS #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG descriptor = localDescriptor; } return descriptor; } @end #pragma mark - Enum FPRMSGNetworkRequestMetric_HttpMethod GPBEnumDescriptor *FPRMSGNetworkRequestMetric_HttpMethod_EnumDescriptor(void) { static _Atomic(GPBEnumDescriptor*) descriptor = nil; if (!descriptor) { static const char *valueNames = "HTTPMethodUnknown\000Get\000Put\000Post\000Delete\000He" "ad\000Patch\000Options\000Trace\000Connect\000"; static const int32_t values[] = { FPRMSGNetworkRequestMetric_HttpMethod_HTTPMethodUnknown, FPRMSGNetworkRequestMetric_HttpMethod_Get, FPRMSGNetworkRequestMetric_HttpMethod_Put, FPRMSGNetworkRequestMetric_HttpMethod_Post, FPRMSGNetworkRequestMetric_HttpMethod_Delete, FPRMSGNetworkRequestMetric_HttpMethod_Head, FPRMSGNetworkRequestMetric_HttpMethod_Patch, FPRMSGNetworkRequestMetric_HttpMethod_Options, FPRMSGNetworkRequestMetric_HttpMethod_Trace, FPRMSGNetworkRequestMetric_HttpMethod_Connect, }; static const char *extraTextFormatInfo = "\001\000\004\346\347\000"; GPBEnumDescriptor *worker = [GPBEnumDescriptor allocDescriptorForName:GPBNSStringifySymbol(FPRMSGNetworkRequestMetric_HttpMethod) valueNames:valueNames values:values count:(uint32_t)(sizeof(values) / sizeof(int32_t)) enumVerifier:FPRMSGNetworkRequestMetric_HttpMethod_IsValidValue extraTextFormatInfo:extraTextFormatInfo]; GPBEnumDescriptor *expected = nil; if (!atomic_compare_exchange_strong(&descriptor, &expected, worker)) { [worker release]; } } return descriptor; } BOOL FPRMSGNetworkRequestMetric_HttpMethod_IsValidValue(int32_t value__) { switch (value__) { case FPRMSGNetworkRequestMetric_HttpMethod_HTTPMethodUnknown: case FPRMSGNetworkRequestMetric_HttpMethod_Get: case FPRMSGNetworkRequestMetric_HttpMethod_Put: case FPRMSGNetworkRequestMetric_HttpMethod_Post: case FPRMSGNetworkRequestMetric_HttpMethod_Delete: case FPRMSGNetworkRequestMetric_HttpMethod_Head: case FPRMSGNetworkRequestMetric_HttpMethod_Patch: case FPRMSGNetworkRequestMetric_HttpMethod_Options: case FPRMSGNetworkRequestMetric_HttpMethod_Trace: case FPRMSGNetworkRequestMetric_HttpMethod_Connect: return YES; default: return NO; } } #pragma mark - Enum FPRMSGNetworkRequestMetric_NetworkClientErrorReason GPBEnumDescriptor *FPRMSGNetworkRequestMetric_NetworkClientErrorReason_EnumDescriptor(void) { static _Atomic(GPBEnumDescriptor*) descriptor = nil; if (!descriptor) { static const char *valueNames = "NetworkClientErrorReasonUnknown\000GenericC" "lientError\000"; static const int32_t values[] = { FPRMSGNetworkRequestMetric_NetworkClientErrorReason_NetworkClientErrorReasonUnknown, FPRMSGNetworkRequestMetric_NetworkClientErrorReason_GenericClientError, }; GPBEnumDescriptor *worker = [GPBEnumDescriptor allocDescriptorForName:GPBNSStringifySymbol(FPRMSGNetworkRequestMetric_NetworkClientErrorReason) valueNames:valueNames values:values count:(uint32_t)(sizeof(values) / sizeof(int32_t)) enumVerifier:FPRMSGNetworkRequestMetric_NetworkClientErrorReason_IsValidValue]; GPBEnumDescriptor *expected = nil; if (!atomic_compare_exchange_strong(&descriptor, &expected, worker)) { [worker release]; } } return descriptor; } BOOL FPRMSGNetworkRequestMetric_NetworkClientErrorReason_IsValidValue(int32_t value__) { switch (value__) { case FPRMSGNetworkRequestMetric_NetworkClientErrorReason_NetworkClientErrorReasonUnknown: case FPRMSGNetworkRequestMetric_NetworkClientErrorReason_GenericClientError: return YES; default: return NO; } } #pragma mark - FPRMSGPerfSession @implementation FPRMSGPerfSession @dynamic hasSessionId, sessionId; @dynamic sessionVerbosityArray, sessionVerbosityArray_Count; typedef struct FPRMSGPerfSession__storage_ { uint32_t _has_storage_[1]; NSString *sessionId; GPBEnumArray *sessionVerbosityArray; } FPRMSGPerfSession__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. + (GPBDescriptor *)descriptor { static GPBDescriptor *descriptor = nil; if (!descriptor) { static GPBMessageFieldDescription fields[] = { { .name = "sessionId", .dataTypeSpecific.clazz = Nil, .number = FPRMSGPerfSession_FieldNumber_SessionId, .hasIndex = 0, .offset = (uint32_t)offsetof(FPRMSGPerfSession__storage_, sessionId), .flags = GPBFieldOptional, .dataType = GPBDataTypeString, }, { .name = "sessionVerbosityArray", .dataTypeSpecific.enumDescFunc = FPRMSGSessionVerbosity_EnumDescriptor, .number = FPRMSGPerfSession_FieldNumber_SessionVerbosityArray, .hasIndex = GPBNoHasBit, .offset = (uint32_t)offsetof(FPRMSGPerfSession__storage_, sessionVerbosityArray), .flags = (GPBFieldFlags)(GPBFieldRepeated | GPBFieldHasEnumDescriptor), .dataType = GPBDataTypeEnum, }, }; GPBDescriptor *localDescriptor = [GPBDescriptor allocDescriptorForClass:[FPRMSGPerfSession class] rootClass:[FPRMSGPerfMetricRoot class] file:FPRMSGPerfMetricRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) storageSize:sizeof(FPRMSGPerfSession__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG descriptor = localDescriptor; } return descriptor; } @end #pragma mark - FPRMSGGaugeMetric @implementation FPRMSGGaugeMetric @dynamic hasSessionId, sessionId; @dynamic hasGaugeMetadata, gaugeMetadata; @dynamic cpuMetricReadingsArray, cpuMetricReadingsArray_Count; @dynamic androidMemoryReadingsArray, androidMemoryReadingsArray_Count; @dynamic iosMemoryReadingsArray, iosMemoryReadingsArray_Count; typedef struct FPRMSGGaugeMetric__storage_ { uint32_t _has_storage_[1]; NSString *sessionId; NSMutableArray *cpuMetricReadingsArray; FPRMSGGaugeMetadata *gaugeMetadata; NSMutableArray *androidMemoryReadingsArray; NSMutableArray *iosMemoryReadingsArray; } FPRMSGGaugeMetric__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. + (GPBDescriptor *)descriptor { static GPBDescriptor *descriptor = nil; if (!descriptor) { static GPBMessageFieldDescription fields[] = { { .name = "sessionId", .dataTypeSpecific.clazz = Nil, .number = FPRMSGGaugeMetric_FieldNumber_SessionId, .hasIndex = 0, .offset = (uint32_t)offsetof(FPRMSGGaugeMetric__storage_, sessionId), .flags = GPBFieldOptional, .dataType = GPBDataTypeString, }, { .name = "cpuMetricReadingsArray", .dataTypeSpecific.clazz = GPBObjCClass(FPRMSGCpuMetricReading), .number = FPRMSGGaugeMetric_FieldNumber_CpuMetricReadingsArray, .hasIndex = GPBNoHasBit, .offset = (uint32_t)offsetof(FPRMSGGaugeMetric__storage_, cpuMetricReadingsArray), .flags = GPBFieldRepeated, .dataType = GPBDataTypeMessage, }, { .name = "gaugeMetadata", .dataTypeSpecific.clazz = GPBObjCClass(FPRMSGGaugeMetadata), .number = FPRMSGGaugeMetric_FieldNumber_GaugeMetadata, .hasIndex = 1, .offset = (uint32_t)offsetof(FPRMSGGaugeMetric__storage_, gaugeMetadata), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, { .name = "androidMemoryReadingsArray", .dataTypeSpecific.clazz = GPBObjCClass(FPRMSGAndroidMemoryReading), .number = FPRMSGGaugeMetric_FieldNumber_AndroidMemoryReadingsArray, .hasIndex = GPBNoHasBit, .offset = (uint32_t)offsetof(FPRMSGGaugeMetric__storage_, androidMemoryReadingsArray), .flags = GPBFieldRepeated, .dataType = GPBDataTypeMessage, }, { .name = "iosMemoryReadingsArray", .dataTypeSpecific.clazz = GPBObjCClass(FPRMSGIosMemoryReading), .number = FPRMSGGaugeMetric_FieldNumber_IosMemoryReadingsArray, .hasIndex = GPBNoHasBit, .offset = (uint32_t)offsetof(FPRMSGGaugeMetric__storage_, iosMemoryReadingsArray), .flags = GPBFieldRepeated, .dataType = GPBDataTypeMessage, }, }; GPBDescriptor *localDescriptor = [GPBDescriptor allocDescriptorForClass:[FPRMSGGaugeMetric class] rootClass:[FPRMSGPerfMetricRoot class] file:FPRMSGPerfMetricRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) storageSize:sizeof(FPRMSGGaugeMetric__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG descriptor = localDescriptor; } return descriptor; } @end #pragma mark - FPRMSGCpuMetricReading @implementation FPRMSGCpuMetricReading @dynamic hasClientTimeUs, clientTimeUs; @dynamic hasUserTimeUs, userTimeUs; @dynamic hasSystemTimeUs, systemTimeUs; typedef struct FPRMSGCpuMetricReading__storage_ { uint32_t _has_storage_[1]; int64_t clientTimeUs; int64_t userTimeUs; int64_t systemTimeUs; } FPRMSGCpuMetricReading__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. + (GPBDescriptor *)descriptor { static GPBDescriptor *descriptor = nil; if (!descriptor) { static GPBMessageFieldDescription fields[] = { { .name = "clientTimeUs", .dataTypeSpecific.clazz = Nil, .number = FPRMSGCpuMetricReading_FieldNumber_ClientTimeUs, .hasIndex = 0, .offset = (uint32_t)offsetof(FPRMSGCpuMetricReading__storage_, clientTimeUs), .flags = GPBFieldOptional, .dataType = GPBDataTypeInt64, }, { .name = "userTimeUs", .dataTypeSpecific.clazz = Nil, .number = FPRMSGCpuMetricReading_FieldNumber_UserTimeUs, .hasIndex = 1, .offset = (uint32_t)offsetof(FPRMSGCpuMetricReading__storage_, userTimeUs), .flags = GPBFieldOptional, .dataType = GPBDataTypeInt64, }, { .name = "systemTimeUs", .dataTypeSpecific.clazz = Nil, .number = FPRMSGCpuMetricReading_FieldNumber_SystemTimeUs, .hasIndex = 2, .offset = (uint32_t)offsetof(FPRMSGCpuMetricReading__storage_, systemTimeUs), .flags = GPBFieldOptional, .dataType = GPBDataTypeInt64, }, }; GPBDescriptor *localDescriptor = [GPBDescriptor allocDescriptorForClass:[FPRMSGCpuMetricReading class] rootClass:[FPRMSGPerfMetricRoot class] file:FPRMSGPerfMetricRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) storageSize:sizeof(FPRMSGCpuMetricReading__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG descriptor = localDescriptor; } return descriptor; } @end #pragma mark - FPRMSGIosMemoryReading @implementation FPRMSGIosMemoryReading @dynamic hasClientTimeUs, clientTimeUs; @dynamic hasUsedAppHeapMemoryKb, usedAppHeapMemoryKb; @dynamic hasFreeAppHeapMemoryKb, freeAppHeapMemoryKb; typedef struct FPRMSGIosMemoryReading__storage_ { uint32_t _has_storage_[1]; int32_t usedAppHeapMemoryKb; int32_t freeAppHeapMemoryKb; int64_t clientTimeUs; } FPRMSGIosMemoryReading__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. + (GPBDescriptor *)descriptor { static GPBDescriptor *descriptor = nil; if (!descriptor) { static GPBMessageFieldDescription fields[] = { { .name = "clientTimeUs", .dataTypeSpecific.clazz = Nil, .number = FPRMSGIosMemoryReading_FieldNumber_ClientTimeUs, .hasIndex = 0, .offset = (uint32_t)offsetof(FPRMSGIosMemoryReading__storage_, clientTimeUs), .flags = GPBFieldOptional, .dataType = GPBDataTypeInt64, }, { .name = "usedAppHeapMemoryKb", .dataTypeSpecific.clazz = Nil, .number = FPRMSGIosMemoryReading_FieldNumber_UsedAppHeapMemoryKb, .hasIndex = 1, .offset = (uint32_t)offsetof(FPRMSGIosMemoryReading__storage_, usedAppHeapMemoryKb), .flags = GPBFieldOptional, .dataType = GPBDataTypeInt32, }, { .name = "freeAppHeapMemoryKb", .dataTypeSpecific.clazz = Nil, .number = FPRMSGIosMemoryReading_FieldNumber_FreeAppHeapMemoryKb, .hasIndex = 2, .offset = (uint32_t)offsetof(FPRMSGIosMemoryReading__storage_, freeAppHeapMemoryKb), .flags = GPBFieldOptional, .dataType = GPBDataTypeInt32, }, }; GPBDescriptor *localDescriptor = [GPBDescriptor allocDescriptorForClass:[FPRMSGIosMemoryReading class] rootClass:[FPRMSGPerfMetricRoot class] file:FPRMSGPerfMetricRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) storageSize:sizeof(FPRMSGIosMemoryReading__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG descriptor = localDescriptor; } return descriptor; } @end #pragma mark - FPRMSGAndroidMemoryReading @implementation FPRMSGAndroidMemoryReading @dynamic hasClientTimeUs, clientTimeUs; @dynamic hasUsedAppJavaHeapMemoryKb, usedAppJavaHeapMemoryKb; typedef struct FPRMSGAndroidMemoryReading__storage_ { uint32_t _has_storage_[1]; int32_t usedAppJavaHeapMemoryKb; int64_t clientTimeUs; } FPRMSGAndroidMemoryReading__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. + (GPBDescriptor *)descriptor { static GPBDescriptor *descriptor = nil; if (!descriptor) { static GPBMessageFieldDescription fields[] = { { .name = "clientTimeUs", .dataTypeSpecific.clazz = Nil, .number = FPRMSGAndroidMemoryReading_FieldNumber_ClientTimeUs, .hasIndex = 0, .offset = (uint32_t)offsetof(FPRMSGAndroidMemoryReading__storage_, clientTimeUs), .flags = GPBFieldOptional, .dataType = GPBDataTypeInt64, }, { .name = "usedAppJavaHeapMemoryKb", .dataTypeSpecific.clazz = Nil, .number = FPRMSGAndroidMemoryReading_FieldNumber_UsedAppJavaHeapMemoryKb, .hasIndex = 1, .offset = (uint32_t)offsetof(FPRMSGAndroidMemoryReading__storage_, usedAppJavaHeapMemoryKb), .flags = GPBFieldOptional, .dataType = GPBDataTypeInt32, }, }; GPBDescriptor *localDescriptor = [GPBDescriptor allocDescriptorForClass:[FPRMSGAndroidMemoryReading class] rootClass:[FPRMSGPerfMetricRoot class] file:FPRMSGPerfMetricRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) storageSize:sizeof(FPRMSGAndroidMemoryReading__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG descriptor = localDescriptor; } return descriptor; } @end #pragma mark - FPRMSGGaugeMetadata @implementation FPRMSGGaugeMetadata @dynamic hasProcessName, processName; @dynamic hasCpuClockRateKhz, cpuClockRateKhz; @dynamic hasCpuProcessorCount, cpuProcessorCount; @dynamic hasDeviceRamSizeKb, deviceRamSizeKb; @dynamic hasMaxAppJavaHeapMemoryKb, maxAppJavaHeapMemoryKb; @dynamic hasMaxEncouragedAppJavaHeapMemoryKb, maxEncouragedAppJavaHeapMemoryKb; typedef struct FPRMSGGaugeMetadata__storage_ { uint32_t _has_storage_[1]; int32_t cpuClockRateKhz; int32_t deviceRamSizeKb; int32_t maxAppJavaHeapMemoryKb; int32_t maxEncouragedAppJavaHeapMemoryKb; int32_t cpuProcessorCount; NSString *processName; } FPRMSGGaugeMetadata__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. + (GPBDescriptor *)descriptor { static GPBDescriptor *descriptor = nil; if (!descriptor) { static GPBMessageFieldDescription fields[] = { { .name = "processName", .dataTypeSpecific.clazz = Nil, .number = FPRMSGGaugeMetadata_FieldNumber_ProcessName, .hasIndex = 0, .offset = (uint32_t)offsetof(FPRMSGGaugeMetadata__storage_, processName), .flags = GPBFieldOptional, .dataType = GPBDataTypeString, }, { .name = "cpuClockRateKhz", .dataTypeSpecific.clazz = Nil, .number = FPRMSGGaugeMetadata_FieldNumber_CpuClockRateKhz, .hasIndex = 1, .offset = (uint32_t)offsetof(FPRMSGGaugeMetadata__storage_, cpuClockRateKhz), .flags = GPBFieldOptional, .dataType = GPBDataTypeInt32, }, { .name = "deviceRamSizeKb", .dataTypeSpecific.clazz = Nil, .number = FPRMSGGaugeMetadata_FieldNumber_DeviceRamSizeKb, .hasIndex = 3, .offset = (uint32_t)offsetof(FPRMSGGaugeMetadata__storage_, deviceRamSizeKb), .flags = GPBFieldOptional, .dataType = GPBDataTypeInt32, }, { .name = "maxAppJavaHeapMemoryKb", .dataTypeSpecific.clazz = Nil, .number = FPRMSGGaugeMetadata_FieldNumber_MaxAppJavaHeapMemoryKb, .hasIndex = 4, .offset = (uint32_t)offsetof(FPRMSGGaugeMetadata__storage_, maxAppJavaHeapMemoryKb), .flags = GPBFieldOptional, .dataType = GPBDataTypeInt32, }, { .name = "maxEncouragedAppJavaHeapMemoryKb", .dataTypeSpecific.clazz = Nil, .number = FPRMSGGaugeMetadata_FieldNumber_MaxEncouragedAppJavaHeapMemoryKb, .hasIndex = 5, .offset = (uint32_t)offsetof(FPRMSGGaugeMetadata__storage_, maxEncouragedAppJavaHeapMemoryKb), .flags = GPBFieldOptional, .dataType = GPBDataTypeInt32, }, { .name = "cpuProcessorCount", .dataTypeSpecific.clazz = Nil, .number = FPRMSGGaugeMetadata_FieldNumber_CpuProcessorCount, .hasIndex = 2, .offset = (uint32_t)offsetof(FPRMSGGaugeMetadata__storage_, cpuProcessorCount), .flags = GPBFieldOptional, .dataType = GPBDataTypeInt32, }, }; GPBDescriptor *localDescriptor = [GPBDescriptor allocDescriptorForClass:[FPRMSGGaugeMetadata class] rootClass:[FPRMSGPerfMetricRoot class] file:FPRMSGPerfMetricRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) storageSize:sizeof(FPRMSGGaugeMetadata__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG descriptor = localDescriptor; } return descriptor; } @end #pragma mark - FPRMSGApplicationInfo @implementation FPRMSGApplicationInfo @dynamic hasGoogleAppId, googleAppId; @dynamic hasAppInstanceId, appInstanceId; @dynamic hasAndroidAppInfo, androidAppInfo; @dynamic hasIosAppInfo, iosAppInfo; @dynamic hasWebAppInfo, webAppInfo; @dynamic hasApplicationProcessState, applicationProcessState; @dynamic customAttributes, customAttributes_Count; typedef struct FPRMSGApplicationInfo__storage_ { uint32_t _has_storage_[1]; FPRMSGApplicationProcessState applicationProcessState; NSString *googleAppId; NSString *appInstanceId; FPRMSGAndroidApplicationInfo *androidAppInfo; FPRMSGIosApplicationInfo *iosAppInfo; NSMutableDictionary *customAttributes; FPRMSGWebApplicationInfo *webAppInfo; } FPRMSGApplicationInfo__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. + (GPBDescriptor *)descriptor { static GPBDescriptor *descriptor = nil; if (!descriptor) { static GPBMessageFieldDescription fields[] = { { .name = "googleAppId", .dataTypeSpecific.clazz = Nil, .number = FPRMSGApplicationInfo_FieldNumber_GoogleAppId, .hasIndex = 0, .offset = (uint32_t)offsetof(FPRMSGApplicationInfo__storage_, googleAppId), .flags = GPBFieldOptional, .dataType = GPBDataTypeString, }, { .name = "appInstanceId", .dataTypeSpecific.clazz = Nil, .number = FPRMSGApplicationInfo_FieldNumber_AppInstanceId, .hasIndex = 1, .offset = (uint32_t)offsetof(FPRMSGApplicationInfo__storage_, appInstanceId), .flags = GPBFieldOptional, .dataType = GPBDataTypeString, }, { .name = "androidAppInfo", .dataTypeSpecific.clazz = GPBObjCClass(FPRMSGAndroidApplicationInfo), .number = FPRMSGApplicationInfo_FieldNumber_AndroidAppInfo, .hasIndex = 2, .offset = (uint32_t)offsetof(FPRMSGApplicationInfo__storage_, androidAppInfo), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, { .name = "iosAppInfo", .dataTypeSpecific.clazz = GPBObjCClass(FPRMSGIosApplicationInfo), .number = FPRMSGApplicationInfo_FieldNumber_IosAppInfo, .hasIndex = 3, .offset = (uint32_t)offsetof(FPRMSGApplicationInfo__storage_, iosAppInfo), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, { .name = "applicationProcessState", .dataTypeSpecific.enumDescFunc = FPRMSGApplicationProcessState_EnumDescriptor, .number = FPRMSGApplicationInfo_FieldNumber_ApplicationProcessState, .hasIndex = 5, .offset = (uint32_t)offsetof(FPRMSGApplicationInfo__storage_, applicationProcessState), .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldHasEnumDescriptor), .dataType = GPBDataTypeEnum, }, { .name = "customAttributes", .dataTypeSpecific.clazz = Nil, .number = FPRMSGApplicationInfo_FieldNumber_CustomAttributes, .hasIndex = GPBNoHasBit, .offset = (uint32_t)offsetof(FPRMSGApplicationInfo__storage_, customAttributes), .flags = GPBFieldMapKeyString, .dataType = GPBDataTypeString, }, { .name = "webAppInfo", .dataTypeSpecific.clazz = GPBObjCClass(FPRMSGWebApplicationInfo), .number = FPRMSGApplicationInfo_FieldNumber_WebAppInfo, .hasIndex = 4, .offset = (uint32_t)offsetof(FPRMSGApplicationInfo__storage_, webAppInfo), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, }; GPBDescriptor *localDescriptor = [GPBDescriptor allocDescriptorForClass:[FPRMSGApplicationInfo class] rootClass:[FPRMSGPerfMetricRoot class] file:FPRMSGPerfMetricRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) storageSize:sizeof(FPRMSGApplicationInfo__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG descriptor = localDescriptor; } return descriptor; } @end #pragma mark - FPRMSGWebApplicationInfo @implementation FPRMSGWebApplicationInfo @dynamic hasSdkVersion, sdkVersion; @dynamic hasPageURL, pageURL; @dynamic hasServiceWorkerStatus, serviceWorkerStatus; @dynamic hasVisibilityState, visibilityState; @dynamic hasEffectiveConnectionType, effectiveConnectionType; typedef struct FPRMSGWebApplicationInfo__storage_ { uint32_t _has_storage_[1]; FPRMSGServiceWorkerStatus serviceWorkerStatus; FPRMSGVisibilityState visibilityState; FPRMSGEffectiveConnectionType effectiveConnectionType; NSString *sdkVersion; NSString *pageURL; } FPRMSGWebApplicationInfo__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. + (GPBDescriptor *)descriptor { static GPBDescriptor *descriptor = nil; if (!descriptor) { static GPBMessageFieldDescription fields[] = { { .name = "sdkVersion", .dataTypeSpecific.clazz = Nil, .number = FPRMSGWebApplicationInfo_FieldNumber_SdkVersion, .hasIndex = 0, .offset = (uint32_t)offsetof(FPRMSGWebApplicationInfo__storage_, sdkVersion), .flags = GPBFieldOptional, .dataType = GPBDataTypeString, }, { .name = "pageURL", .dataTypeSpecific.clazz = Nil, .number = FPRMSGWebApplicationInfo_FieldNumber_PageURL, .hasIndex = 1, .offset = (uint32_t)offsetof(FPRMSGWebApplicationInfo__storage_, pageURL), .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom), .dataType = GPBDataTypeString, }, { .name = "serviceWorkerStatus", .dataTypeSpecific.enumDescFunc = FPRMSGServiceWorkerStatus_EnumDescriptor, .number = FPRMSGWebApplicationInfo_FieldNumber_ServiceWorkerStatus, .hasIndex = 2, .offset = (uint32_t)offsetof(FPRMSGWebApplicationInfo__storage_, serviceWorkerStatus), .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldHasEnumDescriptor), .dataType = GPBDataTypeEnum, }, { .name = "visibilityState", .dataTypeSpecific.enumDescFunc = FPRMSGVisibilityState_EnumDescriptor, .number = FPRMSGWebApplicationInfo_FieldNumber_VisibilityState, .hasIndex = 3, .offset = (uint32_t)offsetof(FPRMSGWebApplicationInfo__storage_, visibilityState), .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldHasEnumDescriptor), .dataType = GPBDataTypeEnum, }, { .name = "effectiveConnectionType", .dataTypeSpecific.enumDescFunc = FPRMSGEffectiveConnectionType_EnumDescriptor, .number = FPRMSGWebApplicationInfo_FieldNumber_EffectiveConnectionType, .hasIndex = 4, .offset = (uint32_t)offsetof(FPRMSGWebApplicationInfo__storage_, effectiveConnectionType), .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldHasEnumDescriptor), .dataType = GPBDataTypeEnum, }, }; GPBDescriptor *localDescriptor = [GPBDescriptor allocDescriptorForClass:[FPRMSGWebApplicationInfo class] rootClass:[FPRMSGPerfMetricRoot class] file:FPRMSGPerfMetricRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) storageSize:sizeof(FPRMSGWebApplicationInfo__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; #if !GPBOBJC_SKIP_MESSAGE_TEXTFORMAT_EXTRAS static const char *extraTextFormatInfo = "\001\002\004\241!!\000"; [localDescriptor setupExtraTextInfo:extraTextFormatInfo]; #endif // !GPBOBJC_SKIP_MESSAGE_TEXTFORMAT_EXTRAS #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG descriptor = localDescriptor; } return descriptor; } @end #pragma mark - FPRMSGAndroidApplicationInfo @implementation FPRMSGAndroidApplicationInfo @dynamic hasPackageName, packageName; @dynamic hasSdkVersion, sdkVersion; @dynamic hasVersionName, versionName; typedef struct FPRMSGAndroidApplicationInfo__storage_ { uint32_t _has_storage_[1]; NSString *packageName; NSString *sdkVersion; NSString *versionName; } FPRMSGAndroidApplicationInfo__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. + (GPBDescriptor *)descriptor { static GPBDescriptor *descriptor = nil; if (!descriptor) { static GPBMessageFieldDescription fields[] = { { .name = "packageName", .dataTypeSpecific.clazz = Nil, .number = FPRMSGAndroidApplicationInfo_FieldNumber_PackageName, .hasIndex = 0, .offset = (uint32_t)offsetof(FPRMSGAndroidApplicationInfo__storage_, packageName), .flags = GPBFieldOptional, .dataType = GPBDataTypeString, }, { .name = "sdkVersion", .dataTypeSpecific.clazz = Nil, .number = FPRMSGAndroidApplicationInfo_FieldNumber_SdkVersion, .hasIndex = 1, .offset = (uint32_t)offsetof(FPRMSGAndroidApplicationInfo__storage_, sdkVersion), .flags = GPBFieldOptional, .dataType = GPBDataTypeString, }, { .name = "versionName", .dataTypeSpecific.clazz = Nil, .number = FPRMSGAndroidApplicationInfo_FieldNumber_VersionName, .hasIndex = 2, .offset = (uint32_t)offsetof(FPRMSGAndroidApplicationInfo__storage_, versionName), .flags = GPBFieldOptional, .dataType = GPBDataTypeString, }, }; GPBDescriptor *localDescriptor = [GPBDescriptor allocDescriptorForClass:[FPRMSGAndroidApplicationInfo class] rootClass:[FPRMSGPerfMetricRoot class] file:FPRMSGPerfMetricRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) storageSize:sizeof(FPRMSGAndroidApplicationInfo__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG descriptor = localDescriptor; } return descriptor; } @end #pragma mark - FPRMSGNetworkConnectionInfo @implementation FPRMSGNetworkConnectionInfo @dynamic hasNetworkType, networkType; @dynamic hasMobileSubtype, mobileSubtype; typedef struct FPRMSGNetworkConnectionInfo__storage_ { uint32_t _has_storage_[1]; FPRMSGNetworkConnectionInfo_NetworkType networkType; FPRMSGNetworkConnectionInfo_MobileSubtype mobileSubtype; } FPRMSGNetworkConnectionInfo__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. + (GPBDescriptor *)descriptor { static GPBDescriptor *descriptor = nil; if (!descriptor) { static GPBMessageFieldDescriptionWithDefault fields[] = { { .defaultValue.valueEnum = FPRMSGNetworkConnectionInfo_NetworkType_None, .core.name = "networkType", .core.dataTypeSpecific.enumDescFunc = FPRMSGNetworkConnectionInfo_NetworkType_EnumDescriptor, .core.number = FPRMSGNetworkConnectionInfo_FieldNumber_NetworkType, .core.hasIndex = 0, .core.offset = (uint32_t)offsetof(FPRMSGNetworkConnectionInfo__storage_, networkType), .core.flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldHasDefaultValue | GPBFieldHasEnumDescriptor), .core.dataType = GPBDataTypeEnum, }, { .defaultValue.valueEnum = FPRMSGNetworkConnectionInfo_MobileSubtype_UnknownMobileSubtype, .core.name = "mobileSubtype", .core.dataTypeSpecific.enumDescFunc = FPRMSGNetworkConnectionInfo_MobileSubtype_EnumDescriptor, .core.number = FPRMSGNetworkConnectionInfo_FieldNumber_MobileSubtype, .core.hasIndex = 1, .core.offset = (uint32_t)offsetof(FPRMSGNetworkConnectionInfo__storage_, mobileSubtype), .core.flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldHasDefaultValue | GPBFieldHasEnumDescriptor), .core.dataType = GPBDataTypeEnum, }, }; GPBDescriptor *localDescriptor = [GPBDescriptor allocDescriptorForClass:[FPRMSGNetworkConnectionInfo class] rootClass:[FPRMSGPerfMetricRoot class] file:FPRMSGPerfMetricRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescriptionWithDefault)) storageSize:sizeof(FPRMSGNetworkConnectionInfo__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown | GPBDescriptorInitializationFlag_FieldsWithDefault)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG descriptor = localDescriptor; } return descriptor; } @end #pragma mark - Enum FPRMSGNetworkConnectionInfo_NetworkType GPBEnumDescriptor *FPRMSGNetworkConnectionInfo_NetworkType_EnumDescriptor(void) { static _Atomic(GPBEnumDescriptor*) descriptor = nil; if (!descriptor) { static const char *valueNames = "None\000Mobile\000Wifi\000MobileMms\000MobileSupl\000Mo" "bileDun\000MobileHipri\000Wimax\000Bluetooth\000Dumm" "y\000Ethernet\000MobileFota\000MobileIms\000MobileCb" "s\000WifiP2P\000MobileIa\000MobileEmergency\000Proxy" "\000Vpn\000"; static const int32_t values[] = { FPRMSGNetworkConnectionInfo_NetworkType_None, FPRMSGNetworkConnectionInfo_NetworkType_Mobile, FPRMSGNetworkConnectionInfo_NetworkType_Wifi, FPRMSGNetworkConnectionInfo_NetworkType_MobileMms, FPRMSGNetworkConnectionInfo_NetworkType_MobileSupl, FPRMSGNetworkConnectionInfo_NetworkType_MobileDun, FPRMSGNetworkConnectionInfo_NetworkType_MobileHipri, FPRMSGNetworkConnectionInfo_NetworkType_Wimax, FPRMSGNetworkConnectionInfo_NetworkType_Bluetooth, FPRMSGNetworkConnectionInfo_NetworkType_Dummy, FPRMSGNetworkConnectionInfo_NetworkType_Ethernet, FPRMSGNetworkConnectionInfo_NetworkType_MobileFota, FPRMSGNetworkConnectionInfo_NetworkType_MobileIms, FPRMSGNetworkConnectionInfo_NetworkType_MobileCbs, FPRMSGNetworkConnectionInfo_NetworkType_WifiP2P, FPRMSGNetworkConnectionInfo_NetworkType_MobileIa, FPRMSGNetworkConnectionInfo_NetworkType_MobileEmergency, FPRMSGNetworkConnectionInfo_NetworkType_Proxy, FPRMSGNetworkConnectionInfo_NetworkType_Vpn, }; static const char *extraTextFormatInfo = "\001\016d\203\000"; GPBEnumDescriptor *worker = [GPBEnumDescriptor allocDescriptorForName:GPBNSStringifySymbol(FPRMSGNetworkConnectionInfo_NetworkType) valueNames:valueNames values:values count:(uint32_t)(sizeof(values) / sizeof(int32_t)) enumVerifier:FPRMSGNetworkConnectionInfo_NetworkType_IsValidValue extraTextFormatInfo:extraTextFormatInfo]; GPBEnumDescriptor *expected = nil; if (!atomic_compare_exchange_strong(&descriptor, &expected, worker)) { [worker release]; } } return descriptor; } BOOL FPRMSGNetworkConnectionInfo_NetworkType_IsValidValue(int32_t value__) { switch (value__) { case FPRMSGNetworkConnectionInfo_NetworkType_None: case FPRMSGNetworkConnectionInfo_NetworkType_Mobile: case FPRMSGNetworkConnectionInfo_NetworkType_Wifi: case FPRMSGNetworkConnectionInfo_NetworkType_MobileMms: case FPRMSGNetworkConnectionInfo_NetworkType_MobileSupl: case FPRMSGNetworkConnectionInfo_NetworkType_MobileDun: case FPRMSGNetworkConnectionInfo_NetworkType_MobileHipri: case FPRMSGNetworkConnectionInfo_NetworkType_Wimax: case FPRMSGNetworkConnectionInfo_NetworkType_Bluetooth: case FPRMSGNetworkConnectionInfo_NetworkType_Dummy: case FPRMSGNetworkConnectionInfo_NetworkType_Ethernet: case FPRMSGNetworkConnectionInfo_NetworkType_MobileFota: case FPRMSGNetworkConnectionInfo_NetworkType_MobileIms: case FPRMSGNetworkConnectionInfo_NetworkType_MobileCbs: case FPRMSGNetworkConnectionInfo_NetworkType_WifiP2P: case FPRMSGNetworkConnectionInfo_NetworkType_MobileIa: case FPRMSGNetworkConnectionInfo_NetworkType_MobileEmergency: case FPRMSGNetworkConnectionInfo_NetworkType_Proxy: case FPRMSGNetworkConnectionInfo_NetworkType_Vpn: return YES; default: return NO; } } #pragma mark - Enum FPRMSGNetworkConnectionInfo_MobileSubtype GPBEnumDescriptor *FPRMSGNetworkConnectionInfo_MobileSubtype_EnumDescriptor(void) { static _Atomic(GPBEnumDescriptor*) descriptor = nil; if (!descriptor) { static const char *valueNames = "UnknownMobileSubtype\000Gprs\000Edge\000Umts\000Cdma" "\000Evdo0\000EvdoA\000Rtt\000Hsdpa\000Hsupa\000Hspa\000Iden\000E" "vdoB\000Lte\000Ehrpd\000Hspap\000Gsm\000TdScdma\000Iwlan\000L" "teCa\000Combined\000"; static const int32_t values[] = { FPRMSGNetworkConnectionInfo_MobileSubtype_UnknownMobileSubtype, FPRMSGNetworkConnectionInfo_MobileSubtype_Gprs, FPRMSGNetworkConnectionInfo_MobileSubtype_Edge, FPRMSGNetworkConnectionInfo_MobileSubtype_Umts, FPRMSGNetworkConnectionInfo_MobileSubtype_Cdma, FPRMSGNetworkConnectionInfo_MobileSubtype_Evdo0, FPRMSGNetworkConnectionInfo_MobileSubtype_EvdoA, FPRMSGNetworkConnectionInfo_MobileSubtype_Rtt, FPRMSGNetworkConnectionInfo_MobileSubtype_Hsdpa, FPRMSGNetworkConnectionInfo_MobileSubtype_Hsupa, FPRMSGNetworkConnectionInfo_MobileSubtype_Hspa, FPRMSGNetworkConnectionInfo_MobileSubtype_Iden, FPRMSGNetworkConnectionInfo_MobileSubtype_EvdoB, FPRMSGNetworkConnectionInfo_MobileSubtype_Lte, FPRMSGNetworkConnectionInfo_MobileSubtype_Ehrpd, FPRMSGNetworkConnectionInfo_MobileSubtype_Hspap, FPRMSGNetworkConnectionInfo_MobileSubtype_Gsm, FPRMSGNetworkConnectionInfo_MobileSubtype_TdScdma, FPRMSGNetworkConnectionInfo_MobileSubtype_Iwlan, FPRMSGNetworkConnectionInfo_MobileSubtype_LteCa, FPRMSGNetworkConnectionInfo_MobileSubtype_Combined, }; static const char *extraTextFormatInfo = "\001\005d\201\000"; GPBEnumDescriptor *worker = [GPBEnumDescriptor allocDescriptorForName:GPBNSStringifySymbol(FPRMSGNetworkConnectionInfo_MobileSubtype) valueNames:valueNames values:values count:(uint32_t)(sizeof(values) / sizeof(int32_t)) enumVerifier:FPRMSGNetworkConnectionInfo_MobileSubtype_IsValidValue extraTextFormatInfo:extraTextFormatInfo]; GPBEnumDescriptor *expected = nil; if (!atomic_compare_exchange_strong(&descriptor, &expected, worker)) { [worker release]; } } return descriptor; } BOOL FPRMSGNetworkConnectionInfo_MobileSubtype_IsValidValue(int32_t value__) { switch (value__) { case FPRMSGNetworkConnectionInfo_MobileSubtype_UnknownMobileSubtype: case FPRMSGNetworkConnectionInfo_MobileSubtype_Gprs: case FPRMSGNetworkConnectionInfo_MobileSubtype_Edge: case FPRMSGNetworkConnectionInfo_MobileSubtype_Umts: case FPRMSGNetworkConnectionInfo_MobileSubtype_Cdma: case FPRMSGNetworkConnectionInfo_MobileSubtype_Evdo0: case FPRMSGNetworkConnectionInfo_MobileSubtype_EvdoA: case FPRMSGNetworkConnectionInfo_MobileSubtype_Rtt: case FPRMSGNetworkConnectionInfo_MobileSubtype_Hsdpa: case FPRMSGNetworkConnectionInfo_MobileSubtype_Hsupa: case FPRMSGNetworkConnectionInfo_MobileSubtype_Hspa: case FPRMSGNetworkConnectionInfo_MobileSubtype_Iden: case FPRMSGNetworkConnectionInfo_MobileSubtype_EvdoB: case FPRMSGNetworkConnectionInfo_MobileSubtype_Lte: case FPRMSGNetworkConnectionInfo_MobileSubtype_Ehrpd: case FPRMSGNetworkConnectionInfo_MobileSubtype_Hspap: case FPRMSGNetworkConnectionInfo_MobileSubtype_Gsm: case FPRMSGNetworkConnectionInfo_MobileSubtype_TdScdma: case FPRMSGNetworkConnectionInfo_MobileSubtype_Iwlan: case FPRMSGNetworkConnectionInfo_MobileSubtype_LteCa: case FPRMSGNetworkConnectionInfo_MobileSubtype_Combined: return YES; default: return NO; } } #pragma mark - FPRMSGIosApplicationInfo @implementation FPRMSGIosApplicationInfo @dynamic hasSdkVersion, sdkVersion; @dynamic hasBundleShortVersion, bundleShortVersion; @dynamic hasMccMnc, mccMnc; @dynamic hasNetworkConnectionInfo, networkConnectionInfo; typedef struct FPRMSGIosApplicationInfo__storage_ { uint32_t _has_storage_[1]; NSString *sdkVersion; NSString *bundleShortVersion; NSString *mccMnc; FPRMSGNetworkConnectionInfo *networkConnectionInfo; } FPRMSGIosApplicationInfo__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. + (GPBDescriptor *)descriptor { static GPBDescriptor *descriptor = nil; if (!descriptor) { static GPBMessageFieldDescription fields[] = { { .name = "sdkVersion", .dataTypeSpecific.clazz = Nil, .number = FPRMSGIosApplicationInfo_FieldNumber_SdkVersion, .hasIndex = 0, .offset = (uint32_t)offsetof(FPRMSGIosApplicationInfo__storage_, sdkVersion), .flags = GPBFieldOptional, .dataType = GPBDataTypeString, }, { .name = "bundleShortVersion", .dataTypeSpecific.clazz = Nil, .number = FPRMSGIosApplicationInfo_FieldNumber_BundleShortVersion, .hasIndex = 1, .offset = (uint32_t)offsetof(FPRMSGIosApplicationInfo__storage_, bundleShortVersion), .flags = GPBFieldOptional, .dataType = GPBDataTypeString, }, { .name = "mccMnc", .dataTypeSpecific.clazz = Nil, .number = FPRMSGIosApplicationInfo_FieldNumber_MccMnc, .hasIndex = 2, .offset = (uint32_t)offsetof(FPRMSGIosApplicationInfo__storage_, mccMnc), .flags = GPBFieldOptional, .dataType = GPBDataTypeString, }, { .name = "networkConnectionInfo", .dataTypeSpecific.clazz = GPBObjCClass(FPRMSGNetworkConnectionInfo), .number = FPRMSGIosApplicationInfo_FieldNumber_NetworkConnectionInfo, .hasIndex = 3, .offset = (uint32_t)offsetof(FPRMSGIosApplicationInfo__storage_, networkConnectionInfo), .flags = GPBFieldOptional, .dataType = GPBDataTypeMessage, }, }; GPBDescriptor *localDescriptor = [GPBDescriptor allocDescriptorForClass:[FPRMSGIosApplicationInfo class] rootClass:[FPRMSGPerfMetricRoot class] file:FPRMSGPerfMetricRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) storageSize:sizeof(FPRMSGIosApplicationInfo__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG descriptor = localDescriptor; } return descriptor; } @end #pragma mark - FPRMSGTransportInfo @implementation FPRMSGTransportInfo @dynamic hasDispatchDestination, dispatchDestination; typedef struct FPRMSGTransportInfo__storage_ { uint32_t _has_storage_[1]; FPRMSGTransportInfo_DispatchDestination dispatchDestination; } FPRMSGTransportInfo__storage_; // This method is threadsafe because it is initially called // in +initialize for each subclass. + (GPBDescriptor *)descriptor { static GPBDescriptor *descriptor = nil; if (!descriptor) { static GPBMessageFieldDescription fields[] = { { .name = "dispatchDestination", .dataTypeSpecific.enumDescFunc = FPRMSGTransportInfo_DispatchDestination_EnumDescriptor, .number = FPRMSGTransportInfo_FieldNumber_DispatchDestination, .hasIndex = 0, .offset = (uint32_t)offsetof(FPRMSGTransportInfo__storage_, dispatchDestination), .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldHasEnumDescriptor), .dataType = GPBDataTypeEnum, }, }; GPBDescriptor *localDescriptor = [GPBDescriptor allocDescriptorForClass:[FPRMSGTransportInfo class] rootClass:[FPRMSGPerfMetricRoot class] file:FPRMSGPerfMetricRoot_FileDescriptor() fields:fields fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) storageSize:sizeof(FPRMSGTransportInfo__storage_) flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; #if defined(DEBUG) && DEBUG NSAssert(descriptor == nil, @"Startup recursed!"); #endif // DEBUG descriptor = localDescriptor; } return descriptor; } @end #pragma mark - Enum FPRMSGTransportInfo_DispatchDestination GPBEnumDescriptor *FPRMSGTransportInfo_DispatchDestination_EnumDescriptor(void) { static _Atomic(GPBEnumDescriptor*) descriptor = nil; if (!descriptor) { static const char *valueNames = "SourceUnknown\000FlLegacyV1\000"; static const int32_t values[] = { FPRMSGTransportInfo_DispatchDestination_SourceUnknown, FPRMSGTransportInfo_DispatchDestination_FlLegacyV1, }; GPBEnumDescriptor *worker = [GPBEnumDescriptor allocDescriptorForName:GPBNSStringifySymbol(FPRMSGTransportInfo_DispatchDestination) valueNames:valueNames values:values count:(uint32_t)(sizeof(values) / sizeof(int32_t)) enumVerifier:FPRMSGTransportInfo_DispatchDestination_IsValidValue]; GPBEnumDescriptor *expected = nil; if (!atomic_compare_exchange_strong(&descriptor, &expected, worker)) { [worker release]; } } return descriptor; } BOOL FPRMSGTransportInfo_DispatchDestination_IsValidValue(int32_t value__) { switch (value__) { case FPRMSGTransportInfo_DispatchDestination_SourceUnknown: case FPRMSGTransportInfo_DispatchDestination_FlLegacyV1: return YES; default: return NO; } } #pragma clang diagnostic pop // @@protoc_insertion_point(global_scope)