// Copyright 2008 Cyrus Najmabadi // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. #import "ExtensionField.h" typedef enum { PBExtensionTypeBool, PBExtensionTypeFixed32, PBExtensionTypeSFixed32, PBExtensionTypeFloat, PBExtensionTypeFixed64, PBExtensionTypeSFixed64, PBExtensionTypeDouble, PBExtensionTypeInt32, PBExtensionTypeInt64, PBExtensionTypeSInt32, PBExtensionTypeSInt64, PBExtensionTypeUInt32, PBExtensionTypeUInt64, PBExtensionTypeBytes, PBExtensionTypeString, PBExtensionTypeMessage, PBExtensionTypeGroup, PBExtensionTypeEnum } PBExtensionType; @interface PBConcreteExtensionField : NSObject { @private PBExtensionType type; Class extendedClass; int32_t fieldNumber; id defaultValue; Class messageOrGroupClass; BOOL isRepeated; BOOL isPacked; BOOL isMessageSetWireFormat; } + (PBConcreteExtensionField*) extensionWithType:(PBExtensionType) type extendedClass:(Class) extendedClass fieldNumber:(int32_t) fieldNumber defaultValue:(id) defaultValue messageOrGroupClass:(Class) messageOrGroupClass isRepeated:(BOOL) isRepeated isPacked:(BOOL) isPacked isMessageSetWireFormat:(BOOL) isMessageSetWireFormat; @end