1// Generated by the protocol buffer compiler. DO NOT EDIT! 2// source: google/protobuf/struct.proto 3 4#import "GPBProtocolBuffers_RuntimeSupport.h" 5#import "GPBStruct.pbobjc.h" 6 7#import <stdatomic.h> 8 9// @@protoc_insertion_point(imports) 10 11#pragma clang diagnostic push 12#pragma clang diagnostic ignored "-Wdeprecated-declarations" 13#pragma clang diagnostic ignored "-Wdirect-ivar-access" 14#pragma clang diagnostic ignored "-Wdollar-in-identifier-extension" 15 16#pragma mark - Objective C Class declarations 17// Forward declarations of Objective C classes that we can use as 18// static values in struct initializers. 19// We don't use [Foo class] because it is not a static value. 20GPBObjCClassDeclaration(GPBListValue); 21GPBObjCClassDeclaration(GPBStruct); 22GPBObjCClassDeclaration(GPBValue); 23 24#pragma mark - GPBStructRoot 25 26@implementation GPBStructRoot 27 28// No extensions in the file and no imports, so no need to generate 29// +extensionRegistry. 30 31@end 32 33#pragma mark - GPBStructRoot_FileDescriptor 34 35static GPBFileDescriptor *GPBStructRoot_FileDescriptor(void) { 36 // This is called by +initialize so there is no need to worry 37 // about thread safety of the singleton. 38 static GPBFileDescriptor *descriptor = NULL; 39 if (!descriptor) { 40 GPB_DEBUG_CHECK_RUNTIME_VERSIONS(); 41 descriptor = [[GPBFileDescriptor alloc] initWithPackage:@"google.protobuf" 42 objcPrefix:@"GPB" 43 syntax:GPBFileSyntaxProto3]; 44 } 45 return descriptor; 46} 47 48#pragma mark - Enum GPBNullValue 49 50GPBEnumDescriptor *GPBNullValue_EnumDescriptor(void) { 51 static _Atomic(GPBEnumDescriptor*) descriptor = nil; 52 if (!descriptor) { 53 static const char *valueNames = 54 "NullValue\000"; 55 static const int32_t values[] = { 56 GPBNullValue_NullValue, 57 }; 58 GPBEnumDescriptor *worker = 59 [GPBEnumDescriptor allocDescriptorForName:GPBNSStringifySymbol(GPBNullValue) 60 valueNames:valueNames 61 values:values 62 count:(uint32_t)(sizeof(values) / sizeof(int32_t)) 63 enumVerifier:GPBNullValue_IsValidValue]; 64 GPBEnumDescriptor *expected = nil; 65 if (!atomic_compare_exchange_strong(&descriptor, &expected, worker)) { 66 [worker release]; 67 } 68 } 69 return descriptor; 70} 71 72BOOL GPBNullValue_IsValidValue(int32_t value__) { 73 switch (value__) { 74 case GPBNullValue_NullValue: 75 return YES; 76 default: 77 return NO; 78 } 79} 80 81#pragma mark - GPBStruct 82 83@implementation GPBStruct 84 85@dynamic fields, fields_Count; 86 87typedef struct GPBStruct__storage_ { 88 uint32_t _has_storage_[1]; 89 NSMutableDictionary *fields; 90} GPBStruct__storage_; 91 92// This method is threadsafe because it is initially called 93// in +initialize for each subclass. 94+ (GPBDescriptor *)descriptor { 95 static GPBDescriptor *descriptor = nil; 96 if (!descriptor) { 97 static GPBMessageFieldDescription fields[] = { 98 { 99 .name = "fields", 100 .dataTypeSpecific.clazz = GPBObjCClass(GPBValue), 101 .number = GPBStruct_FieldNumber_Fields, 102 .hasIndex = GPBNoHasBit, 103 .offset = (uint32_t)offsetof(GPBStruct__storage_, fields), 104 .flags = GPBFieldMapKeyString, 105 .dataType = GPBDataTypeMessage, 106 }, 107 }; 108 GPBDescriptor *localDescriptor = 109 [GPBDescriptor allocDescriptorForClass:[GPBStruct class] 110 rootClass:[GPBStructRoot class] 111 file:GPBStructRoot_FileDescriptor() 112 fields:fields 113 fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) 114 storageSize:sizeof(GPBStruct__storage_) 115 flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; 116 #if defined(DEBUG) && DEBUG 117 NSAssert(descriptor == nil, @"Startup recursed!"); 118 #endif // DEBUG 119 descriptor = localDescriptor; 120 } 121 return descriptor; 122} 123 124@end 125 126#pragma mark - GPBValue 127 128@implementation GPBValue 129 130@dynamic kindOneOfCase; 131@dynamic nullValue; 132@dynamic numberValue; 133@dynamic stringValue; 134@dynamic boolValue; 135@dynamic structValue; 136@dynamic listValue; 137 138typedef struct GPBValue__storage_ { 139 uint32_t _has_storage_[2]; 140 GPBNullValue nullValue; 141 NSString *stringValue; 142 GPBStruct *structValue; 143 GPBListValue *listValue; 144 double numberValue; 145} GPBValue__storage_; 146 147// This method is threadsafe because it is initially called 148// in +initialize for each subclass. 149+ (GPBDescriptor *)descriptor { 150 static GPBDescriptor *descriptor = nil; 151 if (!descriptor) { 152 static GPBMessageFieldDescription fields[] = { 153 { 154 .name = "nullValue", 155 .dataTypeSpecific.enumDescFunc = GPBNullValue_EnumDescriptor, 156 .number = GPBValue_FieldNumber_NullValue, 157 .hasIndex = -1, 158 .offset = (uint32_t)offsetof(GPBValue__storage_, nullValue), 159 .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldHasEnumDescriptor), 160 .dataType = GPBDataTypeEnum, 161 }, 162 { 163 .name = "numberValue", 164 .dataTypeSpecific.clazz = Nil, 165 .number = GPBValue_FieldNumber_NumberValue, 166 .hasIndex = -1, 167 .offset = (uint32_t)offsetof(GPBValue__storage_, numberValue), 168 .flags = GPBFieldOptional, 169 .dataType = GPBDataTypeDouble, 170 }, 171 { 172 .name = "stringValue", 173 .dataTypeSpecific.clazz = Nil, 174 .number = GPBValue_FieldNumber_StringValue, 175 .hasIndex = -1, 176 .offset = (uint32_t)offsetof(GPBValue__storage_, stringValue), 177 .flags = GPBFieldOptional, 178 .dataType = GPBDataTypeString, 179 }, 180 { 181 .name = "boolValue", 182 .dataTypeSpecific.clazz = Nil, 183 .number = GPBValue_FieldNumber_BoolValue, 184 .hasIndex = -1, 185 .offset = 0, // Stored in _has_storage_ to save space. 186 .flags = GPBFieldOptional, 187 .dataType = GPBDataTypeBool, 188 }, 189 { 190 .name = "structValue", 191 .dataTypeSpecific.clazz = GPBObjCClass(GPBStruct), 192 .number = GPBValue_FieldNumber_StructValue, 193 .hasIndex = -1, 194 .offset = (uint32_t)offsetof(GPBValue__storage_, structValue), 195 .flags = GPBFieldOptional, 196 .dataType = GPBDataTypeMessage, 197 }, 198 { 199 .name = "listValue", 200 .dataTypeSpecific.clazz = GPBObjCClass(GPBListValue), 201 .number = GPBValue_FieldNumber_ListValue, 202 .hasIndex = -1, 203 .offset = (uint32_t)offsetof(GPBValue__storage_, listValue), 204 .flags = GPBFieldOptional, 205 .dataType = GPBDataTypeMessage, 206 }, 207 }; 208 GPBDescriptor *localDescriptor = 209 [GPBDescriptor allocDescriptorForClass:[GPBValue class] 210 rootClass:[GPBStructRoot class] 211 file:GPBStructRoot_FileDescriptor() 212 fields:fields 213 fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) 214 storageSize:sizeof(GPBValue__storage_) 215 flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; 216 static const char *oneofs[] = { 217 "kind", 218 }; 219 [localDescriptor setupOneofs:oneofs 220 count:(uint32_t)(sizeof(oneofs) / sizeof(char*)) 221 firstHasIndex:-1]; 222 #if defined(DEBUG) && DEBUG 223 NSAssert(descriptor == nil, @"Startup recursed!"); 224 #endif // DEBUG 225 descriptor = localDescriptor; 226 } 227 return descriptor; 228} 229 230@end 231 232int32_t GPBValue_NullValue_RawValue(GPBValue *message) { 233 GPBDescriptor *descriptor = [GPBValue descriptor]; 234 GPBFieldDescriptor *field = [descriptor fieldWithNumber:GPBValue_FieldNumber_NullValue]; 235 return GPBGetMessageRawEnumField(message, field); 236} 237 238void SetGPBValue_NullValue_RawValue(GPBValue *message, int32_t value) { 239 GPBDescriptor *descriptor = [GPBValue descriptor]; 240 GPBFieldDescriptor *field = [descriptor fieldWithNumber:GPBValue_FieldNumber_NullValue]; 241 GPBSetMessageRawEnumField(message, field, value); 242} 243 244void GPBValue_ClearKindOneOfCase(GPBValue *message) { 245 GPBDescriptor *descriptor = [GPBValue descriptor]; 246 GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0]; 247 GPBClearOneof(message, oneof); 248} 249#pragma mark - GPBListValue 250 251@implementation GPBListValue 252 253@dynamic valuesArray, valuesArray_Count; 254 255typedef struct GPBListValue__storage_ { 256 uint32_t _has_storage_[1]; 257 NSMutableArray *valuesArray; 258} GPBListValue__storage_; 259 260// This method is threadsafe because it is initially called 261// in +initialize for each subclass. 262+ (GPBDescriptor *)descriptor { 263 static GPBDescriptor *descriptor = nil; 264 if (!descriptor) { 265 static GPBMessageFieldDescription fields[] = { 266 { 267 .name = "valuesArray", 268 .dataTypeSpecific.clazz = GPBObjCClass(GPBValue), 269 .number = GPBListValue_FieldNumber_ValuesArray, 270 .hasIndex = GPBNoHasBit, 271 .offset = (uint32_t)offsetof(GPBListValue__storage_, valuesArray), 272 .flags = GPBFieldRepeated, 273 .dataType = GPBDataTypeMessage, 274 }, 275 }; 276 GPBDescriptor *localDescriptor = 277 [GPBDescriptor allocDescriptorForClass:[GPBListValue class] 278 rootClass:[GPBStructRoot class] 279 file:GPBStructRoot_FileDescriptor() 280 fields:fields 281 fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription)) 282 storageSize:sizeof(GPBListValue__storage_) 283 flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)]; 284 #if defined(DEBUG) && DEBUG 285 NSAssert(descriptor == nil, @"Startup recursed!"); 286 #endif // DEBUG 287 descriptor = localDescriptor; 288 } 289 return descriptor; 290} 291 292@end 293 294 295#pragma clang diagnostic pop 296 297// @@protoc_insertion_point(global_scope) 298