aboutsummaryrefslogtreecommitdiffhomepage
path: root/objectivec/GPBExtensionRegistry.h
diff options
context:
space:
mode:
authorGravatar Thomas Van Lenten <thomasvl@google.com>2015-05-21 17:14:52 -0400
committerGravatar Thomas Van Lenten <thomasvl@google.com>2015-05-22 14:27:31 -0400
commit1dcc329427fd103a0abd96ab787270f5d0a31861 (patch)
treecf1c52df0e1effa3d0985a3406a71c38c3a4e487 /objectivec/GPBExtensionRegistry.h
parentc3480926f98eb7c45224daae5cf0373e120b3b8d (diff)
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.h19
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;