| // 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 which is incompatible with your Protocol Buffer library 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, |
| GPBFieldDescriptorProto_FieldNumber_JsonName = 10, |
| }; |
| |
| // 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; |
| |
| // JSON name of this field. The value is set by protocol compiler. If the |
| // user has set a "json_name" option on this field, that option's value |
| // will be used. Otherwise, it's deduced from the field's name by converting |
| // it to camelCase. |
| @property(nonatomic, readwrite) BOOL hasJsonName; |
| @property(nonatomic, readwrite, copy, null_resettable) NSString *jsonName; |
| |
| @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_JavananoUseDeprecatedPackage = 38, |
| 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. |
| // This increases generated code size, potentially substantially for large |
| // protos, which may harm a memory-constrained application. |
| // - In the full runtime this is 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; |
| |
| // Whether the nano proto compiler should generate in the deprecated non-nano |
| // suffixed package. |
| @property(nonatomic, readwrite) BOOL hasJavananoUseDeprecatedPackage; |
| @property(nonatomic, readwrite) BOOL javananoUseDeprecatedPackage; |
| |
| // 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 |
| |
| #pragma mark - GPBGeneratedCodeInfo |
| |
| typedef GPB_ENUM(GPBGeneratedCodeInfo_FieldNumber) { |
| GPBGeneratedCodeInfo_FieldNumber_AnnotationArray = 1, |
| }; |
| |
| // Describes the relationship between generated code and its original source |
| // file. A GeneratedCodeInfo message is associated with only one generated |
| // source file, but may contain references to different source .proto files. |
| @interface GPBGeneratedCodeInfo : GPBMessage |
| |
| // An Annotation connects some span of text in generated code to an element |
| // of its generating .proto file. |
| // |annotationArray| contains |GPBGeneratedCodeInfo_Annotation| |
| @property(nonatomic, readwrite, strong, null_resettable) NSMutableArray *annotationArray; |
| @property(nonatomic, readonly) NSUInteger annotationArray_Count; |
| |
| @end |
| |
| #pragma mark - GPBGeneratedCodeInfo_Annotation |
| |
| typedef GPB_ENUM(GPBGeneratedCodeInfo_Annotation_FieldNumber) { |
| GPBGeneratedCodeInfo_Annotation_FieldNumber_PathArray = 1, |
| GPBGeneratedCodeInfo_Annotation_FieldNumber_SourceFile = 2, |
| GPBGeneratedCodeInfo_Annotation_FieldNumber_Begin = 3, |
| GPBGeneratedCodeInfo_Annotation_FieldNumber_End = 4, |
| }; |
| |
| @interface GPBGeneratedCodeInfo_Annotation : GPBMessage |
| |
| // Identifies the element in the original source .proto file. This field |
| // is formatted the same as SourceCodeInfo.Location.path. |
| @property(nonatomic, readwrite, strong, null_resettable) GPBInt32Array *pathArray; |
| @property(nonatomic, readonly) NSUInteger pathArray_Count; |
| |
| // Identifies the filesystem path to the original source .proto. |
| @property(nonatomic, readwrite) BOOL hasSourceFile; |
| @property(nonatomic, readwrite, copy, null_resettable) NSString *sourceFile; |
| |
| // Identifies the starting offset in bytes in the generated code |
| // that relates to the identified object. |
| @property(nonatomic, readwrite) BOOL hasBegin; |
| @property(nonatomic, readwrite) int32_t begin; |
| |
| // Identifies the ending offset in bytes in the generated code that |
| // relates to the identified offset. The end offset should be one past |
| // the last relevant byte (so the length of the text = end - begin). |
| @property(nonatomic, readwrite) BOOL hasEnd; |
| @property(nonatomic, readwrite) int32_t end; |
| |
| @end |
| |
| NS_ASSUME_NONNULL_END |
| |
| CF_EXTERN_C_END |
| |
| // @@protoc_insertion_point(global_scope) |