webkit  2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
Instance Methods | List of all members
GPBExtensionRegistry Class Reference

#import <GPBExtensionRegistry.h>

Inheritance diagram for GPBExtensionRegistry:
NSObject

Instance Methods

(void- addExtension:
 
(void- addExtensions:
 
(nullable GPBExtensionDescriptor *) - extensionForDescriptor:fieldNumber:
 

Detailed Description

A table of known extensions, searchable by name or field number. When parsing a protocol message that might have extensions, you must provide a 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 *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.

[[[MyProtoFileRoot extensionRegistry] copy] autorelease];
[registry addExtension:[OtherMessage neededExtension]; // Not in MyProtoFile
NSError *parseError = nil;
MyMessage *msg = [MyMessage parseData:data
extensionRegistry:registry
error:&parseError];

Method Documentation

◆ addExtension:()

- (void) addExtension: (GPBExtensionDescriptor *)  extension

Add the given GPBExtensionDescriptor to this registry.

Parameters
extensionThe extension description to add.

◆ addExtensions:()

- (void) addExtensions: (GPBExtensionRegistry *)  registry

Adds all the extensions from another registry to this registry.

Parameters
registryThe registry to merge into this registry.

◆ extensionForDescriptor:fieldNumber:()

- (GPBExtensionDescriptor *) extensionForDescriptor: (GPBDescriptor *)  descriptor
fieldNumber: (NSInteger)  fieldNumber 

Looks for the extension registered for the given field number on a given GPBDescriptor.

Parameters
descriptorThe descriptor to look for a registered extension on.
fieldNumberThe field number of an extension to look for.
Returns
The registered GPBExtensionDescripto or nil if none was found.

The documentation for this class was generated from the following files: