// Generated by the protocol buffer compiler. DO NOT EDIT! // source: google/protobuf/timestamp.proto #import "GPBProtocolBuffers_RuntimeSupport.h" #import "google/protobuf/Timestamp.pbobjc.h" #pragma mark - GPBTimestampRoot @implementation GPBTimestampRoot @end static GPBFileDescriptor *GPBTimestampRoot_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) { descriptor = [[GPBFileDescriptor alloc] initWithPackage:@"google.protobuf" syntax:GPBFileSyntaxProto3]; } return descriptor; } #pragma mark - GPBTimestamp @implementation GPBTimestamp @dynamic seconds; @dynamic nanos; typedef struct GPBTimestamp_Storage { uint32_t _has_storage_[1]; int32_t nanos; int64_t seconds; } GPBTimestamp_Storage; // This method is threadsafe because it is initially called // in +initialize for each subclass. + (GPBDescriptor *)descriptor { static GPBDescriptor *descriptor = NULL; if (!descriptor) { static GPBMessageFieldDescription fields[] = { { .name = "seconds", .number = GPBTimestamp_FieldNumber_Seconds, .hasIndex = 0, .flags = GPBFieldOptional, .type = GPBTypeInt64, .offset = offsetof(GPBTimestamp_Storage, seconds), .defaultValue.valueInt64 = 0LL, .typeSpecific.className = NULL, .fieldOptions = NULL, }, { .name = "nanos", .number = GPBTimestamp_FieldNumber_Nanos, .hasIndex = 1, .flags = GPBFieldOptional, .type = GPBTypeInt32, .offset = offsetof(GPBTimestamp_Storage, nanos), .defaultValue.valueInt32 = 0, .typeSpecific.className = NULL, .fieldOptions = NULL, }, }; descriptor = [GPBDescriptor allocDescriptorForClass:[GPBTimestamp class] rootClass:[GPBTimestampRoot class] file:GPBTimestampRoot_FileDescriptor() fields:fields fieldCount:sizeof(fields) / sizeof(GPBMessageFieldDescription) oneofs:NULL oneofCount:0 enums:NULL enumCount:0 ranges:NULL rangeCount:0 storageSize:sizeof(GPBTimestamp_Storage) wireFormat:NO]; } return descriptor; } @end