aboutsummaryrefslogtreecommitdiff
path: root/objectivec/GPBExtensionRegistry.h
diff options
context:
space:
mode:
authorThomas Van Lenten <thomasvl@google.com>2016-03-07 12:07:03 -0500
committerThomas Van Lenten <thomasvl@google.com>2016-03-07 12:07:03 -0500
commit36650a07cf98ee4e734e07f2403fe5d20e300fc8 (patch)
treeb731c6deb1d3503ba069397b6cda6fd387dce9af /objectivec/GPBExtensionRegistry.h
parentf2d34086766ae33d3c945408f8dd3044921b1435 (diff)
downloadprotobuf-36650a07cf98ee4e734e07f2403fe5d20e300fc8.tar.gz
protobuf-36650a07cf98ee4e734e07f2403fe5d20e300fc8.tar.bz2
protobuf-36650a07cf98ee4e734e07f2403fe5d20e300fc8.zip
HeaderDoc support in the library and generated sources
- Convert most of the core library headers over to HeaderDoc format. - Switch the generated comments over to HeaderDoc. - Create GPBCodedOutputStream_PackagePrivate and move some things into there that should be more internal.
Diffstat (limited to 'objectivec/GPBExtensionRegistry.h')
-rw-r--r--objectivec/GPBExtensionRegistry.h53
1 files changed, 34 insertions, 19 deletions
diff --git a/objectivec/GPBExtensionRegistry.h b/objectivec/GPBExtensionRegistry.h
index 0363c70a..08a6472a 100644
--- a/objectivec/GPBExtensionRegistry.h
+++ b/objectivec/GPBExtensionRegistry.h
@@ -35,30 +35,45 @@
NS_ASSUME_NONNULL_BEGIN
-// A table of known extensions, searchable by name or field number. When
-// parsing a protocol message that might have extensions, you must provide an
-// ExtensionRegistry in which you have registered any extensions that you want
-// to be able to parse. Otherwise, those extensions will just be treated like
-// unknown fields.
-//
-// The *Root classes provide +extensionRegistry for the extensions defined in a
-// given file *and* all files it imports. You can also create a
-// GPBExtensionRegistry, and merge those registries to handle parsing extensions
-// defined from non overlapping files.
-//
-// GPBExtensionRegistry *registry =
-// [[[MyProtoFileRoot extensionRegistry] copy] autorelease];
-// [registry addExtension:[OtherMessage neededExtension]; // Not in MyProtoFile
-// NSError *parseError = nil;
-// MyMessage *msg = [MyMessage parseData:data
-// extensionRegistry:registry
-// error:&parseError];
-//
+/// A table of known extensions, searchable by name or field number. When
+/// parsing a protocol message that might have extensions, you must provide a
+/// @c GPBExtensionRegistry in which you have registered any extensions that you
+/// want to be able to parse. Otherwise, those extensions will just be treated
+/// like unknown fields.
+///
+/// The @c *Root classes provide @c +extensionRegistry for the extensions defined
+/// in a given file *and* all files it imports. You can also create a
+/// @c GPBExtensionRegistry, and merge those registries to handle parsing
+/// extensions defined from non overlapping files.
+///
+/// @code
+/// GPBExtensionRegistry *registry =
+/// [[[MyProtoFileRoot extensionRegistry] copy] autorelease];
+/// [registry addExtension:[OtherMessage neededExtension]; // Not in MyProtoFile
+/// NSError *parseError = nil;
+/// MyMessage *msg = [MyMessage parseData:data
+/// extensionRegistry:registry
+/// error:&parseError];
+/// @endcode
@interface GPBExtensionRegistry : NSObject<NSCopying>
+/// Add the given @c GPBExtensionDescriptor to this registry.
+///
+/// @param extension The extension description to add.
- (void)addExtension:(GPBExtensionDescriptor *)extension;
+
+/// Adds all the extensions from another registry to this registry.
+///
+/// @param registry The registry to merge into this registry.
- (void)addExtensions:(GPBExtensionRegistry *)registry;
+/// Looks for the extension registered for the given field number on a given
+/// @c GPBDescriptor.
+///
+/// @param descriptor The descriptor to look for a registered extension on.
+/// @param fieldNumber The field number of an extension to look for.
+///
+/// @return The registered @c GPBExtensionDescripto or nil if none was found.
- (nullable GPBExtensionDescriptor *)extensionForDescriptor:(GPBDescriptor *)descriptor
fieldNumber:(NSInteger)fieldNumber;