diff options
author | Thomas Van Lenten <thomasvl@google.com> | 2015-05-21 17:14:52 -0400 |
---|---|---|
committer | Thomas Van Lenten <thomasvl@google.com> | 2015-05-22 14:27:31 -0400 |
commit | 1dcc329427fd103a0abd96ab787270f5d0a31861 (patch) | |
tree | cf1c52df0e1effa3d0985a3406a71c38c3a4e487 /objectivec/GPBExtensionRegistry.h | |
parent | c3480926f98eb7c45224daae5cf0373e120b3b8d (diff) | |
download | protobuf-1dcc329427fd103a0abd96ab787270f5d0a31861.tar.gz protobuf-1dcc329427fd103a0abd96ab787270f5d0a31861.tar.bz2 protobuf-1dcc329427fd103a0abd96ab787270f5d0a31861.zip |
Objective C Second Alpha Drop
- Style fixups in the code.
- map<> serialization fixes and more tests.
- Autocreation of map<> fields (to match repeated fields).
- @@protoc_insertion_point(global_scope|imports).
- Fixup proto2 syntax extension support.
- Move all startup code to +initialize so it happen on class usage and not app startup.
- Have generated headers use forward declarations and move imports into generated code, reduces what is need at compile time to speed up compiled and avoid pointless rippling of rebuilds.
Diffstat (limited to 'objectivec/GPBExtensionRegistry.h')
-rw-r--r-- | objectivec/GPBExtensionRegistry.h | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/objectivec/GPBExtensionRegistry.h b/objectivec/GPBExtensionRegistry.h index ce1f8fab..e382971c 100644 --- a/objectivec/GPBExtensionRegistry.h +++ b/objectivec/GPBExtensionRegistry.h @@ -38,7 +38,24 @@ // 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. -@interface GPBExtensionRegistry : NSObject +// +// 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]; +// +@interface GPBExtensionRegistry : NSObject<NSCopying> + +- (void)addExtension:(GPBExtensionField *)extension; +- (void)addExtensions:(GPBExtensionRegistry *)registry; - (GPBExtensionField *)getExtension:(GPBDescriptor *)containingType fieldNumber:(NSInteger)fieldNumber; |