Classes
CustomOptions
Container for a set of custom options specified within a message, field etc.
DescriptorBase
Base class for nearly all descriptors, providing common functionality.
DescriptorDeclaration
Provides additional information about the declaration of a descriptor, such as source location and comments.
DescriptorProto
Describes a message type.
DescriptorProto.Types
Container for nested types declared in the DescriptorProto message type.
DescriptorProto.Types.ExtensionRange
DescriptorProto.Types.ReservedRange
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.
DescriptorReflection
Holder for reflection information generated from google/protobuf/descriptor.proto
DescriptorValidationException
Thrown when building descriptors fails because the source DescriptorProtos are not valid.
EnumDescriptor
Descriptor for an enum type in a .proto file.
EnumDescriptorProto
Describes an enum type.
EnumDescriptorProto.Types
Container for nested types declared in the EnumDescriptorProto message type.
EnumDescriptorProto.Types.EnumReservedRange
Range of reserved numeric values. Reserved values may not be used by entries in the same enum. Reserved ranges may not overlap.
Note that this is distinct from DescriptorProto.ReservedRange in that it is inclusive such that it can appropriately represent the entire int32 domain.
EnumOptions
EnumValueDescriptor
Descriptor for a single enum value within an enum in a .proto file.
EnumValueDescriptorProto
Describes a value within an enum.
EnumValueOptions
ExtensionCollection
A collection to simplify retrieving the descriptors of extensions in a descriptor for a message
ExtensionRangeOptions
FieldDescriptor
Descriptor for a field or extension within a message in a .proto file.
FieldDescriptorProto
Describes a field within a message.
FieldDescriptorProto.Types
Container for nested types declared in the FieldDescriptorProto message type.
FieldOptions
FieldOptions.Types
Container for nested types declared in the FieldOptions message type.
FileDescriptor
Describes a .proto file, including everything defined within. IDescriptor is implemented such that the File property returns this descriptor, and the FullName is the same as the Name.
FileDescriptorProto
Describes a complete .proto file.
FileDescriptorSet
The protocol compiler can output a FileDescriptorSet containing the .proto files it parses.
FileOptions
FileOptions.Types
Container for nested types declared in the FileOptions message type.
GeneratedClrTypeInfo
Extra information provided by generated code when initializing a message or file descriptor. These are constructed as required, and are not long-lived. Hand-written code should never need to use this type.
GeneratedCodeInfo
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.
GeneratedCodeInfo.Types
Container for nested types declared in the GeneratedCodeInfo message type.
GeneratedCodeInfo.Types.Annotation
MessageDescriptor
Describes a message type.
MessageDescriptor.FieldCollection
A collection to simplify retrieving the field accessor for a particular field.
MessageOptions
MethodDescriptor
Describes a single method in a service.
MethodDescriptorProto
Describes a method of a service.
MethodOptions
MethodOptions.Types
Container for nested types declared in the MethodOptions message type.
OneofAccessor
Reflection access for a oneof, allowing clear and "get case" actions.
OneofDescriptor
Describes a "oneof" field collection in a message type: a set of fields of which at most one can be set in any particular message.
OneofDescriptorProto
Describes a oneof.
OneofOptions
OriginalNameAttribute
Specifies the original name (in the .proto file) of a named element, such as an enum value.
ServiceDescriptor
Describes a service type.
ServiceDescriptorProto
Describes a service.
ServiceOptions
SourceCodeInfo
Encapsulates information about the original source file from which a FileDescriptorProto was generated.
SourceCodeInfo.Types
Container for nested types declared in the SourceCodeInfo message type.
SourceCodeInfo.Types.Location
TypeRegistry
An immutable registry of types which can be looked up by their full name.
UninterpretedOption
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.
UninterpretedOption.Types
Container for nested types declared in the UninterpretedOption message type.
UninterpretedOption.Types.NamePart
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".
Interfaces
IDescriptor
Interface implemented by all descriptor types.
IFieldAccessor
Allows fields to be reflectively accessed.
Enums
FieldDescriptorProto.Types.Label
FieldDescriptorProto.Types.Type
FieldOptions.Types.CType
FieldOptions.Types.JSType
FieldType
Enumeration of all the possible field types.
FileOptions.Types.OptimizeMode
Generated classes can be optimized for speed or code size.
MethodOptions.Types.IdempotencyLevel
Is this method side-effect-free (or safe in HTTP parlance), or idempotent, or neither? HTTP based RPC implementation may choose GET verb for safe methods, and PUT verb for idempotent methods instead of the default POST.
Syntax
The syntax of a .proto file