• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Protocol Buffers - Google's data interchange format
2 // Copyright 2008 Google Inc.  All rights reserved.
3 //
4 // Use of this source code is governed by a BSD-style
5 // license that can be found in the LICENSE file or at
6 // https://developers.google.com/open-source/licenses/bsd
7 
8 #import <Foundation/Foundation.h>
9 
10 #import "GPBUnknownField.h"
11 
12 #import "GPBArray.h"
13 
14 @class GPBCodedOutputStream;
15 
GPBUnknownField()16 @interface GPBUnknownField () {
17  @package
18   int32_t number_;
19   GPBUnknownFieldType type_;
20 
21   union {
22     uint64_t intValue;                 // type == Varint, Fixed32, Fixed64
23     NSData *_Nonnull lengthDelimited;  // type == LengthDelimited
24     GPBUnknownFields *_Nonnull group;  // type == Group
25     struct {                           // type == Legacy
26       GPBUInt64Array *_Null_unspecified mutableVarintList;
27       GPBUInt32Array *_Null_unspecified mutableFixed32List;
28       GPBUInt64Array *_Null_unspecified mutableFixed64List;
29       NSMutableArray<NSData *> *_Null_unspecified mutableLengthDelimitedList;
30 #pragma clang diagnostic push
31 #pragma clang diagnostic ignored "-Wdeprecated-declarations"
32       NSMutableArray<GPBUnknownFieldSet *> *_Null_unspecified mutableGroupList;
33 #pragma clang diagnostic pop
34     } legacy;
35   } storage_;
36 }
37 
38 - (nonnull instancetype)initWithNumber:(int32_t)number varint:(uint64_t)varint;
39 - (nonnull instancetype)initWithNumber:(int32_t)number fixed32:(uint32_t)fixed32;
40 - (nonnull instancetype)initWithNumber:(int32_t)number fixed64:(uint64_t)fixed64;
41 - (nonnull instancetype)initWithNumber:(int32_t)number lengthDelimited:(nonnull NSData *)data;
42 - (nonnull instancetype)initWithNumber:(int32_t)number group:(nonnull GPBUnknownFields *)group;
43 
44 - (void)writeToOutput:(nonnull GPBCodedOutputStream *)output;
45 - (size_t)serializedSize;
46 
47 - (void)writeAsMessageSetExtensionToOutput:(nonnull GPBCodedOutputStream *)output;
48 - (size_t)serializedSizeAsMessageSetExtension;
49 
50 - (void)mergeFromField:(nonnull GPBUnknownField *)other;
51 
52 @end
53