Protocol Buffers - Google's data interchange format (grpc依赖)
https://developers.google.com/protocol-buffers/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
75 lines
2.0 KiB
75 lines
2.0 KiB
// Protocol Buffers - Google's data interchange format |
|
// Copyright 2008 Google Inc. All rights reserved. |
|
// |
|
// Use of this source code is governed by a BSD-style |
|
// license that can be found in the LICENSE file or at |
|
// https://developers.google.com/open-source/licenses/bsd |
|
|
|
#import <Foundation/Foundation.h> |
|
|
|
#import "GPBArray.h" |
|
#import "GPBUnknownFields.h" |
|
|
|
@class GPBUnknownFields; |
|
|
|
NS_ASSUME_NONNULL_BEGIN |
|
|
|
typedef NS_ENUM(uint8_t, GPBUnknownFieldType) { |
|
GPBUnknownFieldTypeVarint, |
|
GPBUnknownFieldTypeFixed32, |
|
GPBUnknownFieldTypeFixed64, |
|
GPBUnknownFieldTypeLengthDelimited, // Length prefixed |
|
GPBUnknownFieldTypeGroup, // Tag delimited |
|
}; |
|
|
|
/** |
|
* Store an unknown field. These are used in conjunction with GPBUnknownFields. |
|
**/ |
|
__attribute__((objc_subclassing_restricted)) |
|
@interface GPBUnknownField : NSObject<NSCopying> |
|
|
|
/** The field number the data is stored under. */ |
|
@property(nonatomic, readonly, assign) int32_t number; |
|
|
|
/** The type of the field. */ |
|
@property(nonatomic, readonly, assign) GPBUnknownFieldType type; |
|
|
|
/** |
|
* Fetch the varint value. |
|
* |
|
* It is a programming error to call this when the `type` is not a varint. |
|
*/ |
|
@property(nonatomic, readonly, assign) uint64_t varint; |
|
|
|
/** |
|
* Fetch the fixed32 value. |
|
* |
|
* It is a programming error to call this when the `type` is not a fixed32. |
|
*/ |
|
@property(nonatomic, readonly, assign) uint32_t fixed32; |
|
|
|
/** |
|
* Fetch the fixed64 value. |
|
* |
|
* It is a programming error to call this when the `type` is not a fixed64. |
|
*/ |
|
@property(nonatomic, readonly, assign) uint64_t fixed64; |
|
|
|
/** |
|
* Fetch the length delimited (length prefixed) value. |
|
* |
|
* It is a programming error to call this when the `type` is not a length |
|
* delimited. |
|
*/ |
|
@property(nonatomic, readonly, strong, nonnull) NSData *lengthDelimited; |
|
|
|
/** |
|
* Fetch the group (tag delimited) value. |
|
* |
|
* It is a programming error to call this when the `type` is not a group. |
|
*/ |
|
@property(nonatomic, readonly, strong, nonnull) GPBUnknownFields *group; |
|
|
|
@end |
|
|
|
NS_ASSUME_NONNULL_END
|
|
|