diff options
author | Dan O'Reilly <oreilldf@gmail.com> | 2015-08-12 23:57:46 -0400 |
---|---|---|
committer | Dan O'Reilly <oreilldf@gmail.com> | 2015-08-12 23:57:46 -0400 |
commit | e47cdd5a559f488ba52756927ce68f4cf93874fa (patch) | |
tree | 8ce2723e822808baf58e96f569c86035717ea351 /objectivec/google | |
parent | daeaa6a28b81195f24d89222e649d79c9555af8b (diff) | |
parent | 38a56ee4b19d72c2e9d81a08b018704d1addf561 (diff) | |
download | protobuf-e47cdd5a559f488ba52756927ce68f4cf93874fa.tar.gz protobuf-e47cdd5a559f488ba52756927ce68f4cf93874fa.tar.bz2 protobuf-e47cdd5a559f488ba52756927ce68f4cf93874fa.zip |
Merge remote-tracking branch 'upstream/master' into py2_py3_straddle
Conflicts:
python/google/protobuf/descriptor_pool.py
python/google/protobuf/internal/api_implementation_default_test.py
python/google/protobuf/internal/cpp_message.py
python/google/protobuf/internal/descriptor_database_test.py
python/google/protobuf/internal/descriptor_pool_test.py
python/google/protobuf/internal/descriptor_python_test.py
python/google/protobuf/internal/descriptor_test.py
python/google/protobuf/internal/generator_test.py
python/google/protobuf/internal/message_factory_python_test.py
python/google/protobuf/internal/message_factory_test.py
python/google/protobuf/internal/message_test.py
python/google/protobuf/internal/proto_builder_test.py
python/google/protobuf/internal/python_message.py
python/google/protobuf/internal/reflection_test.py
python/google/protobuf/internal/service_reflection_test.py
python/google/protobuf/internal/symbol_database_test.py
python/google/protobuf/internal/text_encoding_test.py
python/google/protobuf/internal/text_format_test.py
python/google/protobuf/internal/unknown_fields_test.py
python/google/protobuf/internal/wire_format_test.py
python/google/protobuf/pyext/descriptor_cpp2_test.py
python/google/protobuf/pyext/message_factory_cpp2_test.py
python/google/protobuf/pyext/reflection_cpp2_generated_test.py
python/setup.py
ruby/lib/google/protobuf/message_exts.rb
Diffstat (limited to 'objectivec/google')
22 files changed, 7034 insertions, 0 deletions
diff --git a/objectivec/google/protobuf/Any.pbobjc.h b/objectivec/google/protobuf/Any.pbobjc.h new file mode 100644 index 00000000..e09f3a49 --- /dev/null +++ b/objectivec/google/protobuf/Any.pbobjc.h @@ -0,0 +1,103 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: google/protobuf/any.proto + +#import "GPBProtocolBuffers.h" + +#if GOOGLE_PROTOBUF_OBJC_GEN_VERSION != 30000 +#error This file was generated by a different version of protoc-gen-objc which is incompatible with your Protocol Buffer sources. +#endif + +// @@protoc_insertion_point(imports) + +CF_EXTERN_C_BEGIN + +NS_ASSUME_NONNULL_BEGIN + +#pragma mark - GPBAnyRoot + +@interface GPBAnyRoot : GPBRootObject + +// The base class provides: +// + (GPBExtensionRegistry *)extensionRegistry; +// which is an GPBExtensionRegistry that includes all the extensions defined by +// this file and all files that it depends on. + +@end + +#pragma mark - GPBAny + +typedef GPB_ENUM(GPBAny_FieldNumber) { + GPBAny_FieldNumber_TypeURL = 1, + GPBAny_FieldNumber_Value = 2, +}; + +// `Any` contains an arbitrary serialized message along with a URL +// that describes the type of the serialized message. +// +// The proto runtimes and/or compiler will eventually +// provide utilities to pack/unpack Any values (projected Q1/15). +// +// # JSON +// The JSON representation of an `Any` value uses the regular +// representation of the deserialized, embedded message, with an +// additional field `@type` which contains the type URL. Example: +// +// package google.profile; +// message Person { +// string first_name = 1; +// string last_name = 2; +// } +// +// { +// "@type": "type.googleapis.com/google.profile.Person", +// "firstName": <string>, +// "lastName": <string> +// } +// +// If the embedded message type is well-known and has a custom JSON +// representation, that representation will be embedded adding a field +// `value` which holds the custom JSON in addition to the the `@type` +// field. Example (for message [google.protobuf.Duration][google.protobuf.Duration]): +// +// { +// "@type": "type.googleapis.com/google.protobuf.Duration", +// "value": "1.212s" +// } +@interface GPBAny : GPBMessage + +// A URL/resource name whose content describes the type of the +// serialized message. +// +// For URLs which use the schema `http`, `https`, or no schema, the +// following restrictions and interpretations apply: +// +// * If no schema is provided, `https` is assumed. +// * The last segment of the URL's path must represent the fully +// qualified name of the type (as in `path/google.protobuf.Duration`). +// * An HTTP GET on the URL must yield a [google.protobuf.Type][google.protobuf.Type] +// value in binary format, or produce an error. +// * Applications are allowed to cache lookup results based on the +// URL, or have them precompiled into a binary to avoid any +// lookup. Therefore, binary compatibility needs to be preserved +// on changes to types. (Use versioned type names to manage +// breaking changes.) +// +// Schemas other than `http`, `https` (or the empty schema) might be +// used with implementation specific semantics. +// +// Types originating from the `google.*` package +// namespace should use `type.googleapis.com/full.type.name` (without +// schema and path). A type service will eventually become available which +// serves those URLs (projected Q2/15). +@property(nonatomic, readwrite, copy, null_resettable) NSString *typeURL; + +// Must be valid serialized data of the above specified type. +@property(nonatomic, readwrite, copy, null_resettable) NSData *value; + +@end + +NS_ASSUME_NONNULL_END + +CF_EXTERN_C_END + +// @@protoc_insertion_point(global_scope) diff --git a/objectivec/google/protobuf/Any.pbobjc.m b/objectivec/google/protobuf/Any.pbobjc.m new file mode 100644 index 00000000..b41102a4 --- /dev/null +++ b/objectivec/google/protobuf/Any.pbobjc.m @@ -0,0 +1,99 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: google/protobuf/any.proto + +#import "GPBProtocolBuffers_RuntimeSupport.h" +#import "google/protobuf/Any.pbobjc.h" +// @@protoc_insertion_point(imports) + +#pragma mark - GPBAnyRoot + +@implementation GPBAnyRoot + +@end + +#pragma mark - GPBAnyRoot_FileDescriptor + +static GPBFileDescriptor *GPBAnyRoot_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) { + GPBDebugCheckRuntimeVersion(); + descriptor = [[GPBFileDescriptor alloc] initWithPackage:@"google.protobuf" + syntax:GPBFileSyntaxProto3]; + } + return descriptor; +} + +#pragma mark - GPBAny + +@implementation GPBAny + +@dynamic typeURL; +@dynamic value; + +typedef struct GPBAny__storage_ { + uint32_t _has_storage_[1]; + NSString *typeURL; + NSData *value; +} GPBAny__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 = "typeURL", + .number = GPBAny_FieldNumber_TypeURL, + .hasIndex = 0, + .flags = GPBFieldOptional | GPBFieldTextFormatNameCustom, + .dataType = GPBDataTypeString, + .offset = offsetof(GPBAny__storage_, typeURL), + .defaultValue.valueString = nil, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + { + .name = "value", + .number = GPBAny_FieldNumber_Value, + .hasIndex = 1, + .flags = GPBFieldOptional, + .dataType = GPBDataTypeBytes, + .offset = offsetof(GPBAny__storage_, value), + .defaultValue.valueData = nil, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + }; +#if GPBOBJC_SKIP_MESSAGE_TEXTFORMAT_EXTRAS + const char *extraTextFormatInfo = NULL; +#else + static const char *extraTextFormatInfo = "\001\001\004\241!!\000"; +#endif // GPBOBJC_SKIP_MESSAGE_TEXTFORMAT_EXTRAS + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GPBAny class] + rootClass:[GPBAnyRoot class] + file:GPBAnyRoot_FileDescriptor() + fields:fields + fieldCount:sizeof(fields) / sizeof(GPBMessageFieldDescription) + oneofs:NULL + oneofCount:0 + enums:NULL + enumCount:0 + ranges:NULL + rangeCount:0 + storageSize:sizeof(GPBAny__storage_) + wireFormat:NO + extraTextFormatInfo:extraTextFormatInfo]; + NSAssert(descriptor == nil, @"Startup recursed!"); + descriptor = localDescriptor; + } + return descriptor; +} + +@end + + +// @@protoc_insertion_point(global_scope) diff --git a/objectivec/google/protobuf/Api.pbobjc.h b/objectivec/google/protobuf/Api.pbobjc.h new file mode 100644 index 00000000..021dac5f --- /dev/null +++ b/objectivec/google/protobuf/Api.pbobjc.h @@ -0,0 +1,127 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: google/protobuf/api.proto + +#import "GPBProtocolBuffers.h" + +#if GOOGLE_PROTOBUF_OBJC_GEN_VERSION != 30000 +#error This file was generated by a different version of protoc-gen-objc which is incompatible with your Protocol Buffer sources. +#endif + +// @@protoc_insertion_point(imports) + +CF_EXTERN_C_BEGIN + +@class GPBSourceContext; + +NS_ASSUME_NONNULL_BEGIN + +#pragma mark - GPBApiRoot + +@interface GPBApiRoot : GPBRootObject + +// The base class provides: +// + (GPBExtensionRegistry *)extensionRegistry; +// which is an GPBExtensionRegistry that includes all the extensions defined by +// this file and all files that it depends on. + +@end + +#pragma mark - GPBApi + +typedef GPB_ENUM(GPBApi_FieldNumber) { + GPBApi_FieldNumber_Name = 1, + GPBApi_FieldNumber_MethodsArray = 2, + GPBApi_FieldNumber_OptionsArray = 3, + GPBApi_FieldNumber_Version = 4, + GPBApi_FieldNumber_SourceContext = 5, +}; + +// Api is a light-weight descriptor for a protocol buffer service. +@interface GPBApi : GPBMessage + +// The fully qualified name of this api, including package name +// followed by the api's simple name. +@property(nonatomic, readwrite, copy, null_resettable) NSString *name; + +// The methods of this api, in unspecified order. +// |methodsArray| contains |GPBMethod| +@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray *methodsArray; +@property(nonatomic, readonly) NSUInteger methodsArray_Count; + +// Any metadata attached to the API. +// |optionsArray| contains |GPBOption| +@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray *optionsArray; +@property(nonatomic, readonly) NSUInteger optionsArray_Count; + +// A version string for this api. If specified, must have the form +// `major-version.minor-version`, as in `1.10`. If the minor version +// is omitted, it defaults to zero. If the entire version field is +// empty, the major version is derived from the package name, as +// outlined below. If the field is not empty, the version in the +// package name will be verified to be consistent with what is +// provided here. +// +// The versioning schema uses [semantic +// versioning](http://semver.org) where the major version number +// indicates a breaking change and the minor version an additive, +// non-breaking change. Both version numbers are signals to users +// what to expect from different versions, and should be carefully +// chosen based on the product plan. +// +// The major version is also reflected in the package name of the +// API, which must end in `v<major-version>`, as in +// `google.feature.v1`. For major versions 0 and 1, the suffix can +// be omitted. Zero major versions must only be used for +// experimental, none-GA apis. +// +// See also: [design doc](http://go/api-versioning). +@property(nonatomic, readwrite, copy, null_resettable) NSString *version; + +// Source context for the protocol buffer service represented by this +// message. +@property(nonatomic, readwrite) BOOL hasSourceContext; +@property(nonatomic, readwrite, strong, null_resettable) GPBSourceContext *sourceContext; + +@end + +#pragma mark - GPBMethod + +typedef GPB_ENUM(GPBMethod_FieldNumber) { + GPBMethod_FieldNumber_Name = 1, + GPBMethod_FieldNumber_RequestTypeURL = 2, + GPBMethod_FieldNumber_RequestStreaming = 3, + GPBMethod_FieldNumber_ResponseTypeURL = 4, + GPBMethod_FieldNumber_ResponseStreaming = 5, + GPBMethod_FieldNumber_OptionsArray = 6, +}; + +// Method represents a method of an api. +@interface GPBMethod : GPBMessage + +// The simple name of this method. +@property(nonatomic, readwrite, copy, null_resettable) NSString *name; + +// A URL of the input message type. +@property(nonatomic, readwrite, copy, null_resettable) NSString *requestTypeURL; + +// If true, the request is streamed. +@property(nonatomic, readwrite) BOOL requestStreaming; + +// The URL of the output message type. +@property(nonatomic, readwrite, copy, null_resettable) NSString *responseTypeURL; + +// If true, the response is streamed. +@property(nonatomic, readwrite) BOOL responseStreaming; + +// Any metadata attached to the method. +// |optionsArray| contains |GPBOption| +@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray *optionsArray; +@property(nonatomic, readonly) NSUInteger optionsArray_Count; + +@end + +NS_ASSUME_NONNULL_END + +CF_EXTERN_C_END + +// @@protoc_insertion_point(global_scope) diff --git a/objectivec/google/protobuf/Api.pbobjc.m b/objectivec/google/protobuf/Api.pbobjc.m new file mode 100644 index 00000000..c2be94ab --- /dev/null +++ b/objectivec/google/protobuf/Api.pbobjc.m @@ -0,0 +1,269 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: google/protobuf/api.proto + +#import "GPBProtocolBuffers_RuntimeSupport.h" +#import "google/protobuf/Api.pbobjc.h" +#import "google/protobuf/SourceContext.pbobjc.h" +#import "google/protobuf/Type.pbobjc.h" +// @@protoc_insertion_point(imports) + +#pragma mark - GPBApiRoot + +@implementation GPBApiRoot + ++ (GPBExtensionRegistry*)extensionRegistry { + // This is called by +initialize so there is no need to worry + // about thread safety and initialization of registry. + static GPBExtensionRegistry* registry = nil; + if (!registry) { + GPBDebugCheckRuntimeVersion(); + registry = [[GPBExtensionRegistry alloc] init]; + [registry addExtensions:[GPBSourceContextRoot extensionRegistry]]; + [registry addExtensions:[GPBTypeRoot extensionRegistry]]; + } + return registry; +} + +@end + +#pragma mark - GPBApiRoot_FileDescriptor + +static GPBFileDescriptor *GPBApiRoot_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) { + GPBDebugCheckRuntimeVersion(); + descriptor = [[GPBFileDescriptor alloc] initWithPackage:@"google.protobuf" + syntax:GPBFileSyntaxProto3]; + } + return descriptor; +} + +#pragma mark - GPBApi + +@implementation GPBApi + +@dynamic name; +@dynamic methodsArray, methodsArray_Count; +@dynamic optionsArray, optionsArray_Count; +@dynamic version; +@dynamic hasSourceContext, sourceContext; + +typedef struct GPBApi__storage_ { + uint32_t _has_storage_[1]; + NSString *name; + NSMutableArray *methodsArray; + NSMutableArray *optionsArray; + NSString *version; + GPBSourceContext *sourceContext; +} GPBApi__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", + .number = GPBApi_FieldNumber_Name, + .hasIndex = 0, + .flags = GPBFieldOptional, + .dataType = GPBDataTypeString, + .offset = offsetof(GPBApi__storage_, name), + .defaultValue.valueString = nil, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + { + .name = "methodsArray", + .number = GPBApi_FieldNumber_MethodsArray, + .hasIndex = GPBNoHasBit, + .flags = GPBFieldRepeated, + .dataType = GPBDataTypeMessage, + .offset = offsetof(GPBApi__storage_, methodsArray), + .defaultValue.valueMessage = nil, + .dataTypeSpecific.className = GPBStringifySymbol(GPBMethod), + .fieldOptions = NULL, + }, + { + .name = "optionsArray", + .number = GPBApi_FieldNumber_OptionsArray, + .hasIndex = GPBNoHasBit, + .flags = GPBFieldRepeated, + .dataType = GPBDataTypeMessage, + .offset = offsetof(GPBApi__storage_, optionsArray), + .defaultValue.valueMessage = nil, + .dataTypeSpecific.className = GPBStringifySymbol(GPBOption), + .fieldOptions = NULL, + }, + { + .name = "version", + .number = GPBApi_FieldNumber_Version, + .hasIndex = 3, + .flags = GPBFieldOptional, + .dataType = GPBDataTypeString, + .offset = offsetof(GPBApi__storage_, version), + .defaultValue.valueString = nil, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + { + .name = "sourceContext", + .number = GPBApi_FieldNumber_SourceContext, + .hasIndex = 4, + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + .offset = offsetof(GPBApi__storage_, sourceContext), + .defaultValue.valueMessage = nil, + .dataTypeSpecific.className = GPBStringifySymbol(GPBSourceContext), + .fieldOptions = NULL, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GPBApi class] + rootClass:[GPBApiRoot class] + file:GPBApiRoot_FileDescriptor() + fields:fields + fieldCount:sizeof(fields) / sizeof(GPBMessageFieldDescription) + oneofs:NULL + oneofCount:0 + enums:NULL + enumCount:0 + ranges:NULL + rangeCount:0 + storageSize:sizeof(GPBApi__storage_) + wireFormat:NO]; + NSAssert(descriptor == nil, @"Startup recursed!"); + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +#pragma mark - GPBMethod + +@implementation GPBMethod + +@dynamic name; +@dynamic requestTypeURL; +@dynamic requestStreaming; +@dynamic responseTypeURL; +@dynamic responseStreaming; +@dynamic optionsArray, optionsArray_Count; + +typedef struct GPBMethod__storage_ { + uint32_t _has_storage_[1]; + BOOL requestStreaming; + BOOL responseStreaming; + NSString *name; + NSString *requestTypeURL; + NSString *responseTypeURL; + NSMutableArray *optionsArray; +} GPBMethod__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", + .number = GPBMethod_FieldNumber_Name, + .hasIndex = 0, + .flags = GPBFieldOptional, + .dataType = GPBDataTypeString, + .offset = offsetof(GPBMethod__storage_, name), + .defaultValue.valueString = nil, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + { + .name = "requestTypeURL", + .number = GPBMethod_FieldNumber_RequestTypeURL, + .hasIndex = 1, + .flags = GPBFieldOptional | GPBFieldTextFormatNameCustom, + .dataType = GPBDataTypeString, + .offset = offsetof(GPBMethod__storage_, requestTypeURL), + .defaultValue.valueString = nil, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + { + .name = "requestStreaming", + .number = GPBMethod_FieldNumber_RequestStreaming, + .hasIndex = 2, + .flags = GPBFieldOptional, + .dataType = GPBDataTypeBool, + .offset = offsetof(GPBMethod__storage_, requestStreaming), + .defaultValue.valueBool = NO, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + { + .name = "responseTypeURL", + .number = GPBMethod_FieldNumber_ResponseTypeURL, + .hasIndex = 3, + .flags = GPBFieldOptional | GPBFieldTextFormatNameCustom, + .dataType = GPBDataTypeString, + .offset = offsetof(GPBMethod__storage_, responseTypeURL), + .defaultValue.valueString = nil, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + { + .name = "responseStreaming", + .number = GPBMethod_FieldNumber_ResponseStreaming, + .hasIndex = 4, + .flags = GPBFieldOptional, + .dataType = GPBDataTypeBool, + .offset = offsetof(GPBMethod__storage_, responseStreaming), + .defaultValue.valueBool = NO, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + { + .name = "optionsArray", + .number = GPBMethod_FieldNumber_OptionsArray, + .hasIndex = GPBNoHasBit, + .flags = GPBFieldRepeated, + .dataType = GPBDataTypeMessage, + .offset = offsetof(GPBMethod__storage_, optionsArray), + .defaultValue.valueMessage = nil, + .dataTypeSpecific.className = GPBStringifySymbol(GPBOption), + .fieldOptions = NULL, + }, + }; +#if GPBOBJC_SKIP_MESSAGE_TEXTFORMAT_EXTRAS + const char *extraTextFormatInfo = NULL; +#else + static const char *extraTextFormatInfo = "\002\002\007\244\241!!\000\004\010\244\241!!\000"; +#endif // GPBOBJC_SKIP_MESSAGE_TEXTFORMAT_EXTRAS + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GPBMethod class] + rootClass:[GPBApiRoot class] + file:GPBApiRoot_FileDescriptor() + fields:fields + fieldCount:sizeof(fields) / sizeof(GPBMessageFieldDescription) + oneofs:NULL + oneofCount:0 + enums:NULL + enumCount:0 + ranges:NULL + rangeCount:0 + storageSize:sizeof(GPBMethod__storage_) + wireFormat:NO + extraTextFormatInfo:extraTextFormatInfo]; + NSAssert(descriptor == nil, @"Startup recursed!"); + descriptor = localDescriptor; + } + return descriptor; +} + +@end + + +// @@protoc_insertion_point(global_scope) diff --git a/objectivec/google/protobuf/Descriptor.pbobjc.h b/objectivec/google/protobuf/Descriptor.pbobjc.h new file mode 100644 index 00000000..bf0f51a6 --- /dev/null +++ b/objectivec/google/protobuf/Descriptor.pbobjc.h @@ -0,0 +1,1144 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: google/protobuf/descriptor.proto + +#import "GPBProtocolBuffers.h" + +#if GOOGLE_PROTOBUF_OBJC_GEN_VERSION != 30000 +#error This file was generated by a different version of protoc-gen-objc which is incompatible with your Protocol Buffer sources. +#endif + +// @@protoc_insertion_point(imports) + +CF_EXTERN_C_BEGIN + +@class GPBEnumOptions; +@class GPBEnumValueOptions; +@class GPBFieldOptions; +@class GPBFileOptions; +@class GPBMessageOptions; +@class GPBMethodOptions; +@class GPBServiceOptions; +@class GPBSourceCodeInfo; + +NS_ASSUME_NONNULL_BEGIN + +#pragma mark - Enum GPBFieldDescriptorProto_Type + +typedef GPB_ENUM(GPBFieldDescriptorProto_Type) { + // 0 is reserved for errors. + // Order is weird for historical reasons. + GPBFieldDescriptorProto_Type_TypeDouble = 1, + GPBFieldDescriptorProto_Type_TypeFloat = 2, + + // Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT64 if + // negative values are likely. + GPBFieldDescriptorProto_Type_TypeInt64 = 3, + GPBFieldDescriptorProto_Type_TypeUint64 = 4, + + // Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT32 if + // negative values are likely. + GPBFieldDescriptorProto_Type_TypeInt32 = 5, + GPBFieldDescriptorProto_Type_TypeFixed64 = 6, + GPBFieldDescriptorProto_Type_TypeFixed32 = 7, + GPBFieldDescriptorProto_Type_TypeBool = 8, + GPBFieldDescriptorProto_Type_TypeString = 9, + + // Tag-delimited aggregate. + GPBFieldDescriptorProto_Type_TypeGroup = 10, + + // Length-delimited aggregate. + GPBFieldDescriptorProto_Type_TypeMessage = 11, + + // New in version 2. + GPBFieldDescriptorProto_Type_TypeBytes = 12, + GPBFieldDescriptorProto_Type_TypeUint32 = 13, + GPBFieldDescriptorProto_Type_TypeEnum = 14, + GPBFieldDescriptorProto_Type_TypeSfixed32 = 15, + GPBFieldDescriptorProto_Type_TypeSfixed64 = 16, + + // Uses ZigZag encoding. + GPBFieldDescriptorProto_Type_TypeSint32 = 17, + + // Uses ZigZag encoding. + GPBFieldDescriptorProto_Type_TypeSint64 = 18, +}; + +GPBEnumDescriptor *GPBFieldDescriptorProto_Type_EnumDescriptor(void); + +BOOL GPBFieldDescriptorProto_Type_IsValidValue(int32_t value); + +#pragma mark - Enum GPBFieldDescriptorProto_Label + +typedef GPB_ENUM(GPBFieldDescriptorProto_Label) { + // 0 is reserved for errors + GPBFieldDescriptorProto_Label_LabelOptional = 1, + GPBFieldDescriptorProto_Label_LabelRequired = 2, + + // TODO(sanjay): Should we add LABEL_MAP? + GPBFieldDescriptorProto_Label_LabelRepeated = 3, +}; + +GPBEnumDescriptor *GPBFieldDescriptorProto_Label_EnumDescriptor(void); + +BOOL GPBFieldDescriptorProto_Label_IsValidValue(int32_t value); + +#pragma mark - Enum GPBFileOptions_OptimizeMode + +// Generated classes can be optimized for speed or code size. +typedef GPB_ENUM(GPBFileOptions_OptimizeMode) { + // Generate complete code for parsing, serialization, + GPBFileOptions_OptimizeMode_Speed = 1, + + // etc. + GPBFileOptions_OptimizeMode_CodeSize = 2, + + // Generate code using MessageLite and the lite runtime. + GPBFileOptions_OptimizeMode_LiteRuntime = 3, +}; + +GPBEnumDescriptor *GPBFileOptions_OptimizeMode_EnumDescriptor(void); + +BOOL GPBFileOptions_OptimizeMode_IsValidValue(int32_t value); + +#pragma mark - Enum GPBFieldOptions_CType + +typedef GPB_ENUM(GPBFieldOptions_CType) { + // Default mode. + GPBFieldOptions_CType_String = 0, + GPBFieldOptions_CType_Cord = 1, + GPBFieldOptions_CType_StringPiece = 2, +}; + +GPBEnumDescriptor *GPBFieldOptions_CType_EnumDescriptor(void); + +BOOL GPBFieldOptions_CType_IsValidValue(int32_t value); + +#pragma mark - Enum GPBFieldOptions_JSType + +typedef GPB_ENUM(GPBFieldOptions_JSType) { + // Use the default type. + GPBFieldOptions_JSType_JsNormal = 0, + + // Use JavaScript strings. + GPBFieldOptions_JSType_JsString = 1, + + // Use JavaScript numbers. + GPBFieldOptions_JSType_JsNumber = 2, +}; + +GPBEnumDescriptor *GPBFieldOptions_JSType_EnumDescriptor(void); + +BOOL GPBFieldOptions_JSType_IsValidValue(int32_t value); + +#pragma mark - GPBDescriptorRoot + +@interface GPBDescriptorRoot : GPBRootObject + +// The base class provides: +// + (GPBExtensionRegistry *)extensionRegistry; +// which is an GPBExtensionRegistry that includes all the extensions defined by +// this file and all files that it depends on. + +@end + +#pragma mark - GPBFileDescriptorSet + +typedef GPB_ENUM(GPBFileDescriptorSet_FieldNumber) { + GPBFileDescriptorSet_FieldNumber_FileArray = 1, +}; + +// The protocol compiler can output a FileDescriptorSet containing the .proto +// files it parses. +@interface GPBFileDescriptorSet : GPBMessage + +// |fileArray| contains |GPBFileDescriptorProto| +@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray *fileArray; +@property(nonatomic, readonly) NSUInteger fileArray_Count; + +@end + +#pragma mark - GPBFileDescriptorProto + +typedef GPB_ENUM(GPBFileDescriptorProto_FieldNumber) { + GPBFileDescriptorProto_FieldNumber_Name = 1, + GPBFileDescriptorProto_FieldNumber_Package = 2, + GPBFileDescriptorProto_FieldNumber_DependencyArray = 3, + GPBFileDescriptorProto_FieldNumber_MessageTypeArray = 4, + GPBFileDescriptorProto_FieldNumber_EnumTypeArray = 5, + GPBFileDescriptorProto_FieldNumber_ServiceArray = 6, + GPBFileDescriptorProto_FieldNumber_ExtensionArray = 7, + GPBFileDescriptorProto_FieldNumber_Options = 8, + GPBFileDescriptorProto_FieldNumber_SourceCodeInfo = 9, + GPBFileDescriptorProto_FieldNumber_PublicDependencyArray = 10, + GPBFileDescriptorProto_FieldNumber_WeakDependencyArray = 11, + GPBFileDescriptorProto_FieldNumber_Syntax = 12, +}; + +// Describes a complete .proto file. +@interface GPBFileDescriptorProto : GPBMessage + +// file name, relative to root of source tree +@property(nonatomic, readwrite) BOOL hasName; +@property(nonatomic, readwrite, copy, null_resettable) NSString *name; + +// e.g. "foo", "foo.bar", etc. +@property(nonatomic, readwrite) BOOL hasPackage; +@property(nonatomic, readwrite, copy, null_resettable) NSString *package; + +// Names of files imported by this file. +// |dependencyArray| contains |NSString| +@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray *dependencyArray; +@property(nonatomic, readonly) NSUInteger dependencyArray_Count; + +// Indexes of the public imported files in the dependency list above. +@property(nonatomic, readwrite, strong, null_resettable) GPBInt32Array *publicDependencyArray; +@property(nonatomic, readonly) NSUInteger publicDependencyArray_Count; + +// Indexes of the weak imported files in the dependency list. +// For Google-internal migration only. Do not use. +@property(nonatomic, readwrite, strong, null_resettable) GPBInt32Array *weakDependencyArray; +@property(nonatomic, readonly) NSUInteger weakDependencyArray_Count; + +// All top-level definitions in this file. +// |messageTypeArray| contains |GPBDescriptorProto| +@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray *messageTypeArray; +@property(nonatomic, readonly) NSUInteger messageTypeArray_Count; + +// |enumTypeArray| contains |GPBEnumDescriptorProto| +@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray *enumTypeArray; +@property(nonatomic, readonly) NSUInteger enumTypeArray_Count; + +// |serviceArray| contains |GPBServiceDescriptorProto| +@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray *serviceArray; +@property(nonatomic, readonly) NSUInteger serviceArray_Count; + +// |extensionArray| contains |GPBFieldDescriptorProto| +@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray *extensionArray; +@property(nonatomic, readonly) NSUInteger extensionArray_Count; + +@property(nonatomic, readwrite) BOOL hasOptions; +@property(nonatomic, readwrite, strong, null_resettable) GPBFileOptions *options; + +// This field contains optional information about the original source code. +// You may safely remove this entire field without harming runtime +// functionality of the descriptors -- the information is needed only by +// development tools. +@property(nonatomic, readwrite) BOOL hasSourceCodeInfo; +@property(nonatomic, readwrite, strong, null_resettable) GPBSourceCodeInfo *sourceCodeInfo; + +// The syntax of the proto file. +// The supported values are "proto2" and "proto3". +@property(nonatomic, readwrite) BOOL hasSyntax; +@property(nonatomic, readwrite, copy, null_resettable) NSString *syntax; + +@end + +#pragma mark - GPBDescriptorProto + +typedef GPB_ENUM(GPBDescriptorProto_FieldNumber) { + GPBDescriptorProto_FieldNumber_Name = 1, + GPBDescriptorProto_FieldNumber_FieldArray = 2, + GPBDescriptorProto_FieldNumber_NestedTypeArray = 3, + GPBDescriptorProto_FieldNumber_EnumTypeArray = 4, + GPBDescriptorProto_FieldNumber_ExtensionRangeArray = 5, + GPBDescriptorProto_FieldNumber_ExtensionArray = 6, + GPBDescriptorProto_FieldNumber_Options = 7, + GPBDescriptorProto_FieldNumber_OneofDeclArray = 8, + GPBDescriptorProto_FieldNumber_ReservedRangeArray = 9, + GPBDescriptorProto_FieldNumber_ReservedNameArray = 10, +}; + +// Describes a message type. +@interface GPBDescriptorProto : GPBMessage + +@property(nonatomic, readwrite) BOOL hasName; +@property(nonatomic, readwrite, copy, null_resettable) NSString *name; + +// |fieldArray| contains |GPBFieldDescriptorProto| +@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray *fieldArray; +@property(nonatomic, readonly) NSUInteger fieldArray_Count; + +// |extensionArray| contains |GPBFieldDescriptorProto| +@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray *extensionArray; +@property(nonatomic, readonly) NSUInteger extensionArray_Count; + +// |nestedTypeArray| contains |GPBDescriptorProto| +@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray *nestedTypeArray; +@property(nonatomic, readonly) NSUInteger nestedTypeArray_Count; + +// |enumTypeArray| contains |GPBEnumDescriptorProto| +@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray *enumTypeArray; +@property(nonatomic, readonly) NSUInteger enumTypeArray_Count; + +// |extensionRangeArray| contains |GPBDescriptorProto_ExtensionRange| +@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray *extensionRangeArray; +@property(nonatomic, readonly) NSUInteger extensionRangeArray_Count; + +// |oneofDeclArray| contains |GPBOneofDescriptorProto| +@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray *oneofDeclArray; +@property(nonatomic, readonly) NSUInteger oneofDeclArray_Count; + +@property(nonatomic, readwrite) BOOL hasOptions; +@property(nonatomic, readwrite, strong, null_resettable) GPBMessageOptions *options; + +// |reservedRangeArray| contains |GPBDescriptorProto_ReservedRange| +@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray *reservedRangeArray; +@property(nonatomic, readonly) NSUInteger reservedRangeArray_Count; + +// Reserved field names, which may not be used by fields in the same message. +// A given name may only be reserved once. +// |reservedNameArray| contains |NSString| +@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray *reservedNameArray; +@property(nonatomic, readonly) NSUInteger reservedNameArray_Count; + +@end + +#pragma mark - GPBDescriptorProto_ExtensionRange + +typedef GPB_ENUM(GPBDescriptorProto_ExtensionRange_FieldNumber) { + GPBDescriptorProto_ExtensionRange_FieldNumber_Start = 1, + GPBDescriptorProto_ExtensionRange_FieldNumber_End = 2, +}; + +@interface GPBDescriptorProto_ExtensionRange : GPBMessage + +@property(nonatomic, readwrite) BOOL hasStart; +@property(nonatomic, readwrite) int32_t start; + +@property(nonatomic, readwrite) BOOL hasEnd; +@property(nonatomic, readwrite) int32_t end; + +@end + +#pragma mark - GPBDescriptorProto_ReservedRange + +typedef GPB_ENUM(GPBDescriptorProto_ReservedRange_FieldNumber) { + GPBDescriptorProto_ReservedRange_FieldNumber_Start = 1, + GPBDescriptorProto_ReservedRange_FieldNumber_End = 2, +}; + +// Range of reserved tag numbers. Reserved tag numbers may not be used by +// fields or extension ranges in the same message. Reserved ranges may +// not overlap. +@interface GPBDescriptorProto_ReservedRange : GPBMessage + +// Inclusive. +@property(nonatomic, readwrite) BOOL hasStart; +@property(nonatomic, readwrite) int32_t start; + +// Exclusive. +@property(nonatomic, readwrite) BOOL hasEnd; +@property(nonatomic, readwrite) int32_t end; + +@end + +#pragma mark - GPBFieldDescriptorProto + +typedef GPB_ENUM(GPBFieldDescriptorProto_FieldNumber) { + GPBFieldDescriptorProto_FieldNumber_Name = 1, + GPBFieldDescriptorProto_FieldNumber_Extendee = 2, + GPBFieldDescriptorProto_FieldNumber_Number = 3, + GPBFieldDescriptorProto_FieldNumber_Label = 4, + GPBFieldDescriptorProto_FieldNumber_Type = 5, + GPBFieldDescriptorProto_FieldNumber_TypeName = 6, + GPBFieldDescriptorProto_FieldNumber_DefaultValue = 7, + GPBFieldDescriptorProto_FieldNumber_Options = 8, + GPBFieldDescriptorProto_FieldNumber_OneofIndex = 9, +}; + +// Describes a field within a message. +@interface GPBFieldDescriptorProto : GPBMessage + +@property(nonatomic, readwrite) BOOL hasName; +@property(nonatomic, readwrite, copy, null_resettable) NSString *name; + +@property(nonatomic, readwrite) BOOL hasNumber; +@property(nonatomic, readwrite) int32_t number; + +@property(nonatomic, readwrite) BOOL hasLabel; +@property(nonatomic, readwrite) GPBFieldDescriptorProto_Label label; + +// If type_name is set, this need not be set. If both this and type_name +// are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP. +@property(nonatomic, readwrite) BOOL hasType; +@property(nonatomic, readwrite) GPBFieldDescriptorProto_Type type; + +// For message and enum types, this is the name of the type. If the name +// starts with a '.', it is fully-qualified. Otherwise, C++-like scoping +// rules are used to find the type (i.e. first the nested types within this +// message are searched, then within the parent, on up to the root +// namespace). +@property(nonatomic, readwrite) BOOL hasTypeName; +@property(nonatomic, readwrite, copy, null_resettable) NSString *typeName; + +// For extensions, this is the name of the type being extended. It is +// resolved in the same manner as type_name. +@property(nonatomic, readwrite) BOOL hasExtendee; +@property(nonatomic, readwrite, copy, null_resettable) NSString *extendee; + +// For numeric types, contains the original text representation of the value. +// For booleans, "true" or "false". +// For strings, contains the default text contents (not escaped in any way). +// For bytes, contains the C escaped value. All bytes >= 128 are escaped. +// TODO(kenton): Base-64 encode? +@property(nonatomic, readwrite) BOOL hasDefaultValue; +@property(nonatomic, readwrite, copy, null_resettable) NSString *defaultValue; + +// If set, gives the index of a oneof in the containing type's oneof_decl +// list. This field is a member of that oneof. +@property(nonatomic, readwrite) BOOL hasOneofIndex; +@property(nonatomic, readwrite) int32_t oneofIndex; + +@property(nonatomic, readwrite) BOOL hasOptions; +@property(nonatomic, readwrite, strong, null_resettable) GPBFieldOptions *options; + +@end + +#pragma mark - GPBOneofDescriptorProto + +typedef GPB_ENUM(GPBOneofDescriptorProto_FieldNumber) { + GPBOneofDescriptorProto_FieldNumber_Name = 1, +}; + +// Describes a oneof. +@interface GPBOneofDescriptorProto : GPBMessage + +@property(nonatomic, readwrite) BOOL hasName; +@property(nonatomic, readwrite, copy, null_resettable) NSString *name; + +@end + +#pragma mark - GPBEnumDescriptorProto + +typedef GPB_ENUM(GPBEnumDescriptorProto_FieldNumber) { + GPBEnumDescriptorProto_FieldNumber_Name = 1, + GPBEnumDescriptorProto_FieldNumber_ValueArray = 2, + GPBEnumDescriptorProto_FieldNumber_Options = 3, +}; + +// Describes an enum type. +@interface GPBEnumDescriptorProto : GPBMessage + +@property(nonatomic, readwrite) BOOL hasName; +@property(nonatomic, readwrite, copy, null_resettable) NSString *name; + +// |valueArray| contains |GPBEnumValueDescriptorProto| +@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray *valueArray; +@property(nonatomic, readonly) NSUInteger valueArray_Count; + +@property(nonatomic, readwrite) BOOL hasOptions; +@property(nonatomic, readwrite, strong, null_resettable) GPBEnumOptions *options; + +@end + +#pragma mark - GPBEnumValueDescriptorProto + +typedef GPB_ENUM(GPBEnumValueDescriptorProto_FieldNumber) { + GPBEnumValueDescriptorProto_FieldNumber_Name = 1, + GPBEnumValueDescriptorProto_FieldNumber_Number = 2, + GPBEnumValueDescriptorProto_FieldNumber_Options = 3, +}; + +// Describes a value within an enum. +@interface GPBEnumValueDescriptorProto : GPBMessage + +@property(nonatomic, readwrite) BOOL hasName; +@property(nonatomic, readwrite, copy, null_resettable) NSString *name; + +@property(nonatomic, readwrite) BOOL hasNumber; +@property(nonatomic, readwrite) int32_t number; + +@property(nonatomic, readwrite) BOOL hasOptions; +@property(nonatomic, readwrite, strong, null_resettable) GPBEnumValueOptions *options; + +@end + +#pragma mark - GPBServiceDescriptorProto + +typedef GPB_ENUM(GPBServiceDescriptorProto_FieldNumber) { + GPBServiceDescriptorProto_FieldNumber_Name = 1, + GPBServiceDescriptorProto_FieldNumber_MethodArray = 2, + GPBServiceDescriptorProto_FieldNumber_Options = 3, +}; + +// Describes a service. +@interface GPBServiceDescriptorProto : GPBMessage + +@property(nonatomic, readwrite) BOOL hasName; +@property(nonatomic, readwrite, copy, null_resettable) NSString *name; + +// |methodArray| contains |GPBMethodDescriptorProto| +@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray *methodArray; +@property(nonatomic, readonly) NSUInteger methodArray_Count; + +@property(nonatomic, readwrite) BOOL hasOptions; +@property(nonatomic, readwrite, strong, null_resettable) GPBServiceOptions *options; + +@end + +#pragma mark - GPBMethodDescriptorProto + +typedef GPB_ENUM(GPBMethodDescriptorProto_FieldNumber) { + GPBMethodDescriptorProto_FieldNumber_Name = 1, + GPBMethodDescriptorProto_FieldNumber_InputType = 2, + GPBMethodDescriptorProto_FieldNumber_OutputType = 3, + GPBMethodDescriptorProto_FieldNumber_Options = 4, + GPBMethodDescriptorProto_FieldNumber_ClientStreaming = 5, + GPBMethodDescriptorProto_FieldNumber_ServerStreaming = 6, +}; + +// Describes a method of a service. +@interface GPBMethodDescriptorProto : GPBMessage + +@property(nonatomic, readwrite) BOOL hasName; +@property(nonatomic, readwrite, copy, null_resettable) NSString *name; + +// Input and output type names. These are resolved in the same way as +// FieldDescriptorProto.type_name, but must refer to a message type. +@property(nonatomic, readwrite) BOOL hasInputType; +@property(nonatomic, readwrite, copy, null_resettable) NSString *inputType; + +@property(nonatomic, readwrite) BOOL hasOutputType; +@property(nonatomic, readwrite, copy, null_resettable) NSString *outputType; + +@property(nonatomic, readwrite) BOOL hasOptions; +@property(nonatomic, readwrite, strong, null_resettable) GPBMethodOptions *options; + +// Identifies if client streams multiple client messages +@property(nonatomic, readwrite) BOOL hasClientStreaming; +@property(nonatomic, readwrite) BOOL clientStreaming; + +// Identifies if server streams multiple server messages +@property(nonatomic, readwrite) BOOL hasServerStreaming; +@property(nonatomic, readwrite) BOOL serverStreaming; + +@end + +#pragma mark - GPBFileOptions + +typedef GPB_ENUM(GPBFileOptions_FieldNumber) { + GPBFileOptions_FieldNumber_JavaPackage = 1, + GPBFileOptions_FieldNumber_JavaOuterClassname = 8, + GPBFileOptions_FieldNumber_OptimizeFor = 9, + GPBFileOptions_FieldNumber_JavaMultipleFiles = 10, + GPBFileOptions_FieldNumber_GoPackage = 11, + GPBFileOptions_FieldNumber_CcGenericServices = 16, + GPBFileOptions_FieldNumber_JavaGenericServices = 17, + GPBFileOptions_FieldNumber_PyGenericServices = 18, + GPBFileOptions_FieldNumber_JavaGenerateEqualsAndHash = 20, + GPBFileOptions_FieldNumber_Deprecated = 23, + GPBFileOptions_FieldNumber_JavaStringCheckUtf8 = 27, + GPBFileOptions_FieldNumber_CcEnableArenas = 31, + GPBFileOptions_FieldNumber_ObjcClassPrefix = 36, + GPBFileOptions_FieldNumber_CsharpNamespace = 37, + GPBFileOptions_FieldNumber_UninterpretedOptionArray = 999, +}; + +@interface GPBFileOptions : GPBMessage + +// Sets the Java package where classes generated from this .proto will be +// placed. By default, the proto package is used, but this is often +// inappropriate because proto packages do not normally start with backwards +// domain names. +@property(nonatomic, readwrite) BOOL hasJavaPackage; +@property(nonatomic, readwrite, copy, null_resettable) NSString *javaPackage; + +// If set, all the classes from the .proto file are wrapped in a single +// outer class with the given name. This applies to both Proto1 +// (equivalent to the old "--one_java_file" option) and Proto2 (where +// a .proto always translates to a single class, but you may want to +// explicitly choose the class name). +@property(nonatomic, readwrite) BOOL hasJavaOuterClassname; +@property(nonatomic, readwrite, copy, null_resettable) NSString *javaOuterClassname; + +// If set true, then the Java code generator will generate a separate .java +// file for each top-level message, enum, and service defined in the .proto +// file. Thus, these types will *not* be nested inside the outer class +// named by java_outer_classname. However, the outer class will still be +// generated to contain the file's getDescriptor() method as well as any +// top-level extensions defined in the file. +@property(nonatomic, readwrite) BOOL hasJavaMultipleFiles; +@property(nonatomic, readwrite) BOOL javaMultipleFiles; + +// If set true, then the Java code generator will generate equals() and +// hashCode() methods for all messages defined in the .proto file. +// - In the full runtime, this is purely a speed optimization, as the +// AbstractMessage base class includes reflection-based implementations of +// these methods. +//- In the lite runtime, setting this option changes the semantics of +// equals() and hashCode() to more closely match those of the full runtime; +// the generated methods compute their results based on field values rather +// than object identity. (Implementations should not assume that hashcodes +// will be consistent across runtimes or versions of the protocol compiler.) +@property(nonatomic, readwrite) BOOL hasJavaGenerateEqualsAndHash; +@property(nonatomic, readwrite) BOOL javaGenerateEqualsAndHash; + +// If set true, then the Java2 code generator will generate code that +// throws an exception whenever an attempt is made to assign a non-UTF-8 +// byte sequence to a string field. +// Message reflection will do the same. +// However, an extension field still accepts non-UTF-8 byte sequences. +// This option has no effect on when used with the lite runtime. +@property(nonatomic, readwrite) BOOL hasJavaStringCheckUtf8; +@property(nonatomic, readwrite) BOOL javaStringCheckUtf8; + +@property(nonatomic, readwrite) BOOL hasOptimizeFor; +@property(nonatomic, readwrite) GPBFileOptions_OptimizeMode optimizeFor; + +// Sets the Go package where structs generated from this .proto will be +// placed. If omitted, the Go package will be derived from the following: +// - The basename of the package import path, if provided. +// - Otherwise, the package statement in the .proto file, if present. +// - Otherwise, the basename of the .proto file, without extension. +@property(nonatomic, readwrite) BOOL hasGoPackage; +@property(nonatomic, readwrite, copy, null_resettable) NSString *goPackage; + +// Should generic services be generated in each language? "Generic" services +// are not specific to any particular RPC system. They are generated by the +// main code generators in each language (without additional plugins). +// Generic services were the only kind of service generation supported by +// early versions of google.protobuf. +// +// Generic services are now considered deprecated in favor of using plugins +// that generate code specific to your particular RPC system. Therefore, +// these default to false. Old code which depends on generic services should +// explicitly set them to true. +@property(nonatomic, readwrite) BOOL hasCcGenericServices; +@property(nonatomic, readwrite) BOOL ccGenericServices; + +@property(nonatomic, readwrite) BOOL hasJavaGenericServices; +@property(nonatomic, readwrite) BOOL javaGenericServices; + +@property(nonatomic, readwrite) BOOL hasPyGenericServices; +@property(nonatomic, readwrite) BOOL pyGenericServices; + +// Is this file deprecated? +// Depending on the target platform, this can emit Deprecated annotations +// for everything in the file, or it will be completely ignored; in the very +// least, this is a formalization for deprecating files. +@property(nonatomic, readwrite) BOOL hasDeprecated; +@property(nonatomic, readwrite) BOOL deprecated; + +// Enables the use of arenas for the proto messages in this file. This applies +// only to generated classes for C++. +@property(nonatomic, readwrite) BOOL hasCcEnableArenas; +@property(nonatomic, readwrite) BOOL ccEnableArenas; + +// Sets the objective c class prefix which is prepended to all objective c +// generated classes from this .proto. There is no default. +@property(nonatomic, readwrite) BOOL hasObjcClassPrefix; +@property(nonatomic, readwrite, copy, null_resettable) NSString *objcClassPrefix; + +// Namespace for generated classes; defaults to the package. +@property(nonatomic, readwrite) BOOL hasCsharpNamespace; +@property(nonatomic, readwrite, copy, null_resettable) NSString *csharpNamespace; + +// The parser stores options it doesn't recognize here. See above. +// |uninterpretedOptionArray| contains |GPBUninterpretedOption| +@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray *uninterpretedOptionArray; +@property(nonatomic, readonly) NSUInteger uninterpretedOptionArray_Count; + +@end + +#pragma mark - GPBMessageOptions + +typedef GPB_ENUM(GPBMessageOptions_FieldNumber) { + GPBMessageOptions_FieldNumber_MessageSetWireFormat = 1, + GPBMessageOptions_FieldNumber_NoStandardDescriptorAccessor = 2, + GPBMessageOptions_FieldNumber_Deprecated = 3, + GPBMessageOptions_FieldNumber_MapEntry = 7, + GPBMessageOptions_FieldNumber_UninterpretedOptionArray = 999, +}; + +@interface GPBMessageOptions : GPBMessage + +// Set true to use the old proto1 MessageSet wire format for extensions. +// This is provided for backwards-compatibility with the MessageSet wire +// format. You should not use this for any other reason: It's less +// efficient, has fewer features, and is more complicated. +// +// The message must be defined exactly as follows: +// message Foo { +// option message_set_wire_format = true; +// extensions 4 to max; +// } +// Note that the message cannot have any defined fields; MessageSets only +// have extensions. +// +// All extensions of your type must be singular messages; e.g. they cannot +// be int32s, enums, or repeated messages. +// +// Because this is an option, the above two restrictions are not enforced by +// the protocol compiler. +@property(nonatomic, readwrite) BOOL hasMessageSetWireFormat; +@property(nonatomic, readwrite) BOOL messageSetWireFormat; + +// Disables the generation of the standard "descriptor()" accessor, which can +// conflict with a field of the same name. This is meant to make migration +// from proto1 easier; new code should avoid fields named "descriptor". +@property(nonatomic, readwrite) BOOL hasNoStandardDescriptorAccessor; +@property(nonatomic, readwrite) BOOL noStandardDescriptorAccessor; + +// Is this message deprecated? +// Depending on the target platform, this can emit Deprecated annotations +// for the message, or it will be completely ignored; in the very least, +// this is a formalization for deprecating messages. +@property(nonatomic, readwrite) BOOL hasDeprecated; +@property(nonatomic, readwrite) BOOL deprecated; + +// Whether the message is an automatically generated map entry type for the +// maps field. +// +// For maps fields: +// map<KeyType, ValueType> map_field = 1; +// The parsed descriptor looks like: +// message MapFieldEntry { +// option map_entry = true; +// optional KeyType key = 1; +// optional ValueType value = 2; +// } +// repeated MapFieldEntry map_field = 1; +// +// Implementations may choose not to generate the map_entry=true message, but +// use a native map in the target language to hold the keys and values. +// The reflection APIs in such implementions still need to work as +// if the field is a repeated message field. +// +// NOTE: Do not set the option in .proto files. Always use the maps syntax +// instead. The option should only be implicitly set by the proto compiler +// parser. +@property(nonatomic, readwrite) BOOL hasMapEntry; +@property(nonatomic, readwrite) BOOL mapEntry; + +// The parser stores options it doesn't recognize here. See above. +// |uninterpretedOptionArray| contains |GPBUninterpretedOption| +@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray *uninterpretedOptionArray; +@property(nonatomic, readonly) NSUInteger uninterpretedOptionArray_Count; + +@end + +#pragma mark - GPBFieldOptions + +typedef GPB_ENUM(GPBFieldOptions_FieldNumber) { + GPBFieldOptions_FieldNumber_Ctype = 1, + GPBFieldOptions_FieldNumber_Packed = 2, + GPBFieldOptions_FieldNumber_Deprecated = 3, + GPBFieldOptions_FieldNumber_Lazy = 5, + GPBFieldOptions_FieldNumber_Jstype = 6, + GPBFieldOptions_FieldNumber_Weak = 10, + GPBFieldOptions_FieldNumber_UninterpretedOptionArray = 999, +}; + +@interface GPBFieldOptions : GPBMessage + +// The ctype option instructs the C++ code generator to use a different +// representation of the field than it normally would. See the specific +// options below. This option is not yet implemented in the open source +// release -- sorry, we'll try to include it in a future version! +@property(nonatomic, readwrite) BOOL hasCtype; +@property(nonatomic, readwrite) GPBFieldOptions_CType ctype; + +// The packed option can be enabled for repeated primitive fields to enable +// a more efficient representation on the wire. Rather than repeatedly +// writing the tag and type for each element, the entire array is encoded as +// a single length-delimited blob. In proto3, only explicit setting it to +// false will avoid using packed encoding. +@property(nonatomic, readwrite) BOOL hasPacked; +@property(nonatomic, readwrite) BOOL packed; + +// The jstype option determines the JavaScript type used for values of the +// field. The option is permitted only for 64 bit integral and fixed types +// (int64, uint64, sint64, fixed64, sfixed64). By default these types are +// represented as JavaScript strings. This avoids loss of precision that can +// happen when a large value is converted to a floating point JavaScript +// numbers. Specifying JS_NUMBER for the jstype causes the generated +// JavaScript code to use the JavaScript "number" type instead of strings. +// This option is an enum to permit additional types to be added, +// e.g. goog.math.Integer. +@property(nonatomic, readwrite) BOOL hasJstype; +@property(nonatomic, readwrite) GPBFieldOptions_JSType jstype; + +// Should this field be parsed lazily? Lazy applies only to message-type +// fields. It means that when the outer message is initially parsed, the +// inner message's contents will not be parsed but instead stored in encoded +// form. The inner message will actually be parsed when it is first accessed. +// +// This is only a hint. Implementations are free to choose whether to use +// eager or lazy parsing regardless of the value of this option. However, +// setting this option true suggests that the protocol author believes that +// using lazy parsing on this field is worth the additional bookkeeping +// overhead typically needed to implement it. +// +// This option does not affect the public interface of any generated code; +// all method signatures remain the same. Furthermore, thread-safety of the +// interface is not affected by this option; const methods remain safe to +// call from multiple threads concurrently, while non-const methods continue +// to require exclusive access. +// +// +// Note that implementations may choose not to check required fields within +// a lazy sub-message. That is, calling IsInitialized() on the outher message +// may return true even if the inner message has missing required fields. +// This is necessary because otherwise the inner message would have to be +// parsed in order to perform the check, defeating the purpose of lazy +// parsing. An implementation which chooses not to check required fields +// must be consistent about it. That is, for any particular sub-message, the +// implementation must either *always* check its required fields, or *never* +// check its required fields, regardless of whether or not the message has +// been parsed. +@property(nonatomic, readwrite) BOOL hasLazy; +@property(nonatomic, readwrite) BOOL lazy; + +// Is this field deprecated? +// Depending on the target platform, this can emit Deprecated annotations +// for accessors, or it will be completely ignored; in the very least, this +// is a formalization for deprecating fields. +@property(nonatomic, readwrite) BOOL hasDeprecated; +@property(nonatomic, readwrite) BOOL deprecated; + +// For Google-internal migration only. Do not use. +@property(nonatomic, readwrite) BOOL hasWeak; +@property(nonatomic, readwrite) BOOL weak; + +// The parser stores options it doesn't recognize here. See above. +// |uninterpretedOptionArray| contains |GPBUninterpretedOption| +@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray *uninterpretedOptionArray; +@property(nonatomic, readonly) NSUInteger uninterpretedOptionArray_Count; + +@end + +#pragma mark - GPBEnumOptions + +typedef GPB_ENUM(GPBEnumOptions_FieldNumber) { + GPBEnumOptions_FieldNumber_AllowAlias = 2, + GPBEnumOptions_FieldNumber_Deprecated = 3, + GPBEnumOptions_FieldNumber_UninterpretedOptionArray = 999, +}; + +@interface GPBEnumOptions : GPBMessage + +// Set this option to true to allow mapping different tag names to the same +// value. +@property(nonatomic, readwrite) BOOL hasAllowAlias; +@property(nonatomic, readwrite) BOOL allowAlias; + +// Is this enum deprecated? +// Depending on the target platform, this can emit Deprecated annotations +// for the enum, or it will be completely ignored; in the very least, this +// is a formalization for deprecating enums. +@property(nonatomic, readwrite) BOOL hasDeprecated; +@property(nonatomic, readwrite) BOOL deprecated; + +// The parser stores options it doesn't recognize here. See above. +// |uninterpretedOptionArray| contains |GPBUninterpretedOption| +@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray *uninterpretedOptionArray; +@property(nonatomic, readonly) NSUInteger uninterpretedOptionArray_Count; + +@end + +#pragma mark - GPBEnumValueOptions + +typedef GPB_ENUM(GPBEnumValueOptions_FieldNumber) { + GPBEnumValueOptions_FieldNumber_Deprecated = 1, + GPBEnumValueOptions_FieldNumber_UninterpretedOptionArray = 999, +}; + +@interface GPBEnumValueOptions : GPBMessage + +// Is this enum value deprecated? +// Depending on the target platform, this can emit Deprecated annotations +// for the enum value, or it will be completely ignored; in the very least, +// this is a formalization for deprecating enum values. +@property(nonatomic, readwrite) BOOL hasDeprecated; +@property(nonatomic, readwrite) BOOL deprecated; + +// The parser stores options it doesn't recognize here. See above. +// |uninterpretedOptionArray| contains |GPBUninterpretedOption| +@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray *uninterpretedOptionArray; +@property(nonatomic, readonly) NSUInteger uninterpretedOptionArray_Count; + +@end + +#pragma mark - GPBServiceOptions + +typedef GPB_ENUM(GPBServiceOptions_FieldNumber) { + GPBServiceOptions_FieldNumber_Deprecated = 33, + GPBServiceOptions_FieldNumber_UninterpretedOptionArray = 999, +}; + +@interface GPBServiceOptions : GPBMessage + +// Is this service deprecated? +// Depending on the target platform, this can emit Deprecated annotations +// for the service, or it will be completely ignored; in the very least, +// this is a formalization for deprecating services. +@property(nonatomic, readwrite) BOOL hasDeprecated; +@property(nonatomic, readwrite) BOOL deprecated; + +// The parser stores options it doesn't recognize here. See above. +// |uninterpretedOptionArray| contains |GPBUninterpretedOption| +@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray *uninterpretedOptionArray; +@property(nonatomic, readonly) NSUInteger uninterpretedOptionArray_Count; + +@end + +#pragma mark - GPBMethodOptions + +typedef GPB_ENUM(GPBMethodOptions_FieldNumber) { + GPBMethodOptions_FieldNumber_Deprecated = 33, + GPBMethodOptions_FieldNumber_UninterpretedOptionArray = 999, +}; + +@interface GPBMethodOptions : GPBMessage + +// Is this method deprecated? +// Depending on the target platform, this can emit Deprecated annotations +// for the method, or it will be completely ignored; in the very least, +// this is a formalization for deprecating methods. +@property(nonatomic, readwrite) BOOL hasDeprecated; +@property(nonatomic, readwrite) BOOL deprecated; + +// The parser stores options it doesn't recognize here. See above. +// |uninterpretedOptionArray| contains |GPBUninterpretedOption| +@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray *uninterpretedOptionArray; +@property(nonatomic, readonly) NSUInteger uninterpretedOptionArray_Count; + +@end + +#pragma mark - GPBUninterpretedOption + +typedef GPB_ENUM(GPBUninterpretedOption_FieldNumber) { + GPBUninterpretedOption_FieldNumber_NameArray = 2, + GPBUninterpretedOption_FieldNumber_IdentifierValue = 3, + GPBUninterpretedOption_FieldNumber_PositiveIntValue = 4, + GPBUninterpretedOption_FieldNumber_NegativeIntValue = 5, + GPBUninterpretedOption_FieldNumber_DoubleValue = 6, + GPBUninterpretedOption_FieldNumber_StringValue = 7, + GPBUninterpretedOption_FieldNumber_AggregateValue = 8, +}; + +// A message representing a option the parser does not recognize. This only +// appears in options protos created by the compiler::Parser class. +// DescriptorPool resolves these when building Descriptor objects. Therefore, +// options protos in descriptor objects (e.g. returned by Descriptor::options(), +// or produced by Descriptor::CopyTo()) will never have UninterpretedOptions +// in them. +@interface GPBUninterpretedOption : GPBMessage + +// |nameArray| contains |GPBUninterpretedOption_NamePart| +@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray *nameArray; +@property(nonatomic, readonly) NSUInteger nameArray_Count; + +// The value of the uninterpreted option, in whatever type the tokenizer +// identified it as during parsing. Exactly one of these should be set. +@property(nonatomic, readwrite) BOOL hasIdentifierValue; +@property(nonatomic, readwrite, copy, null_resettable) NSString *identifierValue; + +@property(nonatomic, readwrite) BOOL hasPositiveIntValue; +@property(nonatomic, readwrite) uint64_t positiveIntValue; + +@property(nonatomic, readwrite) BOOL hasNegativeIntValue; +@property(nonatomic, readwrite) int64_t negativeIntValue; + +@property(nonatomic, readwrite) BOOL hasDoubleValue; +@property(nonatomic, readwrite) double doubleValue; + +@property(nonatomic, readwrite) BOOL hasStringValue; +@property(nonatomic, readwrite, copy, null_resettable) NSData *stringValue; + +@property(nonatomic, readwrite) BOOL hasAggregateValue; +@property(nonatomic, readwrite, copy, null_resettable) NSString *aggregateValue; + +@end + +#pragma mark - GPBUninterpretedOption_NamePart + +typedef GPB_ENUM(GPBUninterpretedOption_NamePart_FieldNumber) { + GPBUninterpretedOption_NamePart_FieldNumber_NamePart = 1, + GPBUninterpretedOption_NamePart_FieldNumber_IsExtension = 2, +}; + +// The name of the uninterpreted option. Each string represents a segment in +// a dot-separated name. is_extension is true iff a segment represents an +// extension (denoted with parentheses in options specs in .proto files). +// E.g.,{ ["foo", false], ["bar.baz", true], ["qux", false] } represents +// "foo.(bar.baz).qux". +@interface GPBUninterpretedOption_NamePart : GPBMessage + +@property(nonatomic, readwrite) BOOL hasNamePart; +@property(nonatomic, readwrite, copy, null_resettable) NSString *namePart; + +@property(nonatomic, readwrite) BOOL hasIsExtension; +@property(nonatomic, readwrite) BOOL isExtension; + +@end + +#pragma mark - GPBSourceCodeInfo + +typedef GPB_ENUM(GPBSourceCodeInfo_FieldNumber) { + GPBSourceCodeInfo_FieldNumber_LocationArray = 1, +}; + +// Encapsulates information about the original source file from which a +// FileDescriptorProto was generated. +@interface GPBSourceCodeInfo : GPBMessage + +// A Location identifies a piece of source code in a .proto file which +// corresponds to a particular definition. This information is intended +// to be useful to IDEs, code indexers, documentation generators, and similar +// tools. +// +// For example, say we have a file like: +// message Foo { +// optional string foo = 1; +// } +// Let's look at just the field definition: +// optional string foo = 1; +// ^ ^^ ^^ ^ ^^^ +// a bc de f ghi +// We have the following locations: +// span path represents +// [a,i) [ 4, 0, 2, 0 ] The whole field definition. +// [a,b) [ 4, 0, 2, 0, 4 ] The label (optional). +// [c,d) [ 4, 0, 2, 0, 5 ] The type (string). +// [e,f) [ 4, 0, 2, 0, 1 ] The name (foo). +// [g,h) [ 4, 0, 2, 0, 3 ] The number (1). +// +// Notes: +// - A location may refer to a repeated field itself (i.e. not to any +// particular index within it). This is used whenever a set of elements are +// logically enclosed in a single code segment. For example, an entire +// extend block (possibly containing multiple extension definitions) will +// have an outer location whose path refers to the "extensions" repeated +// field without an index. +// - Multiple locations may have the same path. This happens when a single +// logical declaration is spread out across multiple places. The most +// obvious example is the "extend" block again -- there may be multiple +// extend blocks in the same scope, each of which will have the same path. +// - A location's span is not always a subset of its parent's span. For +// example, the "extendee" of an extension declaration appears at the +// beginning of the "extend" block and is shared by all extensions within +// the block. +// - Just because a location's span is a subset of some other location's span +// does not mean that it is a descendent. For example, a "group" defines +// both a type and a field in a single declaration. Thus, the locations +// corresponding to the type and field and their components will overlap. +// - Code which tries to interpret locations should probably be designed to +// ignore those that it doesn't understand, as more types of locations could +// be recorded in the future. +// |locationArray| contains |GPBSourceCodeInfo_Location| +@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray *locationArray; +@property(nonatomic, readonly) NSUInteger locationArray_Count; + +@end + +#pragma mark - GPBSourceCodeInfo_Location + +typedef GPB_ENUM(GPBSourceCodeInfo_Location_FieldNumber) { + GPBSourceCodeInfo_Location_FieldNumber_PathArray = 1, + GPBSourceCodeInfo_Location_FieldNumber_SpanArray = 2, + GPBSourceCodeInfo_Location_FieldNumber_LeadingComments = 3, + GPBSourceCodeInfo_Location_FieldNumber_TrailingComments = 4, + GPBSourceCodeInfo_Location_FieldNumber_LeadingDetachedCommentsArray = 6, +}; + +@interface GPBSourceCodeInfo_Location : GPBMessage + +// Identifies which part of the FileDescriptorProto was defined at this +// location. +// +// Each element is a field number or an index. They form a path from +// the root FileDescriptorProto to the place where the definition. For +// example, this path: +// [ 4, 3, 2, 7, 1 ] +// refers to: +// file.message_type(3) // 4, 3 +// .field(7) // 2, 7 +// .name() // 1 +// This is because FileDescriptorProto.message_type has field number 4: +// repeated DescriptorProto message_type = 4; +// and DescriptorProto.field has field number 2: +// repeated FieldDescriptorProto field = 2; +// and FieldDescriptorProto.name has field number 1: +// optional string name = 1; +// +// Thus, the above path gives the location of a field name. If we removed +// the last element: +// [ 4, 3, 2, 7 ] +// this path refers to the whole field declaration (from the beginning +// of the label to the terminating semicolon). +@property(nonatomic, readwrite, strong, null_resettable) GPBInt32Array *pathArray; +@property(nonatomic, readonly) NSUInteger pathArray_Count; + +// Always has exactly three or four elements: start line, start column, +// end line (optional, otherwise assumed same as start line), end column. +// These are packed into a single field for efficiency. Note that line +// and column numbers are zero-based -- typically you will want to add +// 1 to each before displaying to a user. +@property(nonatomic, readwrite, strong, null_resettable) GPBInt32Array *spanArray; +@property(nonatomic, readonly) NSUInteger spanArray_Count; + +// If this SourceCodeInfo represents a complete declaration, these are any +// comments appearing before and after the declaration which appear to be +// attached to the declaration. +// +// A series of line comments appearing on consecutive lines, with no other +// tokens appearing on those lines, will be treated as a single comment. +// +// leading_detached_comments will keep paragraphs of comments that appear +// before (but not connected to) the current element. Each paragraph, +// separated by empty lines, will be one comment element in the repeated +// field. +// +// Only the comment content is provided; comment markers (e.g. //) are +// stripped out. For block comments, leading whitespace and an asterisk +// will be stripped from the beginning of each line other than the first. +// Newlines are included in the output. +// +// Examples: +// +// optional int32 foo = 1; // Comment attached to foo. +// // Comment attached to bar. +// optional int32 bar = 2; +// +// optional string baz = 3; +// // Comment attached to baz. +// // Another line attached to baz. +// +// // Comment attached to qux. +// // +// // Another line attached to qux. +// optional double qux = 4; +// +// // Detached comment for corge. This is not leading or trailing comments +// // to qux or corge because there are blank lines separating it from +// // both. +// +// // Detached comment for corge paragraph 2. +// +// optional string corge = 5; +// /* Block comment attached +// * to corge. Leading asterisks +// * will be removed. */ +// /* Block comment attached to +// * grault. */ +// optional int32 grault = 6; +// +// // ignored detached comments. +@property(nonatomic, readwrite) BOOL hasLeadingComments; +@property(nonatomic, readwrite, copy, null_resettable) NSString *leadingComments; + +@property(nonatomic, readwrite) BOOL hasTrailingComments; +@property(nonatomic, readwrite, copy, null_resettable) NSString *trailingComments; + +// |leadingDetachedCommentsArray| contains |NSString| +@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray *leadingDetachedCommentsArray; +@property(nonatomic, readonly) NSUInteger leadingDetachedCommentsArray_Count; + +@end + +NS_ASSUME_NONNULL_END + +CF_EXTERN_C_END + +// @@protoc_insertion_point(global_scope) diff --git a/objectivec/google/protobuf/Descriptor.pbobjc.m b/objectivec/google/protobuf/Descriptor.pbobjc.m new file mode 100644 index 00000000..8c535b9a --- /dev/null +++ b/objectivec/google/protobuf/Descriptor.pbobjc.m @@ -0,0 +1,2419 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: google/protobuf/descriptor.proto + +#import "GPBProtocolBuffers_RuntimeSupport.h" +#import "google/protobuf/Descriptor.pbobjc.h" +// @@protoc_insertion_point(imports) + +#pragma mark - GPBDescriptorRoot + +@implementation GPBDescriptorRoot + +@end + +#pragma mark - GPBDescriptorRoot_FileDescriptor + +static GPBFileDescriptor *GPBDescriptorRoot_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) { + GPBDebugCheckRuntimeVersion(); + descriptor = [[GPBFileDescriptor alloc] initWithPackage:@"google.protobuf" + syntax:GPBFileSyntaxProto2]; + } + return descriptor; +} + +#pragma mark - GPBFileDescriptorSet + +@implementation GPBFileDescriptorSet + +@dynamic fileArray, fileArray_Count; + +typedef struct GPBFileDescriptorSet__storage_ { + uint32_t _has_storage_[1]; + NSMutableArray *fileArray; +} GPBFileDescriptorSet__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 = "fileArray", + .number = GPBFileDescriptorSet_FieldNumber_FileArray, + .hasIndex = GPBNoHasBit, + .flags = GPBFieldRepeated, + .dataType = GPBDataTypeMessage, + .offset = offsetof(GPBFileDescriptorSet__storage_, fileArray), + .defaultValue.valueMessage = nil, + .dataTypeSpecific.className = GPBStringifySymbol(GPBFileDescriptorProto), + .fieldOptions = NULL, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GPBFileDescriptorSet class] + rootClass:[GPBDescriptorRoot class] + file:GPBDescriptorRoot_FileDescriptor() + fields:fields + fieldCount:sizeof(fields) / sizeof(GPBMessageFieldDescription) + oneofs:NULL + oneofCount:0 + enums:NULL + enumCount:0 + ranges:NULL + rangeCount:0 + storageSize:sizeof(GPBFileDescriptorSet__storage_) + wireFormat:NO]; + NSAssert(descriptor == nil, @"Startup recursed!"); + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +#pragma mark - GPBFileDescriptorProto + +@implementation GPBFileDescriptorProto + +@dynamic hasName, name; +@dynamic hasPackage, package; +@dynamic dependencyArray, dependencyArray_Count; +@dynamic publicDependencyArray, publicDependencyArray_Count; +@dynamic weakDependencyArray, weakDependencyArray_Count; +@dynamic messageTypeArray, messageTypeArray_Count; +@dynamic enumTypeArray, enumTypeArray_Count; +@dynamic serviceArray, serviceArray_Count; +@dynamic extensionArray, extensionArray_Count; +@dynamic hasOptions, options; +@dynamic hasSourceCodeInfo, sourceCodeInfo; +@dynamic hasSyntax, syntax; + +typedef struct GPBFileDescriptorProto__storage_ { + uint32_t _has_storage_[1]; + NSString *name; + NSString *package; + NSMutableArray *dependencyArray; + NSMutableArray *messageTypeArray; + NSMutableArray *enumTypeArray; + NSMutableArray *serviceArray; + NSMutableArray *extensionArray; + GPBFileOptions *options; + GPBSourceCodeInfo *sourceCodeInfo; + GPBInt32Array *publicDependencyArray; + GPBInt32Array *weakDependencyArray; + NSString *syntax; +} GPBFileDescriptorProto__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", + .number = GPBFileDescriptorProto_FieldNumber_Name, + .hasIndex = 0, + .flags = GPBFieldOptional, + .dataType = GPBDataTypeString, + .offset = offsetof(GPBFileDescriptorProto__storage_, name), + .defaultValue.valueString = nil, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + { + .name = "package", + .number = GPBFileDescriptorProto_FieldNumber_Package, + .hasIndex = 1, + .flags = GPBFieldOptional, + .dataType = GPBDataTypeString, + .offset = offsetof(GPBFileDescriptorProto__storage_, package), + .defaultValue.valueString = nil, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + { + .name = "dependencyArray", + .number = GPBFileDescriptorProto_FieldNumber_DependencyArray, + .hasIndex = GPBNoHasBit, + .flags = GPBFieldRepeated, + .dataType = GPBDataTypeString, + .offset = offsetof(GPBFileDescriptorProto__storage_, dependencyArray), + .defaultValue.valueMessage = nil, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + { + .name = "messageTypeArray", + .number = GPBFileDescriptorProto_FieldNumber_MessageTypeArray, + .hasIndex = GPBNoHasBit, + .flags = GPBFieldRepeated, + .dataType = GPBDataTypeMessage, + .offset = offsetof(GPBFileDescriptorProto__storage_, messageTypeArray), + .defaultValue.valueMessage = nil, + .dataTypeSpecific.className = GPBStringifySymbol(GPBDescriptorProto), + .fieldOptions = NULL, + }, + { + .name = "enumTypeArray", + .number = GPBFileDescriptorProto_FieldNumber_EnumTypeArray, + .hasIndex = GPBNoHasBit, + .flags = GPBFieldRepeated, + .dataType = GPBDataTypeMessage, + .offset = offsetof(GPBFileDescriptorProto__storage_, enumTypeArray), + .defaultValue.valueMessage = nil, + .dataTypeSpecific.className = GPBStringifySymbol(GPBEnumDescriptorProto), + .fieldOptions = NULL, + }, + { + .name = "serviceArray", + .number = GPBFileDescriptorProto_FieldNumber_ServiceArray, + .hasIndex = GPBNoHasBit, + .flags = GPBFieldRepeated, + .dataType = GPBDataTypeMessage, + .offset = offsetof(GPBFileDescriptorProto__storage_, serviceArray), + .defaultValue.valueMessage = nil, + .dataTypeSpecific.className = GPBStringifySymbol(GPBServiceDescriptorProto), + .fieldOptions = NULL, + }, + { + .name = "extensionArray", + .number = GPBFileDescriptorProto_FieldNumber_ExtensionArray, + .hasIndex = GPBNoHasBit, + .flags = GPBFieldRepeated, + .dataType = GPBDataTypeMessage, + .offset = offsetof(GPBFileDescriptorProto__storage_, extensionArray), + .defaultValue.valueMessage = nil, + .dataTypeSpecific.className = GPBStringifySymbol(GPBFieldDescriptorProto), + .fieldOptions = NULL, + }, + { + .name = "options", + .number = GPBFileDescriptorProto_FieldNumber_Options, + .hasIndex = 9, + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + .offset = offsetof(GPBFileDescriptorProto__storage_, options), + .defaultValue.valueMessage = nil, + .dataTypeSpecific.className = GPBStringifySymbol(GPBFileOptions), + .fieldOptions = NULL, + }, + { + .name = "sourceCodeInfo", + .number = GPBFileDescriptorProto_FieldNumber_SourceCodeInfo, + .hasIndex = 10, + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + .offset = offsetof(GPBFileDescriptorProto__storage_, sourceCodeInfo), + .defaultValue.valueMessage = nil, + .dataTypeSpecific.className = GPBStringifySymbol(GPBSourceCodeInfo), + .fieldOptions = NULL, + }, + { + .name = "publicDependencyArray", + .number = GPBFileDescriptorProto_FieldNumber_PublicDependencyArray, + .hasIndex = GPBNoHasBit, + .flags = GPBFieldRepeated, + .dataType = GPBDataTypeInt32, + .offset = offsetof(GPBFileDescriptorProto__storage_, publicDependencyArray), + .defaultValue.valueMessage = nil, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + { + .name = "weakDependencyArray", + .number = GPBFileDescriptorProto_FieldNumber_WeakDependencyArray, + .hasIndex = GPBNoHasBit, + .flags = GPBFieldRepeated, + .dataType = GPBDataTypeInt32, + .offset = offsetof(GPBFileDescriptorProto__storage_, weakDependencyArray), + .defaultValue.valueMessage = nil, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + { + .name = "syntax", + .number = GPBFileDescriptorProto_FieldNumber_Syntax, + .hasIndex = 11, + .flags = GPBFieldOptional, + .dataType = GPBDataTypeString, + .offset = offsetof(GPBFileDescriptorProto__storage_, syntax), + .defaultValue.valueString = nil, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GPBFileDescriptorProto class] + rootClass:[GPBDescriptorRoot class] + file:GPBDescriptorRoot_FileDescriptor() + fields:fields + fieldCount:sizeof(fields) / sizeof(GPBMessageFieldDescription) + oneofs:NULL + oneofCount:0 + enums:NULL + enumCount:0 + ranges:NULL + rangeCount:0 + storageSize:sizeof(GPBFileDescriptorProto__storage_) + wireFormat:NO]; + NSAssert(descriptor == nil, @"Startup recursed!"); + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +#pragma mark - GPBDescriptorProto + +@implementation GPBDescriptorProto + +@dynamic hasName, name; +@dynamic fieldArray, fieldArray_Count; +@dynamic extensionArray, extensionArray_Count; +@dynamic nestedTypeArray, nestedTypeArray_Count; +@dynamic enumTypeArray, enumTypeArray_Count; +@dynamic extensionRangeArray, extensionRangeArray_Count; +@dynamic oneofDeclArray, oneofDeclArray_Count; +@dynamic hasOptions, options; +@dynamic reservedRangeArray, reservedRangeArray_Count; +@dynamic reservedNameArray, reservedNameArray_Count; + +typedef struct GPBDescriptorProto__storage_ { + uint32_t _has_storage_[1]; + NSString *name; + NSMutableArray *fieldArray; + NSMutableArray *nestedTypeArray; + NSMutableArray *enumTypeArray; + NSMutableArray *extensionRangeArray; + NSMutableArray *extensionArray; + GPBMessageOptions *options; + NSMutableArray *oneofDeclArray; + NSMutableArray *reservedRangeArray; + NSMutableArray *reservedNameArray; +} GPBDescriptorProto__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", + .number = GPBDescriptorProto_FieldNumber_Name, + .hasIndex = 0, + .flags = GPBFieldOptional, + .dataType = GPBDataTypeString, + .offset = offsetof(GPBDescriptorProto__storage_, name), + .defaultValue.valueString = nil, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + { + .name = "fieldArray", + .number = GPBDescriptorProto_FieldNumber_FieldArray, + .hasIndex = GPBNoHasBit, + .flags = GPBFieldRepeated, + .dataType = GPBDataTypeMessage, + .offset = offsetof(GPBDescriptorProto__storage_, fieldArray), + .defaultValue.valueMessage = nil, + .dataTypeSpecific.className = GPBStringifySymbol(GPBFieldDescriptorProto), + .fieldOptions = NULL, + }, + { + .name = "nestedTypeArray", + .number = GPBDescriptorProto_FieldNumber_NestedTypeArray, + .hasIndex = GPBNoHasBit, + .flags = GPBFieldRepeated, + .dataType = GPBDataTypeMessage, + .offset = offsetof(GPBDescriptorProto__storage_, nestedTypeArray), + .defaultValue.valueMessage = nil, + .dataTypeSpecific.className = GPBStringifySymbol(GPBDescriptorProto), + .fieldOptions = NULL, + }, + { + .name = "enumTypeArray", + .number = GPBDescriptorProto_FieldNumber_EnumTypeArray, + .hasIndex = GPBNoHasBit, + .flags = GPBFieldRepeated, + .dataType = GPBDataTypeMessage, + .offset = offsetof(GPBDescriptorProto__storage_, enumTypeArray), + .defaultValue.valueMessage = nil, + .dataTypeSpecific.className = GPBStringifySymbol(GPBEnumDescriptorProto), + .fieldOptions = NULL, + }, + { + .name = "extensionRangeArray", + .number = GPBDescriptorProto_FieldNumber_ExtensionRangeArray, + .hasIndex = GPBNoHasBit, + .flags = GPBFieldRepeated, + .dataType = GPBDataTypeMessage, + .offset = offsetof(GPBDescriptorProto__storage_, extensionRangeArray), + .defaultValue.valueMessage = nil, + .dataTypeSpecific.className = GPBStringifySymbol(GPBDescriptorProto_ExtensionRange), + .fieldOptions = NULL, + }, + { + .name = "extensionArray", + .number = GPBDescriptorProto_FieldNumber_ExtensionArray, + .hasIndex = GPBNoHasBit, + .flags = GPBFieldRepeated, + .dataType = GPBDataTypeMessage, + .offset = offsetof(GPBDescriptorProto__storage_, extensionArray), + .defaultValue.valueMessage = nil, + .dataTypeSpecific.className = GPBStringifySymbol(GPBFieldDescriptorProto), + .fieldOptions = NULL, + }, + { + .name = "options", + .number = GPBDescriptorProto_FieldNumber_Options, + .hasIndex = 7, + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + .offset = offsetof(GPBDescriptorProto__storage_, options), + .defaultValue.valueMessage = nil, + .dataTypeSpecific.className = GPBStringifySymbol(GPBMessageOptions), + .fieldOptions = NULL, + }, + { + .name = "oneofDeclArray", + .number = GPBDescriptorProto_FieldNumber_OneofDeclArray, + .hasIndex = GPBNoHasBit, + .flags = GPBFieldRepeated, + .dataType = GPBDataTypeMessage, + .offset = offsetof(GPBDescriptorProto__storage_, oneofDeclArray), + .defaultValue.valueMessage = nil, + .dataTypeSpecific.className = GPBStringifySymbol(GPBOneofDescriptorProto), + .fieldOptions = NULL, + }, + { + .name = "reservedRangeArray", + .number = GPBDescriptorProto_FieldNumber_ReservedRangeArray, + .hasIndex = GPBNoHasBit, + .flags = GPBFieldRepeated, + .dataType = GPBDataTypeMessage, + .offset = offsetof(GPBDescriptorProto__storage_, reservedRangeArray), + .defaultValue.valueMessage = nil, + .dataTypeSpecific.className = GPBStringifySymbol(GPBDescriptorProto_ReservedRange), + .fieldOptions = NULL, + }, + { + .name = "reservedNameArray", + .number = GPBDescriptorProto_FieldNumber_ReservedNameArray, + .hasIndex = GPBNoHasBit, + .flags = GPBFieldRepeated, + .dataType = GPBDataTypeString, + .offset = offsetof(GPBDescriptorProto__storage_, reservedNameArray), + .defaultValue.valueMessage = nil, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GPBDescriptorProto class] + rootClass:[GPBDescriptorRoot class] + file:GPBDescriptorRoot_FileDescriptor() + fields:fields + fieldCount:sizeof(fields) / sizeof(GPBMessageFieldDescription) + oneofs:NULL + oneofCount:0 + enums:NULL + enumCount:0 + ranges:NULL + rangeCount:0 + storageSize:sizeof(GPBDescriptorProto__storage_) + wireFormat:NO]; + NSAssert(descriptor == nil, @"Startup recursed!"); + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +#pragma mark - GPBDescriptorProto_ExtensionRange + +@implementation GPBDescriptorProto_ExtensionRange + +@dynamic hasStart, start; +@dynamic hasEnd, end; + +typedef struct GPBDescriptorProto_ExtensionRange__storage_ { + uint32_t _has_storage_[1]; + int32_t start; + int32_t end; +} GPBDescriptorProto_ExtensionRange__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 = "start", + .number = GPBDescriptorProto_ExtensionRange_FieldNumber_Start, + .hasIndex = 0, + .flags = GPBFieldOptional, + .dataType = GPBDataTypeInt32, + .offset = offsetof(GPBDescriptorProto_ExtensionRange__storage_, start), + .defaultValue.valueInt32 = 0, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + { + .name = "end", + .number = GPBDescriptorProto_ExtensionRange_FieldNumber_End, + .hasIndex = 1, + .flags = GPBFieldOptional, + .dataType = GPBDataTypeInt32, + .offset = offsetof(GPBDescriptorProto_ExtensionRange__storage_, end), + .defaultValue.valueInt32 = 0, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GPBDescriptorProto_ExtensionRange class] + rootClass:[GPBDescriptorRoot class] + file:GPBDescriptorRoot_FileDescriptor() + fields:fields + fieldCount:sizeof(fields) / sizeof(GPBMessageFieldDescription) + oneofs:NULL + oneofCount:0 + enums:NULL + enumCount:0 + ranges:NULL + rangeCount:0 + storageSize:sizeof(GPBDescriptorProto_ExtensionRange__storage_) + wireFormat:NO]; + NSAssert(descriptor == nil, @"Startup recursed!"); + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +#pragma mark - GPBDescriptorProto_ReservedRange + +@implementation GPBDescriptorProto_ReservedRange + +@dynamic hasStart, start; +@dynamic hasEnd, end; + +typedef struct GPBDescriptorProto_ReservedRange__storage_ { + uint32_t _has_storage_[1]; + int32_t start; + int32_t end; +} GPBDescriptorProto_ReservedRange__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 = "start", + .number = GPBDescriptorProto_ReservedRange_FieldNumber_Start, + .hasIndex = 0, + .flags = GPBFieldOptional, + .dataType = GPBDataTypeInt32, + .offset = offsetof(GPBDescriptorProto_ReservedRange__storage_, start), + .defaultValue.valueInt32 = 0, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + { + .name = "end", + .number = GPBDescriptorProto_ReservedRange_FieldNumber_End, + .hasIndex = 1, + .flags = GPBFieldOptional, + .dataType = GPBDataTypeInt32, + .offset = offsetof(GPBDescriptorProto_ReservedRange__storage_, end), + .defaultValue.valueInt32 = 0, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GPBDescriptorProto_ReservedRange class] + rootClass:[GPBDescriptorRoot class] + file:GPBDescriptorRoot_FileDescriptor() + fields:fields + fieldCount:sizeof(fields) / sizeof(GPBMessageFieldDescription) + oneofs:NULL + oneofCount:0 + enums:NULL + enumCount:0 + ranges:NULL + rangeCount:0 + storageSize:sizeof(GPBDescriptorProto_ReservedRange__storage_) + wireFormat:NO]; + NSAssert(descriptor == nil, @"Startup recursed!"); + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +#pragma mark - GPBFieldDescriptorProto + +@implementation GPBFieldDescriptorProto + +@dynamic hasName, name; +@dynamic hasNumber, number; +@dynamic hasLabel, label; +@dynamic hasType, type; +@dynamic hasTypeName, typeName; +@dynamic hasExtendee, extendee; +@dynamic hasDefaultValue, defaultValue; +@dynamic hasOneofIndex, oneofIndex; +@dynamic hasOptions, options; + +typedef struct GPBFieldDescriptorProto__storage_ { + uint32_t _has_storage_[1]; + int32_t number; + GPBFieldDescriptorProto_Label label; + GPBFieldDescriptorProto_Type type; + int32_t oneofIndex; + NSString *name; + NSString *extendee; + NSString *typeName; + NSString *defaultValue; + GPBFieldOptions *options; +} GPBFieldDescriptorProto__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", + .number = GPBFieldDescriptorProto_FieldNumber_Name, + .hasIndex = 0, + .flags = GPBFieldOptional, + .dataType = GPBDataTypeString, + .offset = offsetof(GPBFieldDescriptorProto__storage_, name), + .defaultValue.valueString = nil, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + { + .name = "extendee", + .number = GPBFieldDescriptorProto_FieldNumber_Extendee, + .hasIndex = 5, + .flags = GPBFieldOptional, + .dataType = GPBDataTypeString, + .offset = offsetof(GPBFieldDescriptorProto__storage_, extendee), + .defaultValue.valueString = nil, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + { + .name = "number", + .number = GPBFieldDescriptorProto_FieldNumber_Number, + .hasIndex = 1, + .flags = GPBFieldOptional, + .dataType = GPBDataTypeInt32, + .offset = offsetof(GPBFieldDescriptorProto__storage_, number), + .defaultValue.valueInt32 = 0, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + { + .name = "label", + .number = GPBFieldDescriptorProto_FieldNumber_Label, + .hasIndex = 2, + .flags = GPBFieldOptional | GPBFieldHasEnumDescriptor, + .dataType = GPBDataTypeEnum, + .offset = offsetof(GPBFieldDescriptorProto__storage_, label), + .defaultValue.valueEnum = GPBFieldDescriptorProto_Label_LabelOptional, + .dataTypeSpecific.enumDescFunc = GPBFieldDescriptorProto_Label_EnumDescriptor, + .fieldOptions = NULL, + }, + { + .name = "type", + .number = GPBFieldDescriptorProto_FieldNumber_Type, + .hasIndex = 3, + .flags = GPBFieldOptional | GPBFieldHasEnumDescriptor, + .dataType = GPBDataTypeEnum, + .offset = offsetof(GPBFieldDescriptorProto__storage_, type), + .defaultValue.valueEnum = GPBFieldDescriptorProto_Type_TypeDouble, + .dataTypeSpecific.enumDescFunc = GPBFieldDescriptorProto_Type_EnumDescriptor, + .fieldOptions = NULL, + }, + { + .name = "typeName", + .number = GPBFieldDescriptorProto_FieldNumber_TypeName, + .hasIndex = 4, + .flags = GPBFieldOptional, + .dataType = GPBDataTypeString, + .offset = offsetof(GPBFieldDescriptorProto__storage_, typeName), + .defaultValue.valueString = nil, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + { + .name = "defaultValue", + .number = GPBFieldDescriptorProto_FieldNumber_DefaultValue, + .hasIndex = 6, + .flags = GPBFieldOptional, + .dataType = GPBDataTypeString, + .offset = offsetof(GPBFieldDescriptorProto__storage_, defaultValue), + .defaultValue.valueString = nil, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + { + .name = "options", + .number = GPBFieldDescriptorProto_FieldNumber_Options, + .hasIndex = 8, + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + .offset = offsetof(GPBFieldDescriptorProto__storage_, options), + .defaultValue.valueMessage = nil, + .dataTypeSpecific.className = GPBStringifySymbol(GPBFieldOptions), + .fieldOptions = NULL, + }, + { + .name = "oneofIndex", + .number = GPBFieldDescriptorProto_FieldNumber_OneofIndex, + .hasIndex = 7, + .flags = GPBFieldOptional, + .dataType = GPBDataTypeInt32, + .offset = offsetof(GPBFieldDescriptorProto__storage_, oneofIndex), + .defaultValue.valueInt32 = 0, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + }; + static GPBMessageEnumDescription enums[] = { + { .enumDescriptorFunc = GPBFieldDescriptorProto_Type_EnumDescriptor }, + { .enumDescriptorFunc = GPBFieldDescriptorProto_Label_EnumDescriptor }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GPBFieldDescriptorProto class] + rootClass:[GPBDescriptorRoot class] + file:GPBDescriptorRoot_FileDescriptor() + fields:fields + fieldCount:sizeof(fields) / sizeof(GPBMessageFieldDescription) + oneofs:NULL + oneofCount:0 + enums:enums + enumCount:sizeof(enums) / sizeof(GPBMessageEnumDescription) + ranges:NULL + rangeCount:0 + storageSize:sizeof(GPBFieldDescriptorProto__storage_) + wireFormat:NO]; + NSAssert(descriptor == nil, @"Startup recursed!"); + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +#pragma mark - Enum GPBFieldDescriptorProto_Type + +GPBEnumDescriptor *GPBFieldDescriptorProto_Type_EnumDescriptor(void) { + static GPBEnumDescriptor *descriptor = NULL; + if (!descriptor) { + static GPBMessageEnumValueDescription values[] = { + { .name = "TypeDouble", .number = GPBFieldDescriptorProto_Type_TypeDouble }, + { .name = "TypeFloat", .number = GPBFieldDescriptorProto_Type_TypeFloat }, + { .name = "TypeInt64", .number = GPBFieldDescriptorProto_Type_TypeInt64 }, + { .name = "TypeUint64", .number = GPBFieldDescriptorProto_Type_TypeUint64 }, + { .name = "TypeInt32", .number = GPBFieldDescriptorProto_Type_TypeInt32 }, + { .name = "TypeFixed64", .number = GPBFieldDescriptorProto_Type_TypeFixed64 }, + { .name = "TypeFixed32", .number = GPBFieldDescriptorProto_Type_TypeFixed32 }, + { .name = "TypeBool", .number = GPBFieldDescriptorProto_Type_TypeBool }, + { .name = "TypeString", .number = GPBFieldDescriptorProto_Type_TypeString }, + { .name = "TypeGroup", .number = GPBFieldDescriptorProto_Type_TypeGroup }, + { .name = "TypeMessage", .number = GPBFieldDescriptorProto_Type_TypeMessage }, + { .name = "TypeBytes", .number = GPBFieldDescriptorProto_Type_TypeBytes }, + { .name = "TypeUint32", .number = GPBFieldDescriptorProto_Type_TypeUint32 }, + { .name = "TypeEnum", .number = GPBFieldDescriptorProto_Type_TypeEnum }, + { .name = "TypeSfixed32", .number = GPBFieldDescriptorProto_Type_TypeSfixed32 }, + { .name = "TypeSfixed64", .number = GPBFieldDescriptorProto_Type_TypeSfixed64 }, + { .name = "TypeSint32", .number = GPBFieldDescriptorProto_Type_TypeSint32 }, + { .name = "TypeSint64", .number = GPBFieldDescriptorProto_Type_TypeSint64 }, + }; + descriptor = [GPBEnumDescriptor allocDescriptorForName:GPBNSStringifySymbol(GPBFieldDescriptorProto_Type) + values:values + valueCount:sizeof(values) / sizeof(GPBMessageEnumValueDescription) + enumVerifier:GPBFieldDescriptorProto_Type_IsValidValue]; + } + return descriptor; +} + +BOOL GPBFieldDescriptorProto_Type_IsValidValue(int32_t value__) { + switch (value__) { + case GPBFieldDescriptorProto_Type_TypeDouble: + case GPBFieldDescriptorProto_Type_TypeFloat: + case GPBFieldDescriptorProto_Type_TypeInt64: + case GPBFieldDescriptorProto_Type_TypeUint64: + case GPBFieldDescriptorProto_Type_TypeInt32: + case GPBFieldDescriptorProto_Type_TypeFixed64: + case GPBFieldDescriptorProto_Type_TypeFixed32: + case GPBFieldDescriptorProto_Type_TypeBool: + case GPBFieldDescriptorProto_Type_TypeString: + case GPBFieldDescriptorProto_Type_TypeGroup: + case GPBFieldDescriptorProto_Type_TypeMessage: + case GPBFieldDescriptorProto_Type_TypeBytes: + case GPBFieldDescriptorProto_Type_TypeUint32: + case GPBFieldDescriptorProto_Type_TypeEnum: + case GPBFieldDescriptorProto_Type_TypeSfixed32: + case GPBFieldDescriptorProto_Type_TypeSfixed64: + case GPBFieldDescriptorProto_Type_TypeSint32: + case GPBFieldDescriptorProto_Type_TypeSint64: + return YES; + default: + return NO; + } +} + +#pragma mark - Enum GPBFieldDescriptorProto_Label + +GPBEnumDescriptor *GPBFieldDescriptorProto_Label_EnumDescriptor(void) { + static GPBEnumDescriptor *descriptor = NULL; + if (!descriptor) { + static GPBMessageEnumValueDescription values[] = { + { .name = "LabelOptional", .number = GPBFieldDescriptorProto_Label_LabelOptional }, + { .name = "LabelRequired", .number = GPBFieldDescriptorProto_Label_LabelRequired }, + { .name = "LabelRepeated", .number = GPBFieldDescriptorProto_Label_LabelRepeated }, + }; + descriptor = [GPBEnumDescriptor allocDescriptorForName:GPBNSStringifySymbol(GPBFieldDescriptorProto_Label) + values:values + valueCount:sizeof(values) / sizeof(GPBMessageEnumValueDescription) + enumVerifier:GPBFieldDescriptorProto_Label_IsValidValue]; + } + return descriptor; +} + +BOOL GPBFieldDescriptorProto_Label_IsValidValue(int32_t value__) { + switch (value__) { + case GPBFieldDescriptorProto_Label_LabelOptional: + case GPBFieldDescriptorProto_Label_LabelRequired: + case GPBFieldDescriptorProto_Label_LabelRepeated: + return YES; + default: + return NO; + } +} + +#pragma mark - GPBOneofDescriptorProto + +@implementation GPBOneofDescriptorProto + +@dynamic hasName, name; + +typedef struct GPBOneofDescriptorProto__storage_ { + uint32_t _has_storage_[1]; + NSString *name; +} GPBOneofDescriptorProto__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", + .number = GPBOneofDescriptorProto_FieldNumber_Name, + .hasIndex = 0, + .flags = GPBFieldOptional, + .dataType = GPBDataTypeString, + .offset = offsetof(GPBOneofDescriptorProto__storage_, name), + .defaultValue.valueString = nil, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GPBOneofDescriptorProto class] + rootClass:[GPBDescriptorRoot class] + file:GPBDescriptorRoot_FileDescriptor() + fields:fields + fieldCount:sizeof(fields) / sizeof(GPBMessageFieldDescription) + oneofs:NULL + oneofCount:0 + enums:NULL + enumCount:0 + ranges:NULL + rangeCount:0 + storageSize:sizeof(GPBOneofDescriptorProto__storage_) + wireFormat:NO]; + NSAssert(descriptor == nil, @"Startup recursed!"); + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +#pragma mark - GPBEnumDescriptorProto + +@implementation GPBEnumDescriptorProto + +@dynamic hasName, name; +@dynamic valueArray, valueArray_Count; +@dynamic hasOptions, options; + +typedef struct GPBEnumDescriptorProto__storage_ { + uint32_t _has_storage_[1]; + NSString *name; + NSMutableArray *valueArray; + GPBEnumOptions *options; +} GPBEnumDescriptorProto__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", + .number = GPBEnumDescriptorProto_FieldNumber_Name, + .hasIndex = 0, + .flags = GPBFieldOptional, + .dataType = GPBDataTypeString, + .offset = offsetof(GPBEnumDescriptorProto__storage_, name), + .defaultValue.valueString = nil, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + { + .name = "valueArray", + .number = GPBEnumDescriptorProto_FieldNumber_ValueArray, + .hasIndex = GPBNoHasBit, + .flags = GPBFieldRepeated, + .dataType = GPBDataTypeMessage, + .offset = offsetof(GPBEnumDescriptorProto__storage_, valueArray), + .defaultValue.valueMessage = nil, + .dataTypeSpecific.className = GPBStringifySymbol(GPBEnumValueDescriptorProto), + .fieldOptions = NULL, + }, + { + .name = "options", + .number = GPBEnumDescriptorProto_FieldNumber_Options, + .hasIndex = 2, + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + .offset = offsetof(GPBEnumDescriptorProto__storage_, options), + .defaultValue.valueMessage = nil, + .dataTypeSpecific.className = GPBStringifySymbol(GPBEnumOptions), + .fieldOptions = NULL, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GPBEnumDescriptorProto class] + rootClass:[GPBDescriptorRoot class] + file:GPBDescriptorRoot_FileDescriptor() + fields:fields + fieldCount:sizeof(fields) / sizeof(GPBMessageFieldDescription) + oneofs:NULL + oneofCount:0 + enums:NULL + enumCount:0 + ranges:NULL + rangeCount:0 + storageSize:sizeof(GPBEnumDescriptorProto__storage_) + wireFormat:NO]; + NSAssert(descriptor == nil, @"Startup recursed!"); + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +#pragma mark - GPBEnumValueDescriptorProto + +@implementation GPBEnumValueDescriptorProto + +@dynamic hasName, name; +@dynamic hasNumber, number; +@dynamic hasOptions, options; + +typedef struct GPBEnumValueDescriptorProto__storage_ { + uint32_t _has_storage_[1]; + int32_t number; + NSString *name; + GPBEnumValueOptions *options; +} GPBEnumValueDescriptorProto__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", + .number = GPBEnumValueDescriptorProto_FieldNumber_Name, + .hasIndex = 0, + .flags = GPBFieldOptional, + .dataType = GPBDataTypeString, + .offset = offsetof(GPBEnumValueDescriptorProto__storage_, name), + .defaultValue.valueString = nil, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + { + .name = "number", + .number = GPBEnumValueDescriptorProto_FieldNumber_Number, + .hasIndex = 1, + .flags = GPBFieldOptional, + .dataType = GPBDataTypeInt32, + .offset = offsetof(GPBEnumValueDescriptorProto__storage_, number), + .defaultValue.valueInt32 = 0, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + { + .name = "options", + .number = GPBEnumValueDescriptorProto_FieldNumber_Options, + .hasIndex = 2, + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + .offset = offsetof(GPBEnumValueDescriptorProto__storage_, options), + .defaultValue.valueMessage = nil, + .dataTypeSpecific.className = GPBStringifySymbol(GPBEnumValueOptions), + .fieldOptions = NULL, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GPBEnumValueDescriptorProto class] + rootClass:[GPBDescriptorRoot class] + file:GPBDescriptorRoot_FileDescriptor() + fields:fields + fieldCount:sizeof(fields) / sizeof(GPBMessageFieldDescription) + oneofs:NULL + oneofCount:0 + enums:NULL + enumCount:0 + ranges:NULL + rangeCount:0 + storageSize:sizeof(GPBEnumValueDescriptorProto__storage_) + wireFormat:NO]; + NSAssert(descriptor == nil, @"Startup recursed!"); + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +#pragma mark - GPBServiceDescriptorProto + +@implementation GPBServiceDescriptorProto + +@dynamic hasName, name; +@dynamic methodArray, methodArray_Count; +@dynamic hasOptions, options; + +typedef struct GPBServiceDescriptorProto__storage_ { + uint32_t _has_storage_[1]; + NSString *name; + NSMutableArray *methodArray; + GPBServiceOptions *options; +} GPBServiceDescriptorProto__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", + .number = GPBServiceDescriptorProto_FieldNumber_Name, + .hasIndex = 0, + .flags = GPBFieldOptional, + .dataType = GPBDataTypeString, + .offset = offsetof(GPBServiceDescriptorProto__storage_, name), + .defaultValue.valueString = nil, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + { + .name = "methodArray", + .number = GPBServiceDescriptorProto_FieldNumber_MethodArray, + .hasIndex = GPBNoHasBit, + .flags = GPBFieldRepeated, + .dataType = GPBDataTypeMessage, + .offset = offsetof(GPBServiceDescriptorProto__storage_, methodArray), + .defaultValue.valueMessage = nil, + .dataTypeSpecific.className = GPBStringifySymbol(GPBMethodDescriptorProto), + .fieldOptions = NULL, + }, + { + .name = "options", + .number = GPBServiceDescriptorProto_FieldNumber_Options, + .hasIndex = 2, + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + .offset = offsetof(GPBServiceDescriptorProto__storage_, options), + .defaultValue.valueMessage = nil, + .dataTypeSpecific.className = GPBStringifySymbol(GPBServiceOptions), + .fieldOptions = NULL, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GPBServiceDescriptorProto class] + rootClass:[GPBDescriptorRoot class] + file:GPBDescriptorRoot_FileDescriptor() + fields:fields + fieldCount:sizeof(fields) / sizeof(GPBMessageFieldDescription) + oneofs:NULL + oneofCount:0 + enums:NULL + enumCount:0 + ranges:NULL + rangeCount:0 + storageSize:sizeof(GPBServiceDescriptorProto__storage_) + wireFormat:NO]; + NSAssert(descriptor == nil, @"Startup recursed!"); + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +#pragma mark - GPBMethodDescriptorProto + +@implementation GPBMethodDescriptorProto + +@dynamic hasName, name; +@dynamic hasInputType, inputType; +@dynamic hasOutputType, outputType; +@dynamic hasOptions, options; +@dynamic hasClientStreaming, clientStreaming; +@dynamic hasServerStreaming, serverStreaming; + +typedef struct GPBMethodDescriptorProto__storage_ { + uint32_t _has_storage_[1]; + BOOL clientStreaming; + BOOL serverStreaming; + NSString *name; + NSString *inputType; + NSString *outputType; + GPBMethodOptions *options; +} GPBMethodDescriptorProto__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", + .number = GPBMethodDescriptorProto_FieldNumber_Name, + .hasIndex = 0, + .flags = GPBFieldOptional, + .dataType = GPBDataTypeString, + .offset = offsetof(GPBMethodDescriptorProto__storage_, name), + .defaultValue.valueString = nil, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + { + .name = "inputType", + .number = GPBMethodDescriptorProto_FieldNumber_InputType, + .hasIndex = 1, + .flags = GPBFieldOptional, + .dataType = GPBDataTypeString, + .offset = offsetof(GPBMethodDescriptorProto__storage_, inputType), + .defaultValue.valueString = nil, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + { + .name = "outputType", + .number = GPBMethodDescriptorProto_FieldNumber_OutputType, + .hasIndex = 2, + .flags = GPBFieldOptional, + .dataType = GPBDataTypeString, + .offset = offsetof(GPBMethodDescriptorProto__storage_, outputType), + .defaultValue.valueString = nil, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + { + .name = "options", + .number = GPBMethodDescriptorProto_FieldNumber_Options, + .hasIndex = 3, + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + .offset = offsetof(GPBMethodDescriptorProto__storage_, options), + .defaultValue.valueMessage = nil, + .dataTypeSpecific.className = GPBStringifySymbol(GPBMethodOptions), + .fieldOptions = NULL, + }, + { + .name = "clientStreaming", + .number = GPBMethodDescriptorProto_FieldNumber_ClientStreaming, + .hasIndex = 4, + .flags = GPBFieldOptional | GPBFieldHasDefaultValue, + .dataType = GPBDataTypeBool, + .offset = offsetof(GPBMethodDescriptorProto__storage_, clientStreaming), + .defaultValue.valueBool = NO, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + { + .name = "serverStreaming", + .number = GPBMethodDescriptorProto_FieldNumber_ServerStreaming, + .hasIndex = 5, + .flags = GPBFieldOptional | GPBFieldHasDefaultValue, + .dataType = GPBDataTypeBool, + .offset = offsetof(GPBMethodDescriptorProto__storage_, serverStreaming), + .defaultValue.valueBool = NO, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GPBMethodDescriptorProto class] + rootClass:[GPBDescriptorRoot class] + file:GPBDescriptorRoot_FileDescriptor() + fields:fields + fieldCount:sizeof(fields) / sizeof(GPBMessageFieldDescription) + oneofs:NULL + oneofCount:0 + enums:NULL + enumCount:0 + ranges:NULL + rangeCount:0 + storageSize:sizeof(GPBMethodDescriptorProto__storage_) + wireFormat:NO]; + NSAssert(descriptor == nil, @"Startup recursed!"); + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +#pragma mark - GPBFileOptions + +@implementation GPBFileOptions + +@dynamic hasJavaPackage, javaPackage; +@dynamic hasJavaOuterClassname, javaOuterClassname; +@dynamic hasJavaMultipleFiles, javaMultipleFiles; +@dynamic hasJavaGenerateEqualsAndHash, javaGenerateEqualsAndHash; +@dynamic hasJavaStringCheckUtf8, javaStringCheckUtf8; +@dynamic hasOptimizeFor, optimizeFor; +@dynamic hasGoPackage, goPackage; +@dynamic hasCcGenericServices, ccGenericServices; +@dynamic hasJavaGenericServices, javaGenericServices; +@dynamic hasPyGenericServices, pyGenericServices; +@dynamic hasDeprecated, deprecated; +@dynamic hasCcEnableArenas, ccEnableArenas; +@dynamic hasObjcClassPrefix, objcClassPrefix; +@dynamic hasCsharpNamespace, csharpNamespace; +@dynamic uninterpretedOptionArray, uninterpretedOptionArray_Count; + +typedef struct GPBFileOptions__storage_ { + uint32_t _has_storage_[1]; + BOOL javaMultipleFiles; + BOOL ccGenericServices; + BOOL javaGenericServices; + BOOL pyGenericServices; + BOOL javaGenerateEqualsAndHash; + BOOL deprecated; + BOOL javaStringCheckUtf8; + BOOL ccEnableArenas; + GPBFileOptions_OptimizeMode optimizeFor; + NSString *javaPackage; + NSString *javaOuterClassname; + NSString *goPackage; + NSString *objcClassPrefix; + NSString *csharpNamespace; + NSMutableArray *uninterpretedOptionArray; +} GPBFileOptions__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 = "javaPackage", + .number = GPBFileOptions_FieldNumber_JavaPackage, + .hasIndex = 0, + .flags = GPBFieldOptional, + .dataType = GPBDataTypeString, + .offset = offsetof(GPBFileOptions__storage_, javaPackage), + .defaultValue.valueString = nil, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + { + .name = "javaOuterClassname", + .number = GPBFileOptions_FieldNumber_JavaOuterClassname, + .hasIndex = 1, + .flags = GPBFieldOptional, + .dataType = GPBDataTypeString, + .offset = offsetof(GPBFileOptions__storage_, javaOuterClassname), + .defaultValue.valueString = nil, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + { + .name = "optimizeFor", + .number = GPBFileOptions_FieldNumber_OptimizeFor, + .hasIndex = 5, + .flags = GPBFieldOptional | GPBFieldHasDefaultValue | GPBFieldHasEnumDescriptor, + .dataType = GPBDataTypeEnum, + .offset = offsetof(GPBFileOptions__storage_, optimizeFor), + .defaultValue.valueEnum = GPBFileOptions_OptimizeMode_Speed, + .dataTypeSpecific.enumDescFunc = GPBFileOptions_OptimizeMode_EnumDescriptor, + .fieldOptions = NULL, + }, + { + .name = "javaMultipleFiles", + .number = GPBFileOptions_FieldNumber_JavaMultipleFiles, + .hasIndex = 2, + .flags = GPBFieldOptional | GPBFieldHasDefaultValue, + .dataType = GPBDataTypeBool, + .offset = offsetof(GPBFileOptions__storage_, javaMultipleFiles), + .defaultValue.valueBool = NO, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + { + .name = "goPackage", + .number = GPBFileOptions_FieldNumber_GoPackage, + .hasIndex = 6, + .flags = GPBFieldOptional, + .dataType = GPBDataTypeString, + .offset = offsetof(GPBFileOptions__storage_, goPackage), + .defaultValue.valueString = nil, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + { + .name = "ccGenericServices", + .number = GPBFileOptions_FieldNumber_CcGenericServices, + .hasIndex = 7, + .flags = GPBFieldOptional | GPBFieldHasDefaultValue, + .dataType = GPBDataTypeBool, + .offset = offsetof(GPBFileOptions__storage_, ccGenericServices), + .defaultValue.valueBool = NO, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + { + .name = "javaGenericServices", + .number = GPBFileOptions_FieldNumber_JavaGenericServices, + .hasIndex = 8, + .flags = GPBFieldOptional | GPBFieldHasDefaultValue, + .dataType = GPBDataTypeBool, + .offset = offsetof(GPBFileOptions__storage_, javaGenericServices), + .defaultValue.valueBool = NO, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + { + .name = "pyGenericServices", + .number = GPBFileOptions_FieldNumber_PyGenericServices, + .hasIndex = 9, + .flags = GPBFieldOptional | GPBFieldHasDefaultValue, + .dataType = GPBDataTypeBool, + .offset = offsetof(GPBFileOptions__storage_, pyGenericServices), + .defaultValue.valueBool = NO, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + { + .name = "javaGenerateEqualsAndHash", + .number = GPBFileOptions_FieldNumber_JavaGenerateEqualsAndHash, + .hasIndex = 3, + .flags = GPBFieldOptional | GPBFieldHasDefaultValue, + .dataType = GPBDataTypeBool, + .offset = offsetof(GPBFileOptions__storage_, javaGenerateEqualsAndHash), + .defaultValue.valueBool = NO, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + { + .name = "deprecated", + .number = GPBFileOptions_FieldNumber_Deprecated, + .hasIndex = 10, + .flags = GPBFieldOptional | GPBFieldHasDefaultValue, + .dataType = GPBDataTypeBool, + .offset = offsetof(GPBFileOptions__storage_, deprecated), + .defaultValue.valueBool = NO, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + { + .name = "javaStringCheckUtf8", + .number = GPBFileOptions_FieldNumber_JavaStringCheckUtf8, + .hasIndex = 4, + .flags = GPBFieldOptional | GPBFieldHasDefaultValue, + .dataType = GPBDataTypeBool, + .offset = offsetof(GPBFileOptions__storage_, javaStringCheckUtf8), + .defaultValue.valueBool = NO, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + { + .name = "ccEnableArenas", + .number = GPBFileOptions_FieldNumber_CcEnableArenas, + .hasIndex = 11, + .flags = GPBFieldOptional | GPBFieldHasDefaultValue, + .dataType = GPBDataTypeBool, + .offset = offsetof(GPBFileOptions__storage_, ccEnableArenas), + .defaultValue.valueBool = NO, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + { + .name = "objcClassPrefix", + .number = GPBFileOptions_FieldNumber_ObjcClassPrefix, + .hasIndex = 12, + .flags = GPBFieldOptional, + .dataType = GPBDataTypeString, + .offset = offsetof(GPBFileOptions__storage_, objcClassPrefix), + .defaultValue.valueString = nil, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + { + .name = "csharpNamespace", + .number = GPBFileOptions_FieldNumber_CsharpNamespace, + .hasIndex = 13, + .flags = GPBFieldOptional, + .dataType = GPBDataTypeString, + .offset = offsetof(GPBFileOptions__storage_, csharpNamespace), + .defaultValue.valueString = nil, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + { + .name = "uninterpretedOptionArray", + .number = GPBFileOptions_FieldNumber_UninterpretedOptionArray, + .hasIndex = GPBNoHasBit, + .flags = GPBFieldRepeated, + .dataType = GPBDataTypeMessage, + .offset = offsetof(GPBFileOptions__storage_, uninterpretedOptionArray), + .defaultValue.valueMessage = nil, + .dataTypeSpecific.className = GPBStringifySymbol(GPBUninterpretedOption), + .fieldOptions = NULL, + }, + }; + static GPBMessageEnumDescription enums[] = { + { .enumDescriptorFunc = GPBFileOptions_OptimizeMode_EnumDescriptor }, + }; + static GPBExtensionRange ranges[] = { + { .start = 1000, .end = 536870912 }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GPBFileOptions class] + rootClass:[GPBDescriptorRoot class] + file:GPBDescriptorRoot_FileDescriptor() + fields:fields + fieldCount:sizeof(fields) / sizeof(GPBMessageFieldDescription) + oneofs:NULL + oneofCount:0 + enums:enums + enumCount:sizeof(enums) / sizeof(GPBMessageEnumDescription) + ranges:ranges + rangeCount:sizeof(ranges) / sizeof(GPBExtensionRange) + storageSize:sizeof(GPBFileOptions__storage_) + wireFormat:NO]; + NSAssert(descriptor == nil, @"Startup recursed!"); + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +#pragma mark - Enum GPBFileOptions_OptimizeMode + +GPBEnumDescriptor *GPBFileOptions_OptimizeMode_EnumDescriptor(void) { + static GPBEnumDescriptor *descriptor = NULL; + if (!descriptor) { + static GPBMessageEnumValueDescription values[] = { + { .name = "Speed", .number = GPBFileOptions_OptimizeMode_Speed }, + { .name = "CodeSize", .number = GPBFileOptions_OptimizeMode_CodeSize }, + { .name = "LiteRuntime", .number = GPBFileOptions_OptimizeMode_LiteRuntime }, + }; + descriptor = [GPBEnumDescriptor allocDescriptorForName:GPBNSStringifySymbol(GPBFileOptions_OptimizeMode) + values:values + valueCount:sizeof(values) / sizeof(GPBMessageEnumValueDescription) + enumVerifier:GPBFileOptions_OptimizeMode_IsValidValue]; + } + return descriptor; +} + +BOOL GPBFileOptions_OptimizeMode_IsValidValue(int32_t value__) { + switch (value__) { + case GPBFileOptions_OptimizeMode_Speed: + case GPBFileOptions_OptimizeMode_CodeSize: + case GPBFileOptions_OptimizeMode_LiteRuntime: + return YES; + default: + return NO; + } +} + +#pragma mark - GPBMessageOptions + +@implementation GPBMessageOptions + +@dynamic hasMessageSetWireFormat, messageSetWireFormat; +@dynamic hasNoStandardDescriptorAccessor, noStandardDescriptorAccessor; +@dynamic hasDeprecated, deprecated; +@dynamic hasMapEntry, mapEntry; +@dynamic uninterpretedOptionArray, uninterpretedOptionArray_Count; + +typedef struct GPBMessageOptions__storage_ { + uint32_t _has_storage_[1]; + BOOL messageSetWireFormat; + BOOL noStandardDescriptorAccessor; + BOOL deprecated; + BOOL mapEntry; + NSMutableArray *uninterpretedOptionArray; +} GPBMessageOptions__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 = "messageSetWireFormat", + .number = GPBMessageOptions_FieldNumber_MessageSetWireFormat, + .hasIndex = 0, + .flags = GPBFieldOptional | GPBFieldHasDefaultValue, + .dataType = GPBDataTypeBool, + .offset = offsetof(GPBMessageOptions__storage_, messageSetWireFormat), + .defaultValue.valueBool = NO, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + { + .name = "noStandardDescriptorAccessor", + .number = GPBMessageOptions_FieldNumber_NoStandardDescriptorAccessor, + .hasIndex = 1, + .flags = GPBFieldOptional | GPBFieldHasDefaultValue, + .dataType = GPBDataTypeBool, + .offset = offsetof(GPBMessageOptions__storage_, noStandardDescriptorAccessor), + .defaultValue.valueBool = NO, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + { + .name = "deprecated", + .number = GPBMessageOptions_FieldNumber_Deprecated, + .hasIndex = 2, + .flags = GPBFieldOptional | GPBFieldHasDefaultValue, + .dataType = GPBDataTypeBool, + .offset = offsetof(GPBMessageOptions__storage_, deprecated), + .defaultValue.valueBool = NO, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + { + .name = "mapEntry", + .number = GPBMessageOptions_FieldNumber_MapEntry, + .hasIndex = 3, + .flags = GPBFieldOptional, + .dataType = GPBDataTypeBool, + .offset = offsetof(GPBMessageOptions__storage_, mapEntry), + .defaultValue.valueBool = NO, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + { + .name = "uninterpretedOptionArray", + .number = GPBMessageOptions_FieldNumber_UninterpretedOptionArray, + .hasIndex = GPBNoHasBit, + .flags = GPBFieldRepeated, + .dataType = GPBDataTypeMessage, + .offset = offsetof(GPBMessageOptions__storage_, uninterpretedOptionArray), + .defaultValue.valueMessage = nil, + .dataTypeSpecific.className = GPBStringifySymbol(GPBUninterpretedOption), + .fieldOptions = NULL, + }, + }; + static GPBExtensionRange ranges[] = { + { .start = 1000, .end = 536870912 }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GPBMessageOptions class] + rootClass:[GPBDescriptorRoot class] + file:GPBDescriptorRoot_FileDescriptor() + fields:fields + fieldCount:sizeof(fields) / sizeof(GPBMessageFieldDescription) + oneofs:NULL + oneofCount:0 + enums:NULL + enumCount:0 + ranges:ranges + rangeCount:sizeof(ranges) / sizeof(GPBExtensionRange) + storageSize:sizeof(GPBMessageOptions__storage_) + wireFormat:NO]; + NSAssert(descriptor == nil, @"Startup recursed!"); + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +#pragma mark - GPBFieldOptions + +@implementation GPBFieldOptions + +@dynamic hasCtype, ctype; +@dynamic hasPacked, packed; +@dynamic hasJstype, jstype; +@dynamic hasLazy, lazy; +@dynamic hasDeprecated, deprecated; +@dynamic hasWeak, weak; +@dynamic uninterpretedOptionArray, uninterpretedOptionArray_Count; + +typedef struct GPBFieldOptions__storage_ { + uint32_t _has_storage_[1]; + BOOL packed; + BOOL deprecated; + BOOL lazy; + BOOL weak; + GPBFieldOptions_CType ctype; + GPBFieldOptions_JSType jstype; + NSMutableArray *uninterpretedOptionArray; +} GPBFieldOptions__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 = "ctype", + .number = GPBFieldOptions_FieldNumber_Ctype, + .hasIndex = 0, + .flags = GPBFieldOptional | GPBFieldHasDefaultValue | GPBFieldHasEnumDescriptor, + .dataType = GPBDataTypeEnum, + .offset = offsetof(GPBFieldOptions__storage_, ctype), + .defaultValue.valueEnum = GPBFieldOptions_CType_String, + .dataTypeSpecific.enumDescFunc = GPBFieldOptions_CType_EnumDescriptor, + .fieldOptions = NULL, + }, + { + .name = "packed", + .number = GPBFieldOptions_FieldNumber_Packed, + .hasIndex = 1, + .flags = GPBFieldOptional, + .dataType = GPBDataTypeBool, + .offset = offsetof(GPBFieldOptions__storage_, packed), + .defaultValue.valueBool = NO, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + { + .name = "deprecated", + .number = GPBFieldOptions_FieldNumber_Deprecated, + .hasIndex = 4, + .flags = GPBFieldOptional | GPBFieldHasDefaultValue, + .dataType = GPBDataTypeBool, + .offset = offsetof(GPBFieldOptions__storage_, deprecated), + .defaultValue.valueBool = NO, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + { + .name = "lazy", + .number = GPBFieldOptions_FieldNumber_Lazy, + .hasIndex = 3, + .flags = GPBFieldOptional | GPBFieldHasDefaultValue, + .dataType = GPBDataTypeBool, + .offset = offsetof(GPBFieldOptions__storage_, lazy), + .defaultValue.valueBool = NO, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + { + .name = "jstype", + .number = GPBFieldOptions_FieldNumber_Jstype, + .hasIndex = 2, + .flags = GPBFieldOptional | GPBFieldHasDefaultValue | GPBFieldHasEnumDescriptor, + .dataType = GPBDataTypeEnum, + .offset = offsetof(GPBFieldOptions__storage_, jstype), + .defaultValue.valueEnum = GPBFieldOptions_JSType_JsNormal, + .dataTypeSpecific.enumDescFunc = GPBFieldOptions_JSType_EnumDescriptor, + .fieldOptions = NULL, + }, + { + .name = "weak", + .number = GPBFieldOptions_FieldNumber_Weak, + .hasIndex = 5, + .flags = GPBFieldOptional | GPBFieldHasDefaultValue, + .dataType = GPBDataTypeBool, + .offset = offsetof(GPBFieldOptions__storage_, weak), + .defaultValue.valueBool = NO, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + { + .name = "uninterpretedOptionArray", + .number = GPBFieldOptions_FieldNumber_UninterpretedOptionArray, + .hasIndex = GPBNoHasBit, + .flags = GPBFieldRepeated, + .dataType = GPBDataTypeMessage, + .offset = offsetof(GPBFieldOptions__storage_, uninterpretedOptionArray), + .defaultValue.valueMessage = nil, + .dataTypeSpecific.className = GPBStringifySymbol(GPBUninterpretedOption), + .fieldOptions = NULL, + }, + }; + static GPBMessageEnumDescription enums[] = { + { .enumDescriptorFunc = GPBFieldOptions_CType_EnumDescriptor }, + { .enumDescriptorFunc = GPBFieldOptions_JSType_EnumDescriptor }, + }; + static GPBExtensionRange ranges[] = { + { .start = 1000, .end = 536870912 }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GPBFieldOptions class] + rootClass:[GPBDescriptorRoot class] + file:GPBDescriptorRoot_FileDescriptor() + fields:fields + fieldCount:sizeof(fields) / sizeof(GPBMessageFieldDescription) + oneofs:NULL + oneofCount:0 + enums:enums + enumCount:sizeof(enums) / sizeof(GPBMessageEnumDescription) + ranges:ranges + rangeCount:sizeof(ranges) / sizeof(GPBExtensionRange) + storageSize:sizeof(GPBFieldOptions__storage_) + wireFormat:NO]; + NSAssert(descriptor == nil, @"Startup recursed!"); + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +#pragma mark - Enum GPBFieldOptions_CType + +GPBEnumDescriptor *GPBFieldOptions_CType_EnumDescriptor(void) { + static GPBEnumDescriptor *descriptor = NULL; + if (!descriptor) { + static GPBMessageEnumValueDescription values[] = { + { .name = "String", .number = GPBFieldOptions_CType_String }, + { .name = "Cord", .number = GPBFieldOptions_CType_Cord }, + { .name = "StringPiece", .number = GPBFieldOptions_CType_StringPiece }, + }; + descriptor = [GPBEnumDescriptor allocDescriptorForName:GPBNSStringifySymbol(GPBFieldOptions_CType) + values:values + valueCount:sizeof(values) / sizeof(GPBMessageEnumValueDescription) + enumVerifier:GPBFieldOptions_CType_IsValidValue]; + } + return descriptor; +} + +BOOL GPBFieldOptions_CType_IsValidValue(int32_t value__) { + switch (value__) { + case GPBFieldOptions_CType_String: + case GPBFieldOptions_CType_Cord: + case GPBFieldOptions_CType_StringPiece: + return YES; + default: + return NO; + } +} + +#pragma mark - Enum GPBFieldOptions_JSType + +GPBEnumDescriptor *GPBFieldOptions_JSType_EnumDescriptor(void) { + static GPBEnumDescriptor *descriptor = NULL; + if (!descriptor) { + static GPBMessageEnumValueDescription values[] = { + { .name = "JsNormal", .number = GPBFieldOptions_JSType_JsNormal }, + { .name = "JsString", .number = GPBFieldOptions_JSType_JsString }, + { .name = "JsNumber", .number = GPBFieldOptions_JSType_JsNumber }, + }; + descriptor = [GPBEnumDescriptor allocDescriptorForName:GPBNSStringifySymbol(GPBFieldOptions_JSType) + values:values + valueCount:sizeof(values) / sizeof(GPBMessageEnumValueDescription) + enumVerifier:GPBFieldOptions_JSType_IsValidValue]; + } + return descriptor; +} + +BOOL GPBFieldOptions_JSType_IsValidValue(int32_t value__) { + switch (value__) { + case GPBFieldOptions_JSType_JsNormal: + case GPBFieldOptions_JSType_JsString: + case GPBFieldOptions_JSType_JsNumber: + return YES; + default: + return NO; + } +} + +#pragma mark - GPBEnumOptions + +@implementation GPBEnumOptions + +@dynamic hasAllowAlias, allowAlias; +@dynamic hasDeprecated, deprecated; +@dynamic uninterpretedOptionArray, uninterpretedOptionArray_Count; + +typedef struct GPBEnumOptions__storage_ { + uint32_t _has_storage_[1]; + BOOL allowAlias; + BOOL deprecated; + NSMutableArray *uninterpretedOptionArray; +} GPBEnumOptions__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 = "allowAlias", + .number = GPBEnumOptions_FieldNumber_AllowAlias, + .hasIndex = 0, + .flags = GPBFieldOptional, + .dataType = GPBDataTypeBool, + .offset = offsetof(GPBEnumOptions__storage_, allowAlias), + .defaultValue.valueBool = NO, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + { + .name = "deprecated", + .number = GPBEnumOptions_FieldNumber_Deprecated, + .hasIndex = 1, + .flags = GPBFieldOptional | GPBFieldHasDefaultValue, + .dataType = GPBDataTypeBool, + .offset = offsetof(GPBEnumOptions__storage_, deprecated), + .defaultValue.valueBool = NO, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + { + .name = "uninterpretedOptionArray", + .number = GPBEnumOptions_FieldNumber_UninterpretedOptionArray, + .hasIndex = GPBNoHasBit, + .flags = GPBFieldRepeated, + .dataType = GPBDataTypeMessage, + .offset = offsetof(GPBEnumOptions__storage_, uninterpretedOptionArray), + .defaultValue.valueMessage = nil, + .dataTypeSpecific.className = GPBStringifySymbol(GPBUninterpretedOption), + .fieldOptions = NULL, + }, + }; + static GPBExtensionRange ranges[] = { + { .start = 1000, .end = 536870912 }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GPBEnumOptions class] + rootClass:[GPBDescriptorRoot class] + file:GPBDescriptorRoot_FileDescriptor() + fields:fields + fieldCount:sizeof(fields) / sizeof(GPBMessageFieldDescription) + oneofs:NULL + oneofCount:0 + enums:NULL + enumCount:0 + ranges:ranges + rangeCount:sizeof(ranges) / sizeof(GPBExtensionRange) + storageSize:sizeof(GPBEnumOptions__storage_) + wireFormat:NO]; + NSAssert(descriptor == nil, @"Startup recursed!"); + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +#pragma mark - GPBEnumValueOptions + +@implementation GPBEnumValueOptions + +@dynamic hasDeprecated, deprecated; +@dynamic uninterpretedOptionArray, uninterpretedOptionArray_Count; + +typedef struct GPBEnumValueOptions__storage_ { + uint32_t _has_storage_[1]; + BOOL deprecated; + NSMutableArray *uninterpretedOptionArray; +} GPBEnumValueOptions__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 = "deprecated", + .number = GPBEnumValueOptions_FieldNumber_Deprecated, + .hasIndex = 0, + .flags = GPBFieldOptional | GPBFieldHasDefaultValue, + .dataType = GPBDataTypeBool, + .offset = offsetof(GPBEnumValueOptions__storage_, deprecated), + .defaultValue.valueBool = NO, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + { + .name = "uninterpretedOptionArray", + .number = GPBEnumValueOptions_FieldNumber_UninterpretedOptionArray, + .hasIndex = GPBNoHasBit, + .flags = GPBFieldRepeated, + .dataType = GPBDataTypeMessage, + .offset = offsetof(GPBEnumValueOptions__storage_, uninterpretedOptionArray), + .defaultValue.valueMessage = nil, + .dataTypeSpecific.className = GPBStringifySymbol(GPBUninterpretedOption), + .fieldOptions = NULL, + }, + }; + static GPBExtensionRange ranges[] = { + { .start = 1000, .end = 536870912 }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GPBEnumValueOptions class] + rootClass:[GPBDescriptorRoot class] + file:GPBDescriptorRoot_FileDescriptor() + fields:fields + fieldCount:sizeof(fields) / sizeof(GPBMessageFieldDescription) + oneofs:NULL + oneofCount:0 + enums:NULL + enumCount:0 + ranges:ranges + rangeCount:sizeof(ranges) / sizeof(GPBExtensionRange) + storageSize:sizeof(GPBEnumValueOptions__storage_) + wireFormat:NO]; + NSAssert(descriptor == nil, @"Startup recursed!"); + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +#pragma mark - GPBServiceOptions + +@implementation GPBServiceOptions + +@dynamic hasDeprecated, deprecated; +@dynamic uninterpretedOptionArray, uninterpretedOptionArray_Count; + +typedef struct GPBServiceOptions__storage_ { + uint32_t _has_storage_[1]; + BOOL deprecated; + NSMutableArray *uninterpretedOptionArray; +} GPBServiceOptions__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 = "deprecated", + .number = GPBServiceOptions_FieldNumber_Deprecated, + .hasIndex = 0, + .flags = GPBFieldOptional | GPBFieldHasDefaultValue, + .dataType = GPBDataTypeBool, + .offset = offsetof(GPBServiceOptions__storage_, deprecated), + .defaultValue.valueBool = NO, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + { + .name = "uninterpretedOptionArray", + .number = GPBServiceOptions_FieldNumber_UninterpretedOptionArray, + .hasIndex = GPBNoHasBit, + .flags = GPBFieldRepeated, + .dataType = GPBDataTypeMessage, + .offset = offsetof(GPBServiceOptions__storage_, uninterpretedOptionArray), + .defaultValue.valueMessage = nil, + .dataTypeSpecific.className = GPBStringifySymbol(GPBUninterpretedOption), + .fieldOptions = NULL, + }, + }; + static GPBExtensionRange ranges[] = { + { .start = 1000, .end = 536870912 }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GPBServiceOptions class] + rootClass:[GPBDescriptorRoot class] + file:GPBDescriptorRoot_FileDescriptor() + fields:fields + fieldCount:sizeof(fields) / sizeof(GPBMessageFieldDescription) + oneofs:NULL + oneofCount:0 + enums:NULL + enumCount:0 + ranges:ranges + rangeCount:sizeof(ranges) / sizeof(GPBExtensionRange) + storageSize:sizeof(GPBServiceOptions__storage_) + wireFormat:NO]; + NSAssert(descriptor == nil, @"Startup recursed!"); + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +#pragma mark - GPBMethodOptions + +@implementation GPBMethodOptions + +@dynamic hasDeprecated, deprecated; +@dynamic uninterpretedOptionArray, uninterpretedOptionArray_Count; + +typedef struct GPBMethodOptions__storage_ { + uint32_t _has_storage_[1]; + BOOL deprecated; + NSMutableArray *uninterpretedOptionArray; +} GPBMethodOptions__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 = "deprecated", + .number = GPBMethodOptions_FieldNumber_Deprecated, + .hasIndex = 0, + .flags = GPBFieldOptional | GPBFieldHasDefaultValue, + .dataType = GPBDataTypeBool, + .offset = offsetof(GPBMethodOptions__storage_, deprecated), + .defaultValue.valueBool = NO, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + { + .name = "uninterpretedOptionArray", + .number = GPBMethodOptions_FieldNumber_UninterpretedOptionArray, + .hasIndex = GPBNoHasBit, + .flags = GPBFieldRepeated, + .dataType = GPBDataTypeMessage, + .offset = offsetof(GPBMethodOptions__storage_, uninterpretedOptionArray), + .defaultValue.valueMessage = nil, + .dataTypeSpecific.className = GPBStringifySymbol(GPBUninterpretedOption), + .fieldOptions = NULL, + }, + }; + static GPBExtensionRange ranges[] = { + { .start = 1000, .end = 536870912 }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GPBMethodOptions class] + rootClass:[GPBDescriptorRoot class] + file:GPBDescriptorRoot_FileDescriptor() + fields:fields + fieldCount:sizeof(fields) / sizeof(GPBMessageFieldDescription) + oneofs:NULL + oneofCount:0 + enums:NULL + enumCount:0 + ranges:ranges + rangeCount:sizeof(ranges) / sizeof(GPBExtensionRange) + storageSize:sizeof(GPBMethodOptions__storage_) + wireFormat:NO]; + NSAssert(descriptor == nil, @"Startup recursed!"); + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +#pragma mark - GPBUninterpretedOption + +@implementation GPBUninterpretedOption + +@dynamic nameArray, nameArray_Count; +@dynamic hasIdentifierValue, identifierValue; +@dynamic hasPositiveIntValue, positiveIntValue; +@dynamic hasNegativeIntValue, negativeIntValue; +@dynamic hasDoubleValue, doubleValue; +@dynamic hasStringValue, stringValue; +@dynamic hasAggregateValue, aggregateValue; + +typedef struct GPBUninterpretedOption__storage_ { + uint32_t _has_storage_[1]; + NSMutableArray *nameArray; + NSString *identifierValue; + NSData *stringValue; + NSString *aggregateValue; + uint64_t positiveIntValue; + int64_t negativeIntValue; + double doubleValue; +} GPBUninterpretedOption__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 = "nameArray", + .number = GPBUninterpretedOption_FieldNumber_NameArray, + .hasIndex = GPBNoHasBit, + .flags = GPBFieldRepeated, + .dataType = GPBDataTypeMessage, + .offset = offsetof(GPBUninterpretedOption__storage_, nameArray), + .defaultValue.valueMessage = nil, + .dataTypeSpecific.className = GPBStringifySymbol(GPBUninterpretedOption_NamePart), + .fieldOptions = NULL, + }, + { + .name = "identifierValue", + .number = GPBUninterpretedOption_FieldNumber_IdentifierValue, + .hasIndex = 1, + .flags = GPBFieldOptional, + .dataType = GPBDataTypeString, + .offset = offsetof(GPBUninterpretedOption__storage_, identifierValue), + .defaultValue.valueString = nil, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + { + .name = "positiveIntValue", + .number = GPBUninterpretedOption_FieldNumber_PositiveIntValue, + .hasIndex = 2, + .flags = GPBFieldOptional, + .dataType = GPBDataTypeUInt64, + .offset = offsetof(GPBUninterpretedOption__storage_, positiveIntValue), + .defaultValue.valueUInt64 = 0ULL, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + { + .name = "negativeIntValue", + .number = GPBUninterpretedOption_FieldNumber_NegativeIntValue, + .hasIndex = 3, + .flags = GPBFieldOptional, + .dataType = GPBDataTypeInt64, + .offset = offsetof(GPBUninterpretedOption__storage_, negativeIntValue), + .defaultValue.valueInt64 = 0LL, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + { + .name = "doubleValue", + .number = GPBUninterpretedOption_FieldNumber_DoubleValue, + .hasIndex = 4, + .flags = GPBFieldOptional, + .dataType = GPBDataTypeDouble, + .offset = offsetof(GPBUninterpretedOption__storage_, doubleValue), + .defaultValue.valueDouble = 0, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + { + .name = "stringValue", + .number = GPBUninterpretedOption_FieldNumber_StringValue, + .hasIndex = 5, + .flags = GPBFieldOptional, + .dataType = GPBDataTypeBytes, + .offset = offsetof(GPBUninterpretedOption__storage_, stringValue), + .defaultValue.valueData = nil, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + { + .name = "aggregateValue", + .number = GPBUninterpretedOption_FieldNumber_AggregateValue, + .hasIndex = 6, + .flags = GPBFieldOptional, + .dataType = GPBDataTypeString, + .offset = offsetof(GPBUninterpretedOption__storage_, aggregateValue), + .defaultValue.valueString = nil, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GPBUninterpretedOption class] + rootClass:[GPBDescriptorRoot class] + file:GPBDescriptorRoot_FileDescriptor() + fields:fields + fieldCount:sizeof(fields) / sizeof(GPBMessageFieldDescription) + oneofs:NULL + oneofCount:0 + enums:NULL + enumCount:0 + ranges:NULL + rangeCount:0 + storageSize:sizeof(GPBUninterpretedOption__storage_) + wireFormat:NO]; + NSAssert(descriptor == nil, @"Startup recursed!"); + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +#pragma mark - GPBUninterpretedOption_NamePart + +@implementation GPBUninterpretedOption_NamePart + +@dynamic hasNamePart, namePart; +@dynamic hasIsExtension, isExtension; + +typedef struct GPBUninterpretedOption_NamePart__storage_ { + uint32_t _has_storage_[1]; + BOOL isExtension; + NSString *namePart; +} GPBUninterpretedOption_NamePart__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 = "namePart", + .number = GPBUninterpretedOption_NamePart_FieldNumber_NamePart, + .hasIndex = 0, + .flags = GPBFieldRequired, + .dataType = GPBDataTypeString, + .offset = offsetof(GPBUninterpretedOption_NamePart__storage_, namePart), + .defaultValue.valueString = nil, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + { + .name = "isExtension", + .number = GPBUninterpretedOption_NamePart_FieldNumber_IsExtension, + .hasIndex = 1, + .flags = GPBFieldRequired, + .dataType = GPBDataTypeBool, + .offset = offsetof(GPBUninterpretedOption_NamePart__storage_, isExtension), + .defaultValue.valueBool = NO, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GPBUninterpretedOption_NamePart class] + rootClass:[GPBDescriptorRoot class] + file:GPBDescriptorRoot_FileDescriptor() + fields:fields + fieldCount:sizeof(fields) / sizeof(GPBMessageFieldDescription) + oneofs:NULL + oneofCount:0 + enums:NULL + enumCount:0 + ranges:NULL + rangeCount:0 + storageSize:sizeof(GPBUninterpretedOption_NamePart__storage_) + wireFormat:NO]; + NSAssert(descriptor == nil, @"Startup recursed!"); + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +#pragma mark - GPBSourceCodeInfo + +@implementation GPBSourceCodeInfo + +@dynamic locationArray, locationArray_Count; + +typedef struct GPBSourceCodeInfo__storage_ { + uint32_t _has_storage_[1]; + NSMutableArray *locationArray; +} GPBSourceCodeInfo__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 = "locationArray", + .number = GPBSourceCodeInfo_FieldNumber_LocationArray, + .hasIndex = GPBNoHasBit, + .flags = GPBFieldRepeated, + .dataType = GPBDataTypeMessage, + .offset = offsetof(GPBSourceCodeInfo__storage_, locationArray), + .defaultValue.valueMessage = nil, + .dataTypeSpecific.className = GPBStringifySymbol(GPBSourceCodeInfo_Location), + .fieldOptions = NULL, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GPBSourceCodeInfo class] + rootClass:[GPBDescriptorRoot class] + file:GPBDescriptorRoot_FileDescriptor() + fields:fields + fieldCount:sizeof(fields) / sizeof(GPBMessageFieldDescription) + oneofs:NULL + oneofCount:0 + enums:NULL + enumCount:0 + ranges:NULL + rangeCount:0 + storageSize:sizeof(GPBSourceCodeInfo__storage_) + wireFormat:NO]; + NSAssert(descriptor == nil, @"Startup recursed!"); + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +#pragma mark - GPBSourceCodeInfo_Location + +@implementation GPBSourceCodeInfo_Location + +@dynamic pathArray, pathArray_Count; +@dynamic spanArray, spanArray_Count; +@dynamic hasLeadingComments, leadingComments; +@dynamic hasTrailingComments, trailingComments; +@dynamic leadingDetachedCommentsArray, leadingDetachedCommentsArray_Count; + +typedef struct GPBSourceCodeInfo_Location__storage_ { + uint32_t _has_storage_[1]; + GPBInt32Array *pathArray; + GPBInt32Array *spanArray; + NSString *leadingComments; + NSString *trailingComments; + NSMutableArray *leadingDetachedCommentsArray; +} GPBSourceCodeInfo_Location__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 = "pathArray", + .number = GPBSourceCodeInfo_Location_FieldNumber_PathArray, + .hasIndex = GPBNoHasBit, + .flags = GPBFieldRepeated | GPBFieldPacked, + .dataType = GPBDataTypeInt32, + .offset = offsetof(GPBSourceCodeInfo_Location__storage_, pathArray), + .defaultValue.valueMessage = nil, + .dataTypeSpecific.className = NULL, + #if GPBOBJC_INCLUDE_FIELD_OPTIONS + .fieldOptions = "\000\000\000\002\020\001", + #else + .fieldOptions = NULL, + #endif // GPBOBJC_INCLUDE_FIELD_OPTIONS + }, + { + .name = "spanArray", + .number = GPBSourceCodeInfo_Location_FieldNumber_SpanArray, + .hasIndex = GPBNoHasBit, + .flags = GPBFieldRepeated | GPBFieldPacked, + .dataType = GPBDataTypeInt32, + .offset = offsetof(GPBSourceCodeInfo_Location__storage_, spanArray), + .defaultValue.valueMessage = nil, + .dataTypeSpecific.className = NULL, + #if GPBOBJC_INCLUDE_FIELD_OPTIONS + .fieldOptions = "\000\000\000\002\020\001", + #else + .fieldOptions = NULL, + #endif // GPBOBJC_INCLUDE_FIELD_OPTIONS + }, + { + .name = "leadingComments", + .number = GPBSourceCodeInfo_Location_FieldNumber_LeadingComments, + .hasIndex = 2, + .flags = GPBFieldOptional, + .dataType = GPBDataTypeString, + .offset = offsetof(GPBSourceCodeInfo_Location__storage_, leadingComments), + .defaultValue.valueString = nil, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + { + .name = "trailingComments", + .number = GPBSourceCodeInfo_Location_FieldNumber_TrailingComments, + .hasIndex = 3, + .flags = GPBFieldOptional, + .dataType = GPBDataTypeString, + .offset = offsetof(GPBSourceCodeInfo_Location__storage_, trailingComments), + .defaultValue.valueString = nil, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + { + .name = "leadingDetachedCommentsArray", + .number = GPBSourceCodeInfo_Location_FieldNumber_LeadingDetachedCommentsArray, + .hasIndex = GPBNoHasBit, + .flags = GPBFieldRepeated, + .dataType = GPBDataTypeString, + .offset = offsetof(GPBSourceCodeInfo_Location__storage_, leadingDetachedCommentsArray), + .defaultValue.valueMessage = nil, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GPBSourceCodeInfo_Location class] + rootClass:[GPBDescriptorRoot class] + file:GPBDescriptorRoot_FileDescriptor() + fields:fields + fieldCount:sizeof(fields) / sizeof(GPBMessageFieldDescription) + oneofs:NULL + oneofCount:0 + enums:NULL + enumCount:0 + ranges:NULL + rangeCount:0 + storageSize:sizeof(GPBSourceCodeInfo_Location__storage_) + wireFormat:NO]; + NSAssert(descriptor == nil, @"Startup recursed!"); + descriptor = localDescriptor; + } + return descriptor; +} + +@end + + +// @@protoc_insertion_point(global_scope) diff --git a/objectivec/google/protobuf/Duration.pbobjc.h b/objectivec/google/protobuf/Duration.pbobjc.h new file mode 100644 index 00000000..9ecba197 --- /dev/null +++ b/objectivec/google/protobuf/Duration.pbobjc.h @@ -0,0 +1,94 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: google/protobuf/duration.proto + +#import "GPBProtocolBuffers.h" + +#if GOOGLE_PROTOBUF_OBJC_GEN_VERSION != 30000 +#error This file was generated by a different version of protoc-gen-objc which is incompatible with your Protocol Buffer sources. +#endif + +// @@protoc_insertion_point(imports) + +CF_EXTERN_C_BEGIN + +NS_ASSUME_NONNULL_BEGIN + +#pragma mark - GPBDurationRoot + +@interface GPBDurationRoot : GPBRootObject + +// The base class provides: +// + (GPBExtensionRegistry *)extensionRegistry; +// which is an GPBExtensionRegistry that includes all the extensions defined by +// this file and all files that it depends on. + +@end + +#pragma mark - GPBDuration + +typedef GPB_ENUM(GPBDuration_FieldNumber) { + GPBDuration_FieldNumber_Seconds = 1, + GPBDuration_FieldNumber_Nanos = 2, +}; + +// A Duration represents a signed, fixed-length span of time represented +// as a count of seconds and fractions of seconds at nanosecond +// resolution. It is independent of any calendar and concepts like "day" +// or "month". It is related to Timestamp in that the difference between +// two Timestamp values is a Duration and it can be added or subtracted +// from a Timestamp. Range is approximately +-10,000 years. +// +// Example 1: Compute Duration from two Timestamps in pseudo code. +// +// Timestamp start = ...; +// Timestamp end = ...; +// Duration duration = ...; +// +// duration.seconds = end.seconds - start.seconds; +// duration.nanos = end.nanos - start.nanos; +// +// if (duration.seconds < 0 && duration.nanos > 0) { +// duration.seconds += 1; +// duration.nanos -= 1000000000; +// } else if (durations.seconds > 0 && duration.nanos < 0) { +// duration.seconds -= 1; +// duration.nanos += 1000000000; +// } +// +// Example 2: Compute Timestamp from Timestamp + Duration in pseudo code. +// +// Timestamp start = ...; +// Duration duration = ...; +// Timestamp end = ...; +// +// end.seconds = start.seconds + duration.seconds; +// end.nanos = start.nanos + duration.nanos; +// +// if (end.nanos < 0) { +// end.seconds -= 1; +// end.nanos += 1000000000; +// } else if (end.nanos >= 1000000000) { +// end.seconds += 1; +// end.nanos -= 1000000000; +// } +@interface GPBDuration : GPBMessage + +// Signed seconds of the span of time. Must be from -315,576,000,000 +// to +315,576,000,000 inclusive. +@property(nonatomic, readwrite) int64_t seconds; + +// Signed fractions of a second at nanosecond resolution of the span +// of time. Durations less than one second are represented with a 0 +// `seconds` field and a positive or negative `nanos` field. For durations +// of one second or more, a non-zero value for the `nanos` field must be +// of the same sign as the `seconds` field. Must be from -999,999,999 +// to +999,999,999 inclusive. +@property(nonatomic, readwrite) int32_t nanos; + +@end + +NS_ASSUME_NONNULL_END + +CF_EXTERN_C_END + +// @@protoc_insertion_point(global_scope) diff --git a/objectivec/google/protobuf/Duration.pbobjc.m b/objectivec/google/protobuf/Duration.pbobjc.m new file mode 100644 index 00000000..e4fd4951 --- /dev/null +++ b/objectivec/google/protobuf/Duration.pbobjc.m @@ -0,0 +1,93 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: google/protobuf/duration.proto + +#import "GPBProtocolBuffers_RuntimeSupport.h" +#import "google/protobuf/Duration.pbobjc.h" +// @@protoc_insertion_point(imports) + +#pragma mark - GPBDurationRoot + +@implementation GPBDurationRoot + +@end + +#pragma mark - GPBDurationRoot_FileDescriptor + +static GPBFileDescriptor *GPBDurationRoot_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) { + GPBDebugCheckRuntimeVersion(); + descriptor = [[GPBFileDescriptor alloc] initWithPackage:@"google.protobuf" + syntax:GPBFileSyntaxProto3]; + } + return descriptor; +} + +#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", + .number = GPBDuration_FieldNumber_Seconds, + .hasIndex = 0, + .flags = GPBFieldOptional, + .dataType = GPBDataTypeInt64, + .offset = offsetof(GPBDuration__storage_, seconds), + .defaultValue.valueInt64 = 0LL, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + { + .name = "nanos", + .number = GPBDuration_FieldNumber_Nanos, + .hasIndex = 1, + .flags = GPBFieldOptional, + .dataType = GPBDataTypeInt32, + .offset = offsetof(GPBDuration__storage_, nanos), + .defaultValue.valueInt32 = 0, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GPBDuration class] + rootClass:[GPBDurationRoot class] + file:GPBDurationRoot_FileDescriptor() + fields:fields + fieldCount:sizeof(fields) / sizeof(GPBMessageFieldDescription) + oneofs:NULL + oneofCount:0 + enums:NULL + enumCount:0 + ranges:NULL + rangeCount:0 + storageSize:sizeof(GPBDuration__storage_) + wireFormat:NO]; + NSAssert(descriptor == nil, @"Startup recursed!"); + descriptor = localDescriptor; + } + return descriptor; +} + +@end + + +// @@protoc_insertion_point(global_scope) diff --git a/objectivec/google/protobuf/Empty.pbobjc.h b/objectivec/google/protobuf/Empty.pbobjc.h new file mode 100644 index 00000000..17e2b19b --- /dev/null +++ b/objectivec/google/protobuf/Empty.pbobjc.h @@ -0,0 +1,44 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: google/protobuf/empty.proto + +#import "GPBProtocolBuffers.h" + +#if GOOGLE_PROTOBUF_OBJC_GEN_VERSION != 30000 +#error This file was generated by a different version of protoc-gen-objc which is incompatible with your Protocol Buffer sources. +#endif + +// @@protoc_insertion_point(imports) + +CF_EXTERN_C_BEGIN + +NS_ASSUME_NONNULL_BEGIN + +#pragma mark - GPBEmptyRoot + +@interface GPBEmptyRoot : GPBRootObject + +// The base class provides: +// + (GPBExtensionRegistry *)extensionRegistry; +// which is an GPBExtensionRegistry that includes all the extensions defined by +// this file and all files that it depends on. + +@end + +#pragma mark - GPBEmpty + +// A generic empty message that you can re-use to avoid defining duplicated +// empty messages in your APIs. A typical example is to use it as the request +// or the response type of an API method. For instance: +// +// service Foo { +// rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); +// } +@interface GPBEmpty : GPBMessage + +@end + +NS_ASSUME_NONNULL_END + +CF_EXTERN_C_END + +// @@protoc_insertion_point(global_scope) diff --git a/objectivec/google/protobuf/Empty.pbobjc.m b/objectivec/google/protobuf/Empty.pbobjc.m new file mode 100644 index 00000000..17f0c1ac --- /dev/null +++ b/objectivec/google/protobuf/Empty.pbobjc.m @@ -0,0 +1,65 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: google/protobuf/empty.proto + +#import "GPBProtocolBuffers_RuntimeSupport.h" +#import "google/protobuf/Empty.pbobjc.h" +// @@protoc_insertion_point(imports) + +#pragma mark - GPBEmptyRoot + +@implementation GPBEmptyRoot + +@end + +#pragma mark - GPBEmptyRoot_FileDescriptor + +static GPBFileDescriptor *GPBEmptyRoot_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) { + GPBDebugCheckRuntimeVersion(); + descriptor = [[GPBFileDescriptor alloc] initWithPackage:@"google.protobuf" + syntax:GPBFileSyntaxProto3]; + } + return descriptor; +} + +#pragma mark - GPBEmpty + +@implementation GPBEmpty + + +typedef struct GPBEmpty__storage_ { + uint32_t _has_storage_[0]; +} GPBEmpty__storage_; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GPBEmpty class] + rootClass:[GPBEmptyRoot class] + file:GPBEmptyRoot_FileDescriptor() + fields:NULL + fieldCount:0 + oneofs:NULL + oneofCount:0 + enums:NULL + enumCount:0 + ranges:NULL + rangeCount:0 + storageSize:sizeof(GPBEmpty__storage_) + wireFormat:NO]; + NSAssert(descriptor == nil, @"Startup recursed!"); + descriptor = localDescriptor; + } + return descriptor; +} + +@end + + +// @@protoc_insertion_point(global_scope) diff --git a/objectivec/google/protobuf/FieldMask.pbobjc.h b/objectivec/google/protobuf/FieldMask.pbobjc.h new file mode 100644 index 00000000..de62c03b --- /dev/null +++ b/objectivec/google/protobuf/FieldMask.pbobjc.h @@ -0,0 +1,164 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: google/protobuf/field_mask.proto + +#import "GPBProtocolBuffers.h" + +#if GOOGLE_PROTOBUF_OBJC_GEN_VERSION != 30000 +#error This file was generated by a different version of protoc-gen-objc which is incompatible with your Protocol Buffer sources. +#endif + +// @@protoc_insertion_point(imports) + +CF_EXTERN_C_BEGIN + +NS_ASSUME_NONNULL_BEGIN + +#pragma mark - GPBFieldMaskRoot + +@interface GPBFieldMaskRoot : GPBRootObject + +// The base class provides: +// + (GPBExtensionRegistry *)extensionRegistry; +// which is an GPBExtensionRegistry that includes all the extensions defined by +// this file and all files that it depends on. + +@end + +#pragma mark - GPBFieldMask + +typedef GPB_ENUM(GPBFieldMask_FieldNumber) { + GPBFieldMask_FieldNumber_PathsArray = 1, +}; + +// `FieldMask` represents a set of symbolic field paths, for example: +// +// paths: "f.a" +// paths: "f.b.d" +// +// Here `f` represents a field in some root message, `a` and `b` +// fields in the message found in `f`, and `d` a field found in the +// message in `f.b`. +// +// Field masks are used to specify a subset of fields that should be +// returned by a get operation or modified by an update operation. +// Field masks also have a custom JSON encoding (see below). +// +// # Field Masks in Projections +// When used in the context of a projection, a response message or +// sub-message is filtered by the API to only contain those fields as +// specified in the mask. For example, if the mask in the previous +// example is applied to a response message as follows: +// +// f { +// a : 22 +// b { +// d : 1 +// x : 2 +// } +// y : 13 +// } +// z: 8 +// +// The result will not contain specific values for fields x,y and z +// (there value will be set to the default, and omitted in proto text +// output): +// +// +// f { +// a : 22 +// b { +// d : 1 +// } +// } +// +// A repeated field is not allowed except at the last position of a +// field mask. +// +// If a FieldMask object is not present in a get operation, the +// operation applies to all fields (as if a FieldMask of all fields +// had been specified). +// +// Note that a field mask does not necessarily applies to the +// top-level response message. In case of a REST get operation, the +// field mask applies directly to the response, but in case of a REST +// list operation, the mask instead applies to each individual message +// in the returned resource list. In case of a REST custom method, +// other definitions may be used. Where the mask applies will be +// clearly documented together with its declaration in the API. In +// any case, the effect on the returned resource/resources is required +// behavior for APIs. +// +// # Field Masks in Update Operations +// A field mask in update operations specifies which fields of the +// targeted resource are going to be updated. The API is required +// to only change the values of the fields as specified in the mask +// and leave the others untouched. If a resource is passed in to +// describe the updated values, the API ignores the values of all +// fields not covered by the mask. +// +// In order to reset a field's value to the default, the field must +// be in the mask and set to the default value in the provided resource. +// Hence, in order to reset all fields of a resource, provide a default +// instance of the resource and set all fields in the mask, or do +// not provide a mask as described below. +// +// If a field mask is not present on update, the operation applies to +// all fields (as if a field mask of all fields has been specified). +// Note that in the presence of schema evolution, this may mean that +// fields the client does not know and has therefore not filled into +// the request will be reset to their default. If this is unwanted +// behavior, a specific service may require a client to always specify +// a field mask, producing an error if not. +// +// As with get operations, the location of the resource which +// describes the updated values in the request message depends on the +// operation kind. In any case, the effect of the field mask is +// required to be honored by the API. +// +// ## Considerations for HTTP REST +// The HTTP kind of an update operation which uses a field mask must +// be set to PATCH instead of PUT in order to satisfy HTTP semantics +// (PUT must only be used for full updates). +// +// # JSON Encoding of Field Masks +// In JSON, a field mask is encoded as a single string where paths are +// separated by a comma. Fields name in each path are converted +// to/from lower-camel naming conventions. +// +// As an example, consider the following message declarations: +// +// message Profile { +// User user = 1; +// Photo photo = 2; +// } +// message User { +// string display_name = 1; +// string address = 2; +// } +// +// In proto a field mask for `Profile` may look as such: +// +// mask { +// paths: "user.display_name" +// paths: "photo" +// } +// +// In JSON, the same mask is represented as below: +// +// { +// mask: "user.displayName,photo" +// } +@interface GPBFieldMask : GPBMessage + +// The set of field mask paths. +// |pathsArray| contains |NSString| +@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray *pathsArray; +@property(nonatomic, readonly) NSUInteger pathsArray_Count; + +@end + +NS_ASSUME_NONNULL_END + +CF_EXTERN_C_END + +// @@protoc_insertion_point(global_scope) diff --git a/objectivec/google/protobuf/FieldMask.pbobjc.m b/objectivec/google/protobuf/FieldMask.pbobjc.m new file mode 100644 index 00000000..f9684f51 --- /dev/null +++ b/objectivec/google/protobuf/FieldMask.pbobjc.m @@ -0,0 +1,80 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: google/protobuf/field_mask.proto + +#import "GPBProtocolBuffers_RuntimeSupport.h" +#import "google/protobuf/FieldMask.pbobjc.h" +// @@protoc_insertion_point(imports) + +#pragma mark - GPBFieldMaskRoot + +@implementation GPBFieldMaskRoot + +@end + +#pragma mark - GPBFieldMaskRoot_FileDescriptor + +static GPBFileDescriptor *GPBFieldMaskRoot_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) { + GPBDebugCheckRuntimeVersion(); + descriptor = [[GPBFileDescriptor alloc] initWithPackage:@"google.protobuf" + syntax:GPBFileSyntaxProto3]; + } + return descriptor; +} + +#pragma mark - GPBFieldMask + +@implementation GPBFieldMask + +@dynamic pathsArray, pathsArray_Count; + +typedef struct GPBFieldMask__storage_ { + uint32_t _has_storage_[1]; + NSMutableArray *pathsArray; +} GPBFieldMask__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 = "pathsArray", + .number = GPBFieldMask_FieldNumber_PathsArray, + .hasIndex = GPBNoHasBit, + .flags = GPBFieldRepeated, + .dataType = GPBDataTypeString, + .offset = offsetof(GPBFieldMask__storage_, pathsArray), + .defaultValue.valueMessage = nil, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GPBFieldMask class] + rootClass:[GPBFieldMaskRoot class] + file:GPBFieldMaskRoot_FileDescriptor() + fields:fields + fieldCount:sizeof(fields) / sizeof(GPBMessageFieldDescription) + oneofs:NULL + oneofCount:0 + enums:NULL + enumCount:0 + ranges:NULL + rangeCount:0 + storageSize:sizeof(GPBFieldMask__storage_) + wireFormat:NO]; + NSAssert(descriptor == nil, @"Startup recursed!"); + descriptor = localDescriptor; + } + return descriptor; +} + +@end + + +// @@protoc_insertion_point(global_scope) diff --git a/objectivec/google/protobuf/SourceContext.pbobjc.h b/objectivec/google/protobuf/SourceContext.pbobjc.h new file mode 100644 index 00000000..6bc57149 --- /dev/null +++ b/objectivec/google/protobuf/SourceContext.pbobjc.h @@ -0,0 +1,47 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: google/protobuf/source_context.proto + +#import "GPBProtocolBuffers.h" + +#if GOOGLE_PROTOBUF_OBJC_GEN_VERSION != 30000 +#error This file was generated by a different version of protoc-gen-objc which is incompatible with your Protocol Buffer sources. +#endif + +// @@protoc_insertion_point(imports) + +CF_EXTERN_C_BEGIN + +NS_ASSUME_NONNULL_BEGIN + +#pragma mark - GPBSourceContextRoot + +@interface GPBSourceContextRoot : GPBRootObject + +// The base class provides: +// + (GPBExtensionRegistry *)extensionRegistry; +// which is an GPBExtensionRegistry that includes all the extensions defined by +// this file and all files that it depends on. + +@end + +#pragma mark - GPBSourceContext + +typedef GPB_ENUM(GPBSourceContext_FieldNumber) { + GPBSourceContext_FieldNumber_FileName = 1, +}; + +// `SourceContext` represents information about the source of a +// protobuf element, like the file in which it is defined. +@interface GPBSourceContext : GPBMessage + +// The path-qualified name of the .proto file that contained the associated +// protobuf element. For example: `"google/protobuf/source.proto"`. +@property(nonatomic, readwrite, copy, null_resettable) NSString *fileName; + +@end + +NS_ASSUME_NONNULL_END + +CF_EXTERN_C_END + +// @@protoc_insertion_point(global_scope) diff --git a/objectivec/google/protobuf/SourceContext.pbobjc.m b/objectivec/google/protobuf/SourceContext.pbobjc.m new file mode 100644 index 00000000..ac1827fc --- /dev/null +++ b/objectivec/google/protobuf/SourceContext.pbobjc.m @@ -0,0 +1,80 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: google/protobuf/source_context.proto + +#import "GPBProtocolBuffers_RuntimeSupport.h" +#import "google/protobuf/SourceContext.pbobjc.h" +// @@protoc_insertion_point(imports) + +#pragma mark - GPBSourceContextRoot + +@implementation GPBSourceContextRoot + +@end + +#pragma mark - GPBSourceContextRoot_FileDescriptor + +static GPBFileDescriptor *GPBSourceContextRoot_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) { + GPBDebugCheckRuntimeVersion(); + descriptor = [[GPBFileDescriptor alloc] initWithPackage:@"google.protobuf" + syntax:GPBFileSyntaxProto3]; + } + return descriptor; +} + +#pragma mark - GPBSourceContext + +@implementation GPBSourceContext + +@dynamic fileName; + +typedef struct GPBSourceContext__storage_ { + uint32_t _has_storage_[1]; + NSString *fileName; +} GPBSourceContext__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 = "fileName", + .number = GPBSourceContext_FieldNumber_FileName, + .hasIndex = 0, + .flags = GPBFieldOptional, + .dataType = GPBDataTypeString, + .offset = offsetof(GPBSourceContext__storage_, fileName), + .defaultValue.valueString = nil, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GPBSourceContext class] + rootClass:[GPBSourceContextRoot class] + file:GPBSourceContextRoot_FileDescriptor() + fields:fields + fieldCount:sizeof(fields) / sizeof(GPBMessageFieldDescription) + oneofs:NULL + oneofCount:0 + enums:NULL + enumCount:0 + ranges:NULL + rangeCount:0 + storageSize:sizeof(GPBSourceContext__storage_) + wireFormat:NO]; + NSAssert(descriptor == nil, @"Startup recursed!"); + descriptor = localDescriptor; + } + return descriptor; +} + +@end + + +// @@protoc_insertion_point(global_scope) diff --git a/objectivec/google/protobuf/Struct.pbobjc.h b/objectivec/google/protobuf/Struct.pbobjc.h new file mode 100644 index 00000000..d72f9738 --- /dev/null +++ b/objectivec/google/protobuf/Struct.pbobjc.h @@ -0,0 +1,139 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: google/protobuf/struct.proto + +#import "GPBProtocolBuffers.h" + +#if GOOGLE_PROTOBUF_OBJC_GEN_VERSION != 30000 +#error This file was generated by a different version of protoc-gen-objc which is incompatible with your Protocol Buffer sources. +#endif + +// @@protoc_insertion_point(imports) + +CF_EXTERN_C_BEGIN + +@class GPBListValue; +@class GPBStruct; + +NS_ASSUME_NONNULL_BEGIN + +#pragma mark - Enum GPBNullValue + +// `NullValue` is a singleton enumeration to represent the null +// value for the `Value` type union. +typedef GPB_ENUM(GPBNullValue) { + GPBNullValue_GPBUnrecognizedEnumeratorValue = kGPBUnrecognizedEnumeratorValue, + // Null value. + GPBNullValue_NullValue = 0, +}; + +GPBEnumDescriptor *GPBNullValue_EnumDescriptor(void); + +BOOL GPBNullValue_IsValidValue(int32_t value); + +#pragma mark - GPBStructRoot + +@interface GPBStructRoot : GPBRootObject + +// The base class provides: +// + (GPBExtensionRegistry *)extensionRegistry; +// which is an GPBExtensionRegistry that includes all the extensions defined by +// this file and all files that it depends on. + +@end + +#pragma mark - GPBStruct + +typedef GPB_ENUM(GPBStruct_FieldNumber) { + GPBStruct_FieldNumber_Fields = 1, +}; + +// `Struct` represents a structured data value, consisting of fields +// which map to dynamically typed values. In some languages, `Struct` +// might be supported by a native representation. For example, in +// scripting languages like JS a struct is represented as an +// object. The details of that representation are described together +// with the proto support for the language. +@interface GPBStruct : GPBMessage + +// Map of dynamically typed values. +// |fields| values are |GPBValue| +@property(nonatomic, readwrite, strong, null_resettable) NSMutableDictionary *fields; +@property(nonatomic, readonly) NSUInteger fields_Count; + +@end + +#pragma mark - GPBValue + +typedef GPB_ENUM(GPBValue_FieldNumber) { + GPBValue_FieldNumber_NullValue = 1, + GPBValue_FieldNumber_NumberValue = 2, + GPBValue_FieldNumber_StringValue = 3, + GPBValue_FieldNumber_BoolValue = 4, + GPBValue_FieldNumber_StructValue = 5, + GPBValue_FieldNumber_ListValue = 6, +}; + +typedef GPB_ENUM(GPBValue_Kind_OneOfCase) { + GPBValue_Kind_OneOfCase_GPBUnsetOneOfCase = 0, + GPBValue_Kind_OneOfCase_NullValue = 1, + GPBValue_Kind_OneOfCase_NumberValue = 2, + GPBValue_Kind_OneOfCase_StringValue = 3, + GPBValue_Kind_OneOfCase_BoolValue = 4, + GPBValue_Kind_OneOfCase_StructValue = 5, + GPBValue_Kind_OneOfCase_ListValue = 6, +}; + +// `Value` represents a dynamically typed value which can be either +// null, a number, a string, a boolean, a recursive struct value, or a +// list of values. A producer of value is expected to set one of that +// variants, absence of any variant indicates an error. +@interface GPBValue : GPBMessage + +@property(nonatomic, readonly) GPBValue_Kind_OneOfCase kindOneOfCase; + +// Represents a null value. +@property(nonatomic, readwrite) GPBNullValue nullValue; + +// Represents a double value. +@property(nonatomic, readwrite) double numberValue; + +// Represents a string value. +@property(nonatomic, readwrite, copy, null_resettable) NSString *stringValue; + +// Represents a boolean value. +@property(nonatomic, readwrite) BOOL boolValue; + +// Represents a structured value. +@property(nonatomic, readwrite, strong, null_resettable) GPBStruct *structValue; + +// Represents a repeated `Value`. +@property(nonatomic, readwrite, strong, null_resettable) GPBListValue *listValue; + +@end + +int32_t GPBValue_NullValue_RawValue(GPBValue *message); +void SetGPBValue_NullValue_RawValue(GPBValue *message, int32_t value); + +void GPBValue_ClearKindOneOfCase(GPBValue *message); + +#pragma mark - GPBListValue + +typedef GPB_ENUM(GPBListValue_FieldNumber) { + GPBListValue_FieldNumber_ValuesArray = 1, +}; + +// `ListValue` is a wrapper around a repeated field of values. +@interface GPBListValue : GPBMessage + +// Repeated field of dynamically typed values. +// |valuesArray| contains |GPBValue| +@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray *valuesArray; +@property(nonatomic, readonly) NSUInteger valuesArray_Count; + +@end + +NS_ASSUME_NONNULL_END + +CF_EXTERN_C_END + +// @@protoc_insertion_point(global_scope) diff --git a/objectivec/google/protobuf/Struct.pbobjc.m b/objectivec/google/protobuf/Struct.pbobjc.m new file mode 100644 index 00000000..14b8f271 --- /dev/null +++ b/objectivec/google/protobuf/Struct.pbobjc.m @@ -0,0 +1,296 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: google/protobuf/struct.proto + +#import "GPBProtocolBuffers_RuntimeSupport.h" +#import "google/protobuf/Struct.pbobjc.h" +// @@protoc_insertion_point(imports) + +#pragma mark - GPBStructRoot + +@implementation GPBStructRoot + +@end + +#pragma mark - GPBStructRoot_FileDescriptor + +static GPBFileDescriptor *GPBStructRoot_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) { + GPBDebugCheckRuntimeVersion(); + descriptor = [[GPBFileDescriptor alloc] initWithPackage:@"google.protobuf" + syntax:GPBFileSyntaxProto3]; + } + return descriptor; +} + +#pragma mark - Enum GPBNullValue + +GPBEnumDescriptor *GPBNullValue_EnumDescriptor(void) { + static GPBEnumDescriptor *descriptor = NULL; + if (!descriptor) { + static GPBMessageEnumValueDescription values[] = { + { .name = "NullValue", .number = GPBNullValue_NullValue }, + }; + descriptor = [GPBEnumDescriptor allocDescriptorForName:GPBNSStringifySymbol(GPBNullValue) + values:values + valueCount:sizeof(values) / sizeof(GPBMessageEnumValueDescription) + enumVerifier:GPBNullValue_IsValidValue]; + } + return descriptor; +} + +BOOL GPBNullValue_IsValidValue(int32_t value__) { + switch (value__) { + case GPBNullValue_NullValue: + return YES; + default: + return NO; + } +} + +#pragma mark - GPBStruct + +@implementation GPBStruct + +@dynamic fields, fields_Count; + +typedef struct GPBStruct__storage_ { + uint32_t _has_storage_[1]; + NSMutableDictionary *fields; +} GPBStruct__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 = "fields", + .number = GPBStruct_FieldNumber_Fields, + .hasIndex = GPBNoHasBit, + .flags = GPBFieldMapKeyString, + .dataType = GPBDataTypeMessage, + .offset = offsetof(GPBStruct__storage_, fields), + .defaultValue.valueMessage = nil, + .dataTypeSpecific.className = GPBStringifySymbol(GPBValue), + .fieldOptions = NULL, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GPBStruct class] + rootClass:[GPBStructRoot class] + file:GPBStructRoot_FileDescriptor() + fields:fields + fieldCount:sizeof(fields) / sizeof(GPBMessageFieldDescription) + oneofs:NULL + oneofCount:0 + enums:NULL + enumCount:0 + ranges:NULL + rangeCount:0 + storageSize:sizeof(GPBStruct__storage_) + wireFormat:NO]; + NSAssert(descriptor == nil, @"Startup recursed!"); + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +#pragma mark - GPBValue + +@implementation GPBValue + +@dynamic kindOneOfCase; +@dynamic nullValue; +@dynamic numberValue; +@dynamic stringValue; +@dynamic boolValue; +@dynamic structValue; +@dynamic listValue; + +typedef struct GPBValue__storage_ { + uint32_t _has_storage_[2]; + BOOL boolValue; + GPBNullValue nullValue; + NSString *stringValue; + GPBStruct *structValue; + GPBListValue *listValue; + double numberValue; +} GPBValue__storage_; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = nil; + if (!descriptor) { + static GPBMessageOneofDescription oneofs[] = { + { + .name = "kind", + .index = -1, + }, + }; + static GPBMessageFieldDescription fields[] = { + { + .name = "nullValue", + .number = GPBValue_FieldNumber_NullValue, + .hasIndex = -1, + .flags = GPBFieldOptional | GPBFieldHasEnumDescriptor, + .dataType = GPBDataTypeEnum, + .offset = offsetof(GPBValue__storage_, nullValue), + .defaultValue.valueEnum = GPBNullValue_NullValue, + .dataTypeSpecific.enumDescFunc = GPBNullValue_EnumDescriptor, + .fieldOptions = NULL, + }, + { + .name = "numberValue", + .number = GPBValue_FieldNumber_NumberValue, + .hasIndex = -1, + .flags = GPBFieldOptional, + .dataType = GPBDataTypeDouble, + .offset = offsetof(GPBValue__storage_, numberValue), + .defaultValue.valueDouble = 0, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + { + .name = "stringValue", + .number = GPBValue_FieldNumber_StringValue, + .hasIndex = -1, + .flags = GPBFieldOptional, + .dataType = GPBDataTypeString, + .offset = offsetof(GPBValue__storage_, stringValue), + .defaultValue.valueString = nil, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + { + .name = "boolValue", + .number = GPBValue_FieldNumber_BoolValue, + .hasIndex = -1, + .flags = GPBFieldOptional, + .dataType = GPBDataTypeBool, + .offset = offsetof(GPBValue__storage_, boolValue), + .defaultValue.valueBool = NO, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + { + .name = "structValue", + .number = GPBValue_FieldNumber_StructValue, + .hasIndex = -1, + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + .offset = offsetof(GPBValue__storage_, structValue), + .defaultValue.valueMessage = nil, + .dataTypeSpecific.className = GPBStringifySymbol(GPBStruct), + .fieldOptions = NULL, + }, + { + .name = "listValue", + .number = GPBValue_FieldNumber_ListValue, + .hasIndex = -1, + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + .offset = offsetof(GPBValue__storage_, listValue), + .defaultValue.valueMessage = nil, + .dataTypeSpecific.className = GPBStringifySymbol(GPBListValue), + .fieldOptions = NULL, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GPBValue class] + rootClass:[GPBStructRoot class] + file:GPBStructRoot_FileDescriptor() + fields:fields + fieldCount:sizeof(fields) / sizeof(GPBMessageFieldDescription) + oneofs:oneofs + oneofCount:sizeof(oneofs) / sizeof(GPBMessageOneofDescription) + enums:NULL + enumCount:0 + ranges:NULL + rangeCount:0 + storageSize:sizeof(GPBValue__storage_) + wireFormat:NO]; + NSAssert(descriptor == nil, @"Startup recursed!"); + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +int32_t GPBValue_NullValue_RawValue(GPBValue *message) { + GPBDescriptor *descriptor = [GPBValue descriptor]; + GPBFieldDescriptor *field = [descriptor fieldWithNumber:GPBValue_FieldNumber_NullValue]; + return GPBGetMessageInt32Field(message, field); +} + +void SetGPBValue_NullValue_RawValue(GPBValue *message, int32_t value) { + GPBDescriptor *descriptor = [GPBValue descriptor]; + GPBFieldDescriptor *field = [descriptor fieldWithNumber:GPBValue_FieldNumber_NullValue]; + GPBSetInt32IvarWithFieldInternal(message, field, value, descriptor.file.syntax); +} + +void GPBValue_ClearKindOneOfCase(GPBValue *message) { + GPBDescriptor *descriptor = [message descriptor]; + GPBOneofDescriptor *oneof = descriptor->oneofs_[0]; + GPBMaybeClearOneof(message, oneof, 0); +} +#pragma mark - GPBListValue + +@implementation GPBListValue + +@dynamic valuesArray, valuesArray_Count; + +typedef struct GPBListValue__storage_ { + uint32_t _has_storage_[1]; + NSMutableArray *valuesArray; +} GPBListValue__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 = "valuesArray", + .number = GPBListValue_FieldNumber_ValuesArray, + .hasIndex = GPBNoHasBit, + .flags = GPBFieldRepeated, + .dataType = GPBDataTypeMessage, + .offset = offsetof(GPBListValue__storage_, valuesArray), + .defaultValue.valueMessage = nil, + .dataTypeSpecific.className = GPBStringifySymbol(GPBValue), + .fieldOptions = NULL, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GPBListValue class] + rootClass:[GPBStructRoot class] + file:GPBStructRoot_FileDescriptor() + fields:fields + fieldCount:sizeof(fields) / sizeof(GPBMessageFieldDescription) + oneofs:NULL + oneofCount:0 + enums:NULL + enumCount:0 + ranges:NULL + rangeCount:0 + storageSize:sizeof(GPBListValue__storage_) + wireFormat:NO]; + NSAssert(descriptor == nil, @"Startup recursed!"); + descriptor = localDescriptor; + } + return descriptor; +} + +@end + + +// @@protoc_insertion_point(global_scope) diff --git a/objectivec/google/protobuf/Timestamp.pbobjc.h b/objectivec/google/protobuf/Timestamp.pbobjc.h new file mode 100644 index 00000000..0b342156 --- /dev/null +++ b/objectivec/google/protobuf/Timestamp.pbobjc.h @@ -0,0 +1,105 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: google/protobuf/timestamp.proto + +#import "GPBProtocolBuffers.h" + +#if GOOGLE_PROTOBUF_OBJC_GEN_VERSION != 30000 +#error This file was generated by a different version of protoc-gen-objc which is incompatible with your Protocol Buffer sources. +#endif + +// @@protoc_insertion_point(imports) + +CF_EXTERN_C_BEGIN + +NS_ASSUME_NONNULL_BEGIN + +#pragma mark - GPBTimestampRoot + +@interface GPBTimestampRoot : GPBRootObject + +// The base class provides: +// + (GPBExtensionRegistry *)extensionRegistry; +// which is an GPBExtensionRegistry that includes all the extensions defined by +// this file and all files that it depends on. + +@end + +#pragma mark - GPBTimestamp + +typedef GPB_ENUM(GPBTimestamp_FieldNumber) { + GPBTimestamp_FieldNumber_Seconds = 1, + GPBTimestamp_FieldNumber_Nanos = 2, +}; + +// A Timestamp represents a point in time independent of any time zone +// or calendar, represented as seconds and fractions of seconds at +// nanosecond resolution in UTC Epoch time. It is encoded using the +// Proleptic Gregorian Calendar which extends the Gregorian calendar +// backwards to year one. It is encoded assuming all minutes are 60 +// seconds long, i.e. leap seconds are "smeared" so that no leap second +// table is needed for interpretation. Range is from +// 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. +// By restricting to that range, we ensure that we can convert to +// and from RFC 3339 date strings. +// See [https://www.ietf.org/rfc/rfc3339.txt](https://www.ietf.org/rfc/rfc3339.txt). +// +// Example 1: Compute Timestamp from POSIX `time()`. +// +// Timestamp timestamp; +// timestamp.set_seconds(time(NULL)); +// timestamp.set_nanos(0); +// +// Example 2: Compute Timestamp from POSIX `gettimeofday()`. +// +// struct timeval tv; +// gettimeofday(&tv, NULL); +// +// Timestamp timestamp; +// timestamp.set_seconds(tv.tv_sec); +// timestamp.set_nanos(tv.tv_usec * 1000); +// +// Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`. +// +// FILETIME ft; +// GetSystemTimeAsFileTime(&ft); +// UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime; +// +// // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z +// // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. +// Timestamp timestamp; +// timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); +// timestamp.set_nanos((INT32) ((ticks % 10000000) * 100)); +// +// Example 4: Compute Timestamp from Java `System.currentTimeMillis()`. +// +// long millis = System.currentTimeMillis(); +// +// Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) +// .setNanos((int) ((millis % 1000) * 1000000)).build(); +// +// Example 5: Compute Timestamp from Python `datetime.datetime`. +// +// now = datetime.datetime.utcnow() +// seconds = int(time.mktime(now.timetuple())) +// nanos = now.microsecond * 1000 +// timestamp = Timestamp(seconds=seconds, nanos=nanos) +@interface GPBTimestamp : GPBMessage + +// Represents seconds of UTC time since Unix epoch +// 1970-01-01T00:00:00Z. Must be from from 0001-01-01T00:00:00Z to +// 9999-12-31T23:59:59Z inclusive. +@property(nonatomic, readwrite) int64_t seconds; + +// Non-negative fractions of a second at nanosecond resolution. Negative +// second values with fractions must still have non-negative nanos values +// that count forward in time. Must be from 0 to 999,999,999 +// inclusive. +@property(nonatomic, readwrite) int32_t nanos; + +@end + +NS_ASSUME_NONNULL_END + +CF_EXTERN_C_END + +// @@protoc_insertion_point(global_scope) diff --git a/objectivec/google/protobuf/Timestamp.pbobjc.m b/objectivec/google/protobuf/Timestamp.pbobjc.m new file mode 100644 index 00000000..a206f159 --- /dev/null +++ b/objectivec/google/protobuf/Timestamp.pbobjc.m @@ -0,0 +1,93 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: google/protobuf/timestamp.proto + +#import "GPBProtocolBuffers_RuntimeSupport.h" +#import "google/protobuf/Timestamp.pbobjc.h" +// @@protoc_insertion_point(imports) + +#pragma mark - GPBTimestampRoot + +@implementation GPBTimestampRoot + +@end + +#pragma mark - GPBTimestampRoot_FileDescriptor + +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) { + GPBDebugCheckRuntimeVersion(); + 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 = nil; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "seconds", + .number = GPBTimestamp_FieldNumber_Seconds, + .hasIndex = 0, + .flags = GPBFieldOptional, + .dataType = GPBDataTypeInt64, + .offset = offsetof(GPBTimestamp__storage_, seconds), + .defaultValue.valueInt64 = 0LL, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + { + .name = "nanos", + .number = GPBTimestamp_FieldNumber_Nanos, + .hasIndex = 1, + .flags = GPBFieldOptional, + .dataType = GPBDataTypeInt32, + .offset = offsetof(GPBTimestamp__storage_, nanos), + .defaultValue.valueInt32 = 0, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + }; + GPBDescriptor *localDescriptor = + [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]; + NSAssert(descriptor == nil, @"Startup recursed!"); + descriptor = localDescriptor; + } + return descriptor; +} + +@end + + +// @@protoc_insertion_point(global_scope) diff --git a/objectivec/google/protobuf/Type.pbobjc.h b/objectivec/google/protobuf/Type.pbobjc.h new file mode 100644 index 00000000..eb807ae5 --- /dev/null +++ b/objectivec/google/protobuf/Type.pbobjc.h @@ -0,0 +1,284 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: google/protobuf/type.proto + +#import "GPBProtocolBuffers.h" + +#if GOOGLE_PROTOBUF_OBJC_GEN_VERSION != 30000 +#error This file was generated by a different version of protoc-gen-objc which is incompatible with your Protocol Buffer sources. +#endif + +// @@protoc_insertion_point(imports) + +CF_EXTERN_C_BEGIN + +@class GPBAny; +@class GPBSourceContext; + +NS_ASSUME_NONNULL_BEGIN + +#pragma mark - Enum GPBField_Kind + +// Kind represents a basic field type. +typedef GPB_ENUM(GPBField_Kind) { + GPBField_Kind_GPBUnrecognizedEnumeratorValue = kGPBUnrecognizedEnumeratorValue, + // Field type unknown. + GPBField_Kind_TypeUnknown = 0, + + // Field type double. + GPBField_Kind_TypeDouble = 1, + + // Field type float. + GPBField_Kind_TypeFloat = 2, + + // Field type int64. + GPBField_Kind_TypeInt64 = 3, + + // Field type uint64. + GPBField_Kind_TypeUint64 = 4, + + // Field type int32. + GPBField_Kind_TypeInt32 = 5, + + // Field type fixed64. + GPBField_Kind_TypeFixed64 = 6, + + // Field type fixed32. + GPBField_Kind_TypeFixed32 = 7, + + // Field type bool. + GPBField_Kind_TypeBool = 8, + + // Field type string. + GPBField_Kind_TypeString = 9, + + // Field type message. + GPBField_Kind_TypeMessage = 11, + + // Field type bytes. + GPBField_Kind_TypeBytes = 12, + + // Field type uint32. + GPBField_Kind_TypeUint32 = 13, + + // Field type enum. + GPBField_Kind_TypeEnum = 14, + + // Field type sfixed32. + GPBField_Kind_TypeSfixed32 = 15, + + // Field type sfixed64. + GPBField_Kind_TypeSfixed64 = 16, + + // Field type sint32. + GPBField_Kind_TypeSint32 = 17, + + // Field type sint64. + GPBField_Kind_TypeSint64 = 18, +}; + +GPBEnumDescriptor *GPBField_Kind_EnumDescriptor(void); + +BOOL GPBField_Kind_IsValidValue(int32_t value); + +#pragma mark - Enum GPBField_Cardinality + +// Cardinality represents whether a field is optional, required, or +// repeated. +typedef GPB_ENUM(GPBField_Cardinality) { + GPBField_Cardinality_GPBUnrecognizedEnumeratorValue = kGPBUnrecognizedEnumeratorValue, + // The field cardinality is unknown. Typically an error condition. + GPBField_Cardinality_CardinalityUnknown = 0, + + // For optional fields. + GPBField_Cardinality_CardinalityOptional = 1, + + // For required fields. Not used for proto3. + GPBField_Cardinality_CardinalityRequired = 2, + + // For repeated fields. + GPBField_Cardinality_CardinalityRepeated = 3, +}; + +GPBEnumDescriptor *GPBField_Cardinality_EnumDescriptor(void); + +BOOL GPBField_Cardinality_IsValidValue(int32_t value); + +#pragma mark - GPBTypeRoot + +@interface GPBTypeRoot : GPBRootObject + +// The base class provides: +// + (GPBExtensionRegistry *)extensionRegistry; +// which is an GPBExtensionRegistry that includes all the extensions defined by +// this file and all files that it depends on. + +@end + +#pragma mark - GPBType + +typedef GPB_ENUM(GPBType_FieldNumber) { + GPBType_FieldNumber_Name = 1, + GPBType_FieldNumber_FieldsArray = 2, + GPBType_FieldNumber_OneofsArray = 3, + GPBType_FieldNumber_OptionsArray = 4, + GPBType_FieldNumber_SourceContext = 5, +}; + +// A light-weight descriptor for a proto message type. +@interface GPBType : GPBMessage + +// The fully qualified message name. +@property(nonatomic, readwrite, copy, null_resettable) NSString *name; + +// The list of fields. +// |fieldsArray| contains |GPBField| +@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray *fieldsArray; +@property(nonatomic, readonly) NSUInteger fieldsArray_Count; + +// The list of oneof definitions. +// The list of oneofs declared in this Type +// |oneofsArray| contains |NSString| +@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray *oneofsArray; +@property(nonatomic, readonly) NSUInteger oneofsArray_Count; + +// The proto options. +// |optionsArray| contains |GPBOption| +@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray *optionsArray; +@property(nonatomic, readonly) NSUInteger optionsArray_Count; + +// The source context. +@property(nonatomic, readwrite) BOOL hasSourceContext; +@property(nonatomic, readwrite, strong, null_resettable) GPBSourceContext *sourceContext; + +@end + +#pragma mark - GPBField + +typedef GPB_ENUM(GPBField_FieldNumber) { + GPBField_FieldNumber_Kind = 1, + GPBField_FieldNumber_Cardinality = 2, + GPBField_FieldNumber_Number = 3, + GPBField_FieldNumber_Name = 4, + GPBField_FieldNumber_TypeURL = 6, + GPBField_FieldNumber_OneofIndex = 7, + GPBField_FieldNumber_Packed = 8, + GPBField_FieldNumber_OptionsArray = 9, +}; + +// Field represents a single field of a message type. +@interface GPBField : GPBMessage + +// The field kind. +@property(nonatomic, readwrite) GPBField_Kind kind; + +// The field cardinality, i.e. optional/required/repeated. +@property(nonatomic, readwrite) GPBField_Cardinality cardinality; + +// The proto field number. +@property(nonatomic, readwrite) int32_t number; + +// The field name. +@property(nonatomic, readwrite, copy, null_resettable) NSString *name; + +// The type URL (without the scheme) when the type is MESSAGE or ENUM, +// such as `type.googleapis.com/google.protobuf.Empty`. +@property(nonatomic, readwrite, copy, null_resettable) NSString *typeURL; + +// Index in Type.oneofs. Starts at 1. Zero means no oneof mapping. +@property(nonatomic, readwrite) int32_t oneofIndex; + +// Whether to use alternative packed wire representation. +@property(nonatomic, readwrite) BOOL packed; + +// The proto options. +// |optionsArray| contains |GPBOption| +@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray *optionsArray; +@property(nonatomic, readonly) NSUInteger optionsArray_Count; + +@end + +int32_t GPBField_Kind_RawValue(GPBField *message); +void SetGPBField_Kind_RawValue(GPBField *message, int32_t value); + +int32_t GPBField_Cardinality_RawValue(GPBField *message); +void SetGPBField_Cardinality_RawValue(GPBField *message, int32_t value); + +#pragma mark - GPBEnum + +typedef GPB_ENUM(GPBEnum_FieldNumber) { + GPBEnum_FieldNumber_Name = 1, + GPBEnum_FieldNumber_EnumvalueArray = 2, + GPBEnum_FieldNumber_OptionsArray = 3, + GPBEnum_FieldNumber_SourceContext = 4, +}; + +// Enum type definition. +@interface GPBEnum : GPBMessage + +// Enum type name. +@property(nonatomic, readwrite, copy, null_resettable) NSString *name; + +// Enum value definitions. +// |enumvalueArray| contains |GPBEnumValue| +@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray *enumvalueArray; +@property(nonatomic, readonly) NSUInteger enumvalueArray_Count; + +// Proto options for the enum type. +// |optionsArray| contains |GPBOption| +@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray *optionsArray; +@property(nonatomic, readonly) NSUInteger optionsArray_Count; + +// The source context. +@property(nonatomic, readwrite) BOOL hasSourceContext; +@property(nonatomic, readwrite, strong, null_resettable) GPBSourceContext *sourceContext; + +@end + +#pragma mark - GPBEnumValue + +typedef GPB_ENUM(GPBEnumValue_FieldNumber) { + GPBEnumValue_FieldNumber_Name = 1, + GPBEnumValue_FieldNumber_Number = 2, + GPBEnumValue_FieldNumber_OptionsArray = 3, +}; + +// Enum value definition. +@interface GPBEnumValue : GPBMessage + +// Enum value name. +@property(nonatomic, readwrite, copy, null_resettable) NSString *name; + +// Enum value number. +@property(nonatomic, readwrite) int32_t number; + +// Proto options for the enum value. +// |optionsArray| contains |GPBOption| +@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray *optionsArray; +@property(nonatomic, readonly) NSUInteger optionsArray_Count; + +@end + +#pragma mark - GPBOption + +typedef GPB_ENUM(GPBOption_FieldNumber) { + GPBOption_FieldNumber_Name = 1, + GPBOption_FieldNumber_Value = 2, +}; + +// Proto option attached to messages/fields/enums etc. +@interface GPBOption : GPBMessage + +// Proto option name. +@property(nonatomic, readwrite, copy, null_resettable) NSString *name; + +// Proto option value. +@property(nonatomic, readwrite) BOOL hasValue; +@property(nonatomic, readwrite, strong, null_resettable) GPBAny *value; + +@end + +NS_ASSUME_NONNULL_END + +CF_EXTERN_C_END + +// @@protoc_insertion_point(global_scope) diff --git a/objectivec/google/protobuf/Type.pbobjc.m b/objectivec/google/protobuf/Type.pbobjc.m new file mode 100644 index 00000000..5a2ce282 --- /dev/null +++ b/objectivec/google/protobuf/Type.pbobjc.m @@ -0,0 +1,644 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: google/protobuf/type.proto + +#import "GPBProtocolBuffers_RuntimeSupport.h" +#import "google/protobuf/Type.pbobjc.h" +#import "google/protobuf/Any.pbobjc.h" +#import "google/protobuf/SourceContext.pbobjc.h" +// @@protoc_insertion_point(imports) + +#pragma mark - GPBTypeRoot + +@implementation GPBTypeRoot + ++ (GPBExtensionRegistry*)extensionRegistry { + // This is called by +initialize so there is no need to worry + // about thread safety and initialization of registry. + static GPBExtensionRegistry* registry = nil; + if (!registry) { + GPBDebugCheckRuntimeVersion(); + registry = [[GPBExtensionRegistry alloc] init]; + [registry addExtensions:[GPBAnyRoot extensionRegistry]]; + [registry addExtensions:[GPBSourceContextRoot extensionRegistry]]; + } + return registry; +} + +@end + +#pragma mark - GPBTypeRoot_FileDescriptor + +static GPBFileDescriptor *GPBTypeRoot_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) { + GPBDebugCheckRuntimeVersion(); + descriptor = [[GPBFileDescriptor alloc] initWithPackage:@"google.protobuf" + syntax:GPBFileSyntaxProto3]; + } + return descriptor; +} + +#pragma mark - GPBType + +@implementation GPBType + +@dynamic name; +@dynamic fieldsArray, fieldsArray_Count; +@dynamic oneofsArray, oneofsArray_Count; +@dynamic optionsArray, optionsArray_Count; +@dynamic hasSourceContext, sourceContext; + +typedef struct GPBType__storage_ { + uint32_t _has_storage_[1]; + NSString *name; + NSMutableArray *fieldsArray; + NSMutableArray *oneofsArray; + NSMutableArray *optionsArray; + GPBSourceContext *sourceContext; +} GPBType__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", + .number = GPBType_FieldNumber_Name, + .hasIndex = 0, + .flags = GPBFieldOptional, + .dataType = GPBDataTypeString, + .offset = offsetof(GPBType__storage_, name), + .defaultValue.valueString = nil, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + { + .name = "fieldsArray", + .number = GPBType_FieldNumber_FieldsArray, + .hasIndex = GPBNoHasBit, + .flags = GPBFieldRepeated, + .dataType = GPBDataTypeMessage, + .offset = offsetof(GPBType__storage_, fieldsArray), + .defaultValue.valueMessage = nil, + .dataTypeSpecific.className = GPBStringifySymbol(GPBField), + .fieldOptions = NULL, + }, + { + .name = "oneofsArray", + .number = GPBType_FieldNumber_OneofsArray, + .hasIndex = GPBNoHasBit, + .flags = GPBFieldRepeated, + .dataType = GPBDataTypeString, + .offset = offsetof(GPBType__storage_, oneofsArray), + .defaultValue.valueMessage = nil, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + { + .name = "optionsArray", + .number = GPBType_FieldNumber_OptionsArray, + .hasIndex = GPBNoHasBit, + .flags = GPBFieldRepeated, + .dataType = GPBDataTypeMessage, + .offset = offsetof(GPBType__storage_, optionsArray), + .defaultValue.valueMessage = nil, + .dataTypeSpecific.className = GPBStringifySymbol(GPBOption), + .fieldOptions = NULL, + }, + { + .name = "sourceContext", + .number = GPBType_FieldNumber_SourceContext, + .hasIndex = 4, + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + .offset = offsetof(GPBType__storage_, sourceContext), + .defaultValue.valueMessage = nil, + .dataTypeSpecific.className = GPBStringifySymbol(GPBSourceContext), + .fieldOptions = NULL, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GPBType class] + rootClass:[GPBTypeRoot class] + file:GPBTypeRoot_FileDescriptor() + fields:fields + fieldCount:sizeof(fields) / sizeof(GPBMessageFieldDescription) + oneofs:NULL + oneofCount:0 + enums:NULL + enumCount:0 + ranges:NULL + rangeCount:0 + storageSize:sizeof(GPBType__storage_) + wireFormat:NO]; + NSAssert(descriptor == nil, @"Startup recursed!"); + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +#pragma mark - GPBField + +@implementation GPBField + +@dynamic kind; +@dynamic cardinality; +@dynamic number; +@dynamic name; +@dynamic typeURL; +@dynamic oneofIndex; +@dynamic packed; +@dynamic optionsArray, optionsArray_Count; + +typedef struct GPBField__storage_ { + uint32_t _has_storage_[1]; + BOOL packed; + GPBField_Kind kind; + GPBField_Cardinality cardinality; + int32_t number; + int32_t oneofIndex; + NSString *name; + NSString *typeURL; + NSMutableArray *optionsArray; +} GPBField__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 = "kind", + .number = GPBField_FieldNumber_Kind, + .hasIndex = 0, + .flags = GPBFieldOptional | GPBFieldHasEnumDescriptor, + .dataType = GPBDataTypeEnum, + .offset = offsetof(GPBField__storage_, kind), + .defaultValue.valueEnum = GPBField_Kind_TypeUnknown, + .dataTypeSpecific.enumDescFunc = GPBField_Kind_EnumDescriptor, + .fieldOptions = NULL, + }, + { + .name = "cardinality", + .number = GPBField_FieldNumber_Cardinality, + .hasIndex = 1, + .flags = GPBFieldOptional | GPBFieldHasEnumDescriptor, + .dataType = GPBDataTypeEnum, + .offset = offsetof(GPBField__storage_, cardinality), + .defaultValue.valueEnum = GPBField_Cardinality_CardinalityUnknown, + .dataTypeSpecific.enumDescFunc = GPBField_Cardinality_EnumDescriptor, + .fieldOptions = NULL, + }, + { + .name = "number", + .number = GPBField_FieldNumber_Number, + .hasIndex = 2, + .flags = GPBFieldOptional, + .dataType = GPBDataTypeInt32, + .offset = offsetof(GPBField__storage_, number), + .defaultValue.valueInt32 = 0, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + { + .name = "name", + .number = GPBField_FieldNumber_Name, + .hasIndex = 3, + .flags = GPBFieldOptional, + .dataType = GPBDataTypeString, + .offset = offsetof(GPBField__storage_, name), + .defaultValue.valueString = nil, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + { + .name = "typeURL", + .number = GPBField_FieldNumber_TypeURL, + .hasIndex = 4, + .flags = GPBFieldOptional | GPBFieldTextFormatNameCustom, + .dataType = GPBDataTypeString, + .offset = offsetof(GPBField__storage_, typeURL), + .defaultValue.valueString = nil, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + { + .name = "oneofIndex", + .number = GPBField_FieldNumber_OneofIndex, + .hasIndex = 5, + .flags = GPBFieldOptional, + .dataType = GPBDataTypeInt32, + .offset = offsetof(GPBField__storage_, oneofIndex), + .defaultValue.valueInt32 = 0, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + { + .name = "packed", + .number = GPBField_FieldNumber_Packed, + .hasIndex = 6, + .flags = GPBFieldOptional, + .dataType = GPBDataTypeBool, + .offset = offsetof(GPBField__storage_, packed), + .defaultValue.valueBool = NO, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + { + .name = "optionsArray", + .number = GPBField_FieldNumber_OptionsArray, + .hasIndex = GPBNoHasBit, + .flags = GPBFieldRepeated, + .dataType = GPBDataTypeMessage, + .offset = offsetof(GPBField__storage_, optionsArray), + .defaultValue.valueMessage = nil, + .dataTypeSpecific.className = GPBStringifySymbol(GPBOption), + .fieldOptions = NULL, + }, + }; + static GPBMessageEnumDescription enums[] = { + { .enumDescriptorFunc = GPBField_Kind_EnumDescriptor }, + { .enumDescriptorFunc = GPBField_Cardinality_EnumDescriptor }, + }; +#if GPBOBJC_SKIP_MESSAGE_TEXTFORMAT_EXTRAS + const char *extraTextFormatInfo = NULL; +#else + static const char *extraTextFormatInfo = "\001\006\004\241!!\000"; +#endif // GPBOBJC_SKIP_MESSAGE_TEXTFORMAT_EXTRAS + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GPBField class] + rootClass:[GPBTypeRoot class] + file:GPBTypeRoot_FileDescriptor() + fields:fields + fieldCount:sizeof(fields) / sizeof(GPBMessageFieldDescription) + oneofs:NULL + oneofCount:0 + enums:enums + enumCount:sizeof(enums) / sizeof(GPBMessageEnumDescription) + ranges:NULL + rangeCount:0 + storageSize:sizeof(GPBField__storage_) + wireFormat:NO + extraTextFormatInfo:extraTextFormatInfo]; + NSAssert(descriptor == nil, @"Startup recursed!"); + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +int32_t GPBField_Kind_RawValue(GPBField *message) { + GPBDescriptor *descriptor = [GPBField descriptor]; + GPBFieldDescriptor *field = [descriptor fieldWithNumber:GPBField_FieldNumber_Kind]; + return GPBGetMessageInt32Field(message, field); +} + +void SetGPBField_Kind_RawValue(GPBField *message, int32_t value) { + GPBDescriptor *descriptor = [GPBField descriptor]; + GPBFieldDescriptor *field = [descriptor fieldWithNumber:GPBField_FieldNumber_Kind]; + GPBSetInt32IvarWithFieldInternal(message, field, value, descriptor.file.syntax); +} + +int32_t GPBField_Cardinality_RawValue(GPBField *message) { + GPBDescriptor *descriptor = [GPBField descriptor]; + GPBFieldDescriptor *field = [descriptor fieldWithNumber:GPBField_FieldNumber_Cardinality]; + return GPBGetMessageInt32Field(message, field); +} + +void SetGPBField_Cardinality_RawValue(GPBField *message, int32_t value) { + GPBDescriptor *descriptor = [GPBField descriptor]; + GPBFieldDescriptor *field = [descriptor fieldWithNumber:GPBField_FieldNumber_Cardinality]; + GPBSetInt32IvarWithFieldInternal(message, field, value, descriptor.file.syntax); +} + +#pragma mark - Enum GPBField_Kind + +GPBEnumDescriptor *GPBField_Kind_EnumDescriptor(void) { + static GPBEnumDescriptor *descriptor = NULL; + if (!descriptor) { + static GPBMessageEnumValueDescription values[] = { + { .name = "TypeUnknown", .number = GPBField_Kind_TypeUnknown }, + { .name = "TypeDouble", .number = GPBField_Kind_TypeDouble }, + { .name = "TypeFloat", .number = GPBField_Kind_TypeFloat }, + { .name = "TypeInt64", .number = GPBField_Kind_TypeInt64 }, + { .name = "TypeUint64", .number = GPBField_Kind_TypeUint64 }, + { .name = "TypeInt32", .number = GPBField_Kind_TypeInt32 }, + { .name = "TypeFixed64", .number = GPBField_Kind_TypeFixed64 }, + { .name = "TypeFixed32", .number = GPBField_Kind_TypeFixed32 }, + { .name = "TypeBool", .number = GPBField_Kind_TypeBool }, + { .name = "TypeString", .number = GPBField_Kind_TypeString }, + { .name = "TypeMessage", .number = GPBField_Kind_TypeMessage }, + { .name = "TypeBytes", .number = GPBField_Kind_TypeBytes }, + { .name = "TypeUint32", .number = GPBField_Kind_TypeUint32 }, + { .name = "TypeEnum", .number = GPBField_Kind_TypeEnum }, + { .name = "TypeSfixed32", .number = GPBField_Kind_TypeSfixed32 }, + { .name = "TypeSfixed64", .number = GPBField_Kind_TypeSfixed64 }, + { .name = "TypeSint32", .number = GPBField_Kind_TypeSint32 }, + { .name = "TypeSint64", .number = GPBField_Kind_TypeSint64 }, + }; + descriptor = [GPBEnumDescriptor allocDescriptorForName:GPBNSStringifySymbol(GPBField_Kind) + values:values + valueCount:sizeof(values) / sizeof(GPBMessageEnumValueDescription) + enumVerifier:GPBField_Kind_IsValidValue]; + } + return descriptor; +} + +BOOL GPBField_Kind_IsValidValue(int32_t value__) { + switch (value__) { + case GPBField_Kind_TypeUnknown: + case GPBField_Kind_TypeDouble: + case GPBField_Kind_TypeFloat: + case GPBField_Kind_TypeInt64: + case GPBField_Kind_TypeUint64: + case GPBField_Kind_TypeInt32: + case GPBField_Kind_TypeFixed64: + case GPBField_Kind_TypeFixed32: + case GPBField_Kind_TypeBool: + case GPBField_Kind_TypeString: + case GPBField_Kind_TypeMessage: + case GPBField_Kind_TypeBytes: + case GPBField_Kind_TypeUint32: + case GPBField_Kind_TypeEnum: + case GPBField_Kind_TypeSfixed32: + case GPBField_Kind_TypeSfixed64: + case GPBField_Kind_TypeSint32: + case GPBField_Kind_TypeSint64: + return YES; + default: + return NO; + } +} + +#pragma mark - Enum GPBField_Cardinality + +GPBEnumDescriptor *GPBField_Cardinality_EnumDescriptor(void) { + static GPBEnumDescriptor *descriptor = NULL; + if (!descriptor) { + static GPBMessageEnumValueDescription values[] = { + { .name = "CardinalityUnknown", .number = GPBField_Cardinality_CardinalityUnknown }, + { .name = "CardinalityOptional", .number = GPBField_Cardinality_CardinalityOptional }, + { .name = "CardinalityRequired", .number = GPBField_Cardinality_CardinalityRequired }, + { .name = "CardinalityRepeated", .number = GPBField_Cardinality_CardinalityRepeated }, + }; + descriptor = [GPBEnumDescriptor allocDescriptorForName:GPBNSStringifySymbol(GPBField_Cardinality) + values:values + valueCount:sizeof(values) / sizeof(GPBMessageEnumValueDescription) + enumVerifier:GPBField_Cardinality_IsValidValue]; + } + return descriptor; +} + +BOOL GPBField_Cardinality_IsValidValue(int32_t value__) { + switch (value__) { + case GPBField_Cardinality_CardinalityUnknown: + case GPBField_Cardinality_CardinalityOptional: + case GPBField_Cardinality_CardinalityRequired: + case GPBField_Cardinality_CardinalityRepeated: + return YES; + default: + return NO; + } +} + +#pragma mark - GPBEnum + +@implementation GPBEnum + +@dynamic name; +@dynamic enumvalueArray, enumvalueArray_Count; +@dynamic optionsArray, optionsArray_Count; +@dynamic hasSourceContext, sourceContext; + +typedef struct GPBEnum__storage_ { + uint32_t _has_storage_[1]; + NSString *name; + NSMutableArray *enumvalueArray; + NSMutableArray *optionsArray; + GPBSourceContext *sourceContext; +} GPBEnum__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", + .number = GPBEnum_FieldNumber_Name, + .hasIndex = 0, + .flags = GPBFieldOptional, + .dataType = GPBDataTypeString, + .offset = offsetof(GPBEnum__storage_, name), + .defaultValue.valueString = nil, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + { + .name = "enumvalueArray", + .number = GPBEnum_FieldNumber_EnumvalueArray, + .hasIndex = GPBNoHasBit, + .flags = GPBFieldRepeated, + .dataType = GPBDataTypeMessage, + .offset = offsetof(GPBEnum__storage_, enumvalueArray), + .defaultValue.valueMessage = nil, + .dataTypeSpecific.className = GPBStringifySymbol(GPBEnumValue), + .fieldOptions = NULL, + }, + { + .name = "optionsArray", + .number = GPBEnum_FieldNumber_OptionsArray, + .hasIndex = GPBNoHasBit, + .flags = GPBFieldRepeated, + .dataType = GPBDataTypeMessage, + .offset = offsetof(GPBEnum__storage_, optionsArray), + .defaultValue.valueMessage = nil, + .dataTypeSpecific.className = GPBStringifySymbol(GPBOption), + .fieldOptions = NULL, + }, + { + .name = "sourceContext", + .number = GPBEnum_FieldNumber_SourceContext, + .hasIndex = 3, + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + .offset = offsetof(GPBEnum__storage_, sourceContext), + .defaultValue.valueMessage = nil, + .dataTypeSpecific.className = GPBStringifySymbol(GPBSourceContext), + .fieldOptions = NULL, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GPBEnum class] + rootClass:[GPBTypeRoot class] + file:GPBTypeRoot_FileDescriptor() + fields:fields + fieldCount:sizeof(fields) / sizeof(GPBMessageFieldDescription) + oneofs:NULL + oneofCount:0 + enums:NULL + enumCount:0 + ranges:NULL + rangeCount:0 + storageSize:sizeof(GPBEnum__storage_) + wireFormat:NO]; + NSAssert(descriptor == nil, @"Startup recursed!"); + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +#pragma mark - GPBEnumValue + +@implementation GPBEnumValue + +@dynamic name; +@dynamic number; +@dynamic optionsArray, optionsArray_Count; + +typedef struct GPBEnumValue__storage_ { + uint32_t _has_storage_[1]; + int32_t number; + NSString *name; + NSMutableArray *optionsArray; +} GPBEnumValue__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", + .number = GPBEnumValue_FieldNumber_Name, + .hasIndex = 0, + .flags = GPBFieldOptional, + .dataType = GPBDataTypeString, + .offset = offsetof(GPBEnumValue__storage_, name), + .defaultValue.valueString = nil, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + { + .name = "number", + .number = GPBEnumValue_FieldNumber_Number, + .hasIndex = 1, + .flags = GPBFieldOptional, + .dataType = GPBDataTypeInt32, + .offset = offsetof(GPBEnumValue__storage_, number), + .defaultValue.valueInt32 = 0, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + { + .name = "optionsArray", + .number = GPBEnumValue_FieldNumber_OptionsArray, + .hasIndex = GPBNoHasBit, + .flags = GPBFieldRepeated, + .dataType = GPBDataTypeMessage, + .offset = offsetof(GPBEnumValue__storage_, optionsArray), + .defaultValue.valueMessage = nil, + .dataTypeSpecific.className = GPBStringifySymbol(GPBOption), + .fieldOptions = NULL, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GPBEnumValue class] + rootClass:[GPBTypeRoot class] + file:GPBTypeRoot_FileDescriptor() + fields:fields + fieldCount:sizeof(fields) / sizeof(GPBMessageFieldDescription) + oneofs:NULL + oneofCount:0 + enums:NULL + enumCount:0 + ranges:NULL + rangeCount:0 + storageSize:sizeof(GPBEnumValue__storage_) + wireFormat:NO]; + NSAssert(descriptor == nil, @"Startup recursed!"); + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +#pragma mark - GPBOption + +@implementation GPBOption + +@dynamic name; +@dynamic hasValue, value; + +typedef struct GPBOption__storage_ { + uint32_t _has_storage_[1]; + NSString *name; + GPBAny *value; +} GPBOption__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", + .number = GPBOption_FieldNumber_Name, + .hasIndex = 0, + .flags = GPBFieldOptional, + .dataType = GPBDataTypeString, + .offset = offsetof(GPBOption__storage_, name), + .defaultValue.valueString = nil, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + { + .name = "value", + .number = GPBOption_FieldNumber_Value, + .hasIndex = 1, + .flags = GPBFieldOptional, + .dataType = GPBDataTypeMessage, + .offset = offsetof(GPBOption__storage_, value), + .defaultValue.valueMessage = nil, + .dataTypeSpecific.className = GPBStringifySymbol(GPBAny), + .fieldOptions = NULL, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GPBOption class] + rootClass:[GPBTypeRoot class] + file:GPBTypeRoot_FileDescriptor() + fields:fields + fieldCount:sizeof(fields) / sizeof(GPBMessageFieldDescription) + oneofs:NULL + oneofCount:0 + enums:NULL + enumCount:0 + ranges:NULL + rangeCount:0 + storageSize:sizeof(GPBOption__storage_) + wireFormat:NO]; + NSAssert(descriptor == nil, @"Startup recursed!"); + descriptor = localDescriptor; + } + return descriptor; +} + +@end + + +// @@protoc_insertion_point(global_scope) diff --git a/objectivec/google/protobuf/Wrappers.pbobjc.h b/objectivec/google/protobuf/Wrappers.pbobjc.h new file mode 100644 index 00000000..b4718d02 --- /dev/null +++ b/objectivec/google/protobuf/Wrappers.pbobjc.h @@ -0,0 +1,157 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: google/protobuf/wrappers.proto + +#import "GPBProtocolBuffers.h" + +#if GOOGLE_PROTOBUF_OBJC_GEN_VERSION != 30000 +#error This file was generated by a different version of protoc-gen-objc which is incompatible with your Protocol Buffer sources. +#endif + +// @@protoc_insertion_point(imports) + +CF_EXTERN_C_BEGIN + +NS_ASSUME_NONNULL_BEGIN + +#pragma mark - GPBWrappersRoot + +@interface GPBWrappersRoot : GPBRootObject + +// The base class provides: +// + (GPBExtensionRegistry *)extensionRegistry; +// which is an GPBExtensionRegistry that includes all the extensions defined by +// this file and all files that it depends on. + +@end + +#pragma mark - GPBDoubleValue + +typedef GPB_ENUM(GPBDoubleValue_FieldNumber) { + GPBDoubleValue_FieldNumber_Value = 1, +}; + +// Wrapper message for double. +@interface GPBDoubleValue : GPBMessage + +// The double value. +@property(nonatomic, readwrite) double value; + +@end + +#pragma mark - GPBFloatValue + +typedef GPB_ENUM(GPBFloatValue_FieldNumber) { + GPBFloatValue_FieldNumber_Value = 1, +}; + +// Wrapper message for float. +@interface GPBFloatValue : GPBMessage + +// The float value. +@property(nonatomic, readwrite) float value; + +@end + +#pragma mark - GPBInt64Value + +typedef GPB_ENUM(GPBInt64Value_FieldNumber) { + GPBInt64Value_FieldNumber_Value = 1, +}; + +// Wrapper message for int64. +@interface GPBInt64Value : GPBMessage + +// The int64 value. +@property(nonatomic, readwrite) int64_t value; + +@end + +#pragma mark - GPBUInt64Value + +typedef GPB_ENUM(GPBUInt64Value_FieldNumber) { + GPBUInt64Value_FieldNumber_Value = 1, +}; + +// Wrapper message for uint64. +@interface GPBUInt64Value : GPBMessage + +// The uint64 value. +@property(nonatomic, readwrite) uint64_t value; + +@end + +#pragma mark - GPBInt32Value + +typedef GPB_ENUM(GPBInt32Value_FieldNumber) { + GPBInt32Value_FieldNumber_Value = 1, +}; + +// Wrapper message for int32. +@interface GPBInt32Value : GPBMessage + +// The int32 value. +@property(nonatomic, readwrite) int32_t value; + +@end + +#pragma mark - GPBUInt32Value + +typedef GPB_ENUM(GPBUInt32Value_FieldNumber) { + GPBUInt32Value_FieldNumber_Value = 1, +}; + +// Wrapper message for uint32. +@interface GPBUInt32Value : GPBMessage + +// The uint32 value. +@property(nonatomic, readwrite) uint32_t value; + +@end + +#pragma mark - GPBBoolValue + +typedef GPB_ENUM(GPBBoolValue_FieldNumber) { + GPBBoolValue_FieldNumber_Value = 1, +}; + +// Wrapper message for bool. +@interface GPBBoolValue : GPBMessage + +// The bool value. +@property(nonatomic, readwrite) BOOL value; + +@end + +#pragma mark - GPBStringValue + +typedef GPB_ENUM(GPBStringValue_FieldNumber) { + GPBStringValue_FieldNumber_Value = 1, +}; + +// Wrapper message for string. +@interface GPBStringValue : GPBMessage + +// The string value. +@property(nonatomic, readwrite, copy, null_resettable) NSString *value; + +@end + +#pragma mark - GPBBytesValue + +typedef GPB_ENUM(GPBBytesValue_FieldNumber) { + GPBBytesValue_FieldNumber_Value = 1, +}; + +// Wrapper message for bytes. +@interface GPBBytesValue : GPBMessage + +// The bytes value. +@property(nonatomic, readwrite, copy, null_resettable) NSData *value; + +@end + +NS_ASSUME_NONNULL_END + +CF_EXTERN_C_END + +// @@protoc_insertion_point(global_scope) diff --git a/objectivec/google/protobuf/Wrappers.pbobjc.m b/objectivec/google/protobuf/Wrappers.pbobjc.m new file mode 100644 index 00000000..0403b464 --- /dev/null +++ b/objectivec/google/protobuf/Wrappers.pbobjc.m @@ -0,0 +1,488 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: google/protobuf/wrappers.proto + +#import "GPBProtocolBuffers_RuntimeSupport.h" +#import "google/protobuf/Wrappers.pbobjc.h" +// @@protoc_insertion_point(imports) + +#pragma mark - GPBWrappersRoot + +@implementation GPBWrappersRoot + +@end + +#pragma mark - GPBWrappersRoot_FileDescriptor + +static GPBFileDescriptor *GPBWrappersRoot_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) { + GPBDebugCheckRuntimeVersion(); + descriptor = [[GPBFileDescriptor alloc] initWithPackage:@"google.protobuf" + syntax:GPBFileSyntaxProto3]; + } + return descriptor; +} + +#pragma mark - GPBDoubleValue + +@implementation GPBDoubleValue + +@dynamic value; + +typedef struct GPBDoubleValue__storage_ { + uint32_t _has_storage_[1]; + double value; +} GPBDoubleValue__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 = "value", + .number = GPBDoubleValue_FieldNumber_Value, + .hasIndex = 0, + .flags = GPBFieldOptional, + .dataType = GPBDataTypeDouble, + .offset = offsetof(GPBDoubleValue__storage_, value), + .defaultValue.valueDouble = 0, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GPBDoubleValue class] + rootClass:[GPBWrappersRoot class] + file:GPBWrappersRoot_FileDescriptor() + fields:fields + fieldCount:sizeof(fields) / sizeof(GPBMessageFieldDescription) + oneofs:NULL + oneofCount:0 + enums:NULL + enumCount:0 + ranges:NULL + rangeCount:0 + storageSize:sizeof(GPBDoubleValue__storage_) + wireFormat:NO]; + NSAssert(descriptor == nil, @"Startup recursed!"); + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +#pragma mark - GPBFloatValue + +@implementation GPBFloatValue + +@dynamic value; + +typedef struct GPBFloatValue__storage_ { + uint32_t _has_storage_[1]; + float value; +} GPBFloatValue__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 = "value", + .number = GPBFloatValue_FieldNumber_Value, + .hasIndex = 0, + .flags = GPBFieldOptional, + .dataType = GPBDataTypeFloat, + .offset = offsetof(GPBFloatValue__storage_, value), + .defaultValue.valueFloat = 0, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GPBFloatValue class] + rootClass:[GPBWrappersRoot class] + file:GPBWrappersRoot_FileDescriptor() + fields:fields + fieldCount:sizeof(fields) / sizeof(GPBMessageFieldDescription) + oneofs:NULL + oneofCount:0 + enums:NULL + enumCount:0 + ranges:NULL + rangeCount:0 + storageSize:sizeof(GPBFloatValue__storage_) + wireFormat:NO]; + NSAssert(descriptor == nil, @"Startup recursed!"); + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +#pragma mark - GPBInt64Value + +@implementation GPBInt64Value + +@dynamic value; + +typedef struct GPBInt64Value__storage_ { + uint32_t _has_storage_[1]; + int64_t value; +} GPBInt64Value__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 = "value", + .number = GPBInt64Value_FieldNumber_Value, + .hasIndex = 0, + .flags = GPBFieldOptional, + .dataType = GPBDataTypeInt64, + .offset = offsetof(GPBInt64Value__storage_, value), + .defaultValue.valueInt64 = 0LL, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GPBInt64Value class] + rootClass:[GPBWrappersRoot class] + file:GPBWrappersRoot_FileDescriptor() + fields:fields + fieldCount:sizeof(fields) / sizeof(GPBMessageFieldDescription) + oneofs:NULL + oneofCount:0 + enums:NULL + enumCount:0 + ranges:NULL + rangeCount:0 + storageSize:sizeof(GPBInt64Value__storage_) + wireFormat:NO]; + NSAssert(descriptor == nil, @"Startup recursed!"); + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +#pragma mark - GPBUInt64Value + +@implementation GPBUInt64Value + +@dynamic value; + +typedef struct GPBUInt64Value__storage_ { + uint32_t _has_storage_[1]; + uint64_t value; +} GPBUInt64Value__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 = "value", + .number = GPBUInt64Value_FieldNumber_Value, + .hasIndex = 0, + .flags = GPBFieldOptional, + .dataType = GPBDataTypeUInt64, + .offset = offsetof(GPBUInt64Value__storage_, value), + .defaultValue.valueUInt64 = 0ULL, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GPBUInt64Value class] + rootClass:[GPBWrappersRoot class] + file:GPBWrappersRoot_FileDescriptor() + fields:fields + fieldCount:sizeof(fields) / sizeof(GPBMessageFieldDescription) + oneofs:NULL + oneofCount:0 + enums:NULL + enumCount:0 + ranges:NULL + rangeCount:0 + storageSize:sizeof(GPBUInt64Value__storage_) + wireFormat:NO]; + NSAssert(descriptor == nil, @"Startup recursed!"); + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +#pragma mark - GPBInt32Value + +@implementation GPBInt32Value + +@dynamic value; + +typedef struct GPBInt32Value__storage_ { + uint32_t _has_storage_[1]; + int32_t value; +} GPBInt32Value__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 = "value", + .number = GPBInt32Value_FieldNumber_Value, + .hasIndex = 0, + .flags = GPBFieldOptional, + .dataType = GPBDataTypeInt32, + .offset = offsetof(GPBInt32Value__storage_, value), + .defaultValue.valueInt32 = 0, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GPBInt32Value class] + rootClass:[GPBWrappersRoot class] + file:GPBWrappersRoot_FileDescriptor() + fields:fields + fieldCount:sizeof(fields) / sizeof(GPBMessageFieldDescription) + oneofs:NULL + oneofCount:0 + enums:NULL + enumCount:0 + ranges:NULL + rangeCount:0 + storageSize:sizeof(GPBInt32Value__storage_) + wireFormat:NO]; + NSAssert(descriptor == nil, @"Startup recursed!"); + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +#pragma mark - GPBUInt32Value + +@implementation GPBUInt32Value + +@dynamic value; + +typedef struct GPBUInt32Value__storage_ { + uint32_t _has_storage_[1]; + uint32_t value; +} GPBUInt32Value__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 = "value", + .number = GPBUInt32Value_FieldNumber_Value, + .hasIndex = 0, + .flags = GPBFieldOptional, + .dataType = GPBDataTypeUInt32, + .offset = offsetof(GPBUInt32Value__storage_, value), + .defaultValue.valueUInt32 = 0U, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GPBUInt32Value class] + rootClass:[GPBWrappersRoot class] + file:GPBWrappersRoot_FileDescriptor() + fields:fields + fieldCount:sizeof(fields) / sizeof(GPBMessageFieldDescription) + oneofs:NULL + oneofCount:0 + enums:NULL + enumCount:0 + ranges:NULL + rangeCount:0 + storageSize:sizeof(GPBUInt32Value__storage_) + wireFormat:NO]; + NSAssert(descriptor == nil, @"Startup recursed!"); + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +#pragma mark - GPBBoolValue + +@implementation GPBBoolValue + +@dynamic value; + +typedef struct GPBBoolValue__storage_ { + uint32_t _has_storage_[1]; + BOOL value; +} GPBBoolValue__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 = "value", + .number = GPBBoolValue_FieldNumber_Value, + .hasIndex = 0, + .flags = GPBFieldOptional, + .dataType = GPBDataTypeBool, + .offset = offsetof(GPBBoolValue__storage_, value), + .defaultValue.valueBool = NO, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GPBBoolValue class] + rootClass:[GPBWrappersRoot class] + file:GPBWrappersRoot_FileDescriptor() + fields:fields + fieldCount:sizeof(fields) / sizeof(GPBMessageFieldDescription) + oneofs:NULL + oneofCount:0 + enums:NULL + enumCount:0 + ranges:NULL + rangeCount:0 + storageSize:sizeof(GPBBoolValue__storage_) + wireFormat:NO]; + NSAssert(descriptor == nil, @"Startup recursed!"); + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +#pragma mark - GPBStringValue + +@implementation GPBStringValue + +@dynamic value; + +typedef struct GPBStringValue__storage_ { + uint32_t _has_storage_[1]; + NSString *value; +} GPBStringValue__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 = "value", + .number = GPBStringValue_FieldNumber_Value, + .hasIndex = 0, + .flags = GPBFieldOptional, + .dataType = GPBDataTypeString, + .offset = offsetof(GPBStringValue__storage_, value), + .defaultValue.valueString = nil, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GPBStringValue class] + rootClass:[GPBWrappersRoot class] + file:GPBWrappersRoot_FileDescriptor() + fields:fields + fieldCount:sizeof(fields) / sizeof(GPBMessageFieldDescription) + oneofs:NULL + oneofCount:0 + enums:NULL + enumCount:0 + ranges:NULL + rangeCount:0 + storageSize:sizeof(GPBStringValue__storage_) + wireFormat:NO]; + NSAssert(descriptor == nil, @"Startup recursed!"); + descriptor = localDescriptor; + } + return descriptor; +} + +@end + +#pragma mark - GPBBytesValue + +@implementation GPBBytesValue + +@dynamic value; + +typedef struct GPBBytesValue__storage_ { + uint32_t _has_storage_[1]; + NSData *value; +} GPBBytesValue__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 = "value", + .number = GPBBytesValue_FieldNumber_Value, + .hasIndex = 0, + .flags = GPBFieldOptional, + .dataType = GPBDataTypeBytes, + .offset = offsetof(GPBBytesValue__storage_, value), + .defaultValue.valueData = nil, + .dataTypeSpecific.className = NULL, + .fieldOptions = NULL, + }, + }; + GPBDescriptor *localDescriptor = + [GPBDescriptor allocDescriptorForClass:[GPBBytesValue class] + rootClass:[GPBWrappersRoot class] + file:GPBWrappersRoot_FileDescriptor() + fields:fields + fieldCount:sizeof(fields) / sizeof(GPBMessageFieldDescription) + oneofs:NULL + oneofCount:0 + enums:NULL + enumCount:0 + ranges:NULL + rangeCount:0 + storageSize:sizeof(GPBBytesValue__storage_) + wireFormat:NO]; + NSAssert(descriptor == nil, @"Startup recursed!"); + descriptor = localDescriptor; + } + return descriptor; +} + +@end + + +// @@protoc_insertion_point(global_scope) |