|  | // Generated by the protocol buffer compiler.  DO NOT EDIT! | 
|  | // NO CHECKED-IN PROTOBUF GENCODE | 
|  | // clang-format off | 
|  | // source: google/protobuf/duration.proto | 
|  |  | 
|  | #import "GPBProtocolBuffers_RuntimeSupport.h" | 
|  | #import "GPBWellKnownTypes.h" | 
|  | #import "GPBDuration.pbobjc.h" | 
|  |  | 
|  | #if GOOGLE_PROTOBUF_OBJC_VERSION < 40311 | 
|  | #error This file was generated by a newer version of protoc which is incompatible with your Protocol Buffer library sources. | 
|  | #endif | 
|  | #if 40311 < GOOGLE_PROTOBUF_OBJC_MIN_SUPPORTED_VERSION | 
|  | #error This file was generated by an older version of protoc which is incompatible with your Protocol Buffer library sources. | 
|  | #endif | 
|  |  | 
|  | // @@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(GPBDuration); | 
|  |  | 
|  | #pragma mark - GPBDurationRoot | 
|  |  | 
|  | @implementation GPBDurationRoot | 
|  |  | 
|  | // No extensions in the file and no imports or none of the imports (direct or | 
|  | // indirect) defined extensions, so no need to generate +extensionRegistry. | 
|  |  | 
|  | @end | 
|  |  | 
|  | static GPBFilePackageAndPrefix GPBDurationRoot_FileDescription = { | 
|  | .package = "google.protobuf", | 
|  | .prefix = "GPB" | 
|  | }; | 
|  |  | 
|  | // This is to help make sure that the GPBWellKnownTypes.* categories get linked and | 
|  | // developers do not have to use the `-ObjC` linker flag. More information | 
|  | // here: https://medium.com/ios-os-x-development/categories-in-static-libraries-78e41f8ddb96 | 
|  | __attribute__((used)) static NSString* duration_importCategories(void) { | 
|  | return GPBWellKnownTypesErrorDomain; | 
|  | } | 
|  |  | 
|  | #pragma mark - GPBDuration | 
|  |  | 
|  | @implementation GPBDuration | 
|  |  | 
|  | @dynamic seconds; | 
|  | @dynamic nanos; | 
|  |  | 
|  | typedef struct GPBDuration__storage_ { | 
|  | uint32_t _has_storage_[1]; | 
|  | int32_t nanos; | 
|  | int64_t seconds; | 
|  | } GPBDuration__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 = "seconds", | 
|  | .dataTypeSpecific.clazz = Nil, | 
|  | .number = GPBDuration_FieldNumber_Seconds, | 
|  | .hasIndex = 0, | 
|  | .offset = (uint32_t)offsetof(GPBDuration__storage_, seconds), | 
|  | .flags = GPBFieldClearHasIvarOnZero, | 
|  | .dataType = GPBDataTypeInt64, | 
|  | }, | 
|  | { | 
|  | .name = "nanos", | 
|  | .dataTypeSpecific.clazz = Nil, | 
|  | .number = GPBDuration_FieldNumber_Nanos, | 
|  | .hasIndex = 1, | 
|  | .offset = (uint32_t)offsetof(GPBDuration__storage_, nanos), | 
|  | .flags = GPBFieldClearHasIvarOnZero, | 
|  | .dataType = GPBDataTypeInt32, | 
|  | }, | 
|  | }; | 
|  | GPBDescriptor *localDescriptor = | 
|  | [GPBDescriptor allocDescriptorForClass:GPBObjCClass(GPBDuration) | 
|  | messageName:@"Duration" | 
|  | runtimeSupport:&GOOGLE_PROTOBUF_OBJC_EXPECTED_GENCODE_VERSION_40311 | 
|  | fileDescription:&GPBDurationRoot_FileDescription | 
|  | fields:fields | 
|  | fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) | 
|  | storageSize:sizeof(GPBDuration__storage_) | 
|  | flags:GPBDescriptorInitializationFlag_None]; | 
|  | #if defined(DEBUG) && DEBUG | 
|  | NSAssert(descriptor == nil, @"Startup recursed!"); | 
|  | #endif  // DEBUG | 
|  | descriptor = localDescriptor; | 
|  | } | 
|  | return descriptor; | 
|  | } | 
|  |  | 
|  | @end | 
|  |  | 
|  |  | 
|  | #pragma clang diagnostic pop | 
|  |  | 
|  | // @@protoc_insertion_point(global_scope) | 
|  |  | 
|  | // clang-format on |