1*6777b538SAndroid Build Coastguard Worker // Protocol Buffers - Google's data interchange format 2*6777b538SAndroid Build Coastguard Worker // Copyright 2008 Google Inc. All rights reserved. 3*6777b538SAndroid Build Coastguard Worker // https://developers.google.com/protocol-buffers/ 4*6777b538SAndroid Build Coastguard Worker // 5*6777b538SAndroid Build Coastguard Worker // Redistribution and use in source and binary forms, with or without 6*6777b538SAndroid Build Coastguard Worker // modification, are permitted provided that the following conditions are 7*6777b538SAndroid Build Coastguard Worker // met: 8*6777b538SAndroid Build Coastguard Worker // 9*6777b538SAndroid Build Coastguard Worker // * Redistributions of source code must retain the above copyright 10*6777b538SAndroid Build Coastguard Worker // notice, this list of conditions and the following disclaimer. 11*6777b538SAndroid Build Coastguard Worker // * Redistributions in binary form must reproduce the above 12*6777b538SAndroid Build Coastguard Worker // copyright notice, this list of conditions and the following disclaimer 13*6777b538SAndroid Build Coastguard Worker // in the documentation and/or other materials provided with the 14*6777b538SAndroid Build Coastguard Worker // distribution. 15*6777b538SAndroid Build Coastguard Worker // * Neither the name of Google Inc. nor the names of its 16*6777b538SAndroid Build Coastguard Worker // contributors may be used to endorse or promote products derived from 17*6777b538SAndroid Build Coastguard Worker // this software without specific prior written permission. 18*6777b538SAndroid Build Coastguard Worker // 19*6777b538SAndroid Build Coastguard Worker // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 20*6777b538SAndroid Build Coastguard Worker // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 21*6777b538SAndroid Build Coastguard Worker // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 22*6777b538SAndroid Build Coastguard Worker // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 23*6777b538SAndroid Build Coastguard Worker // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 24*6777b538SAndroid Build Coastguard Worker // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 25*6777b538SAndroid Build Coastguard Worker // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 26*6777b538SAndroid Build Coastguard Worker // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 27*6777b538SAndroid Build Coastguard Worker // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 28*6777b538SAndroid Build Coastguard Worker // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 29*6777b538SAndroid Build Coastguard Worker // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 30*6777b538SAndroid Build Coastguard Worker 31*6777b538SAndroid Build Coastguard Worker #import <Foundation/Foundation.h> 32*6777b538SAndroid Build Coastguard Worker 33*6777b538SAndroid Build Coastguard Worker #import "GPBRuntimeTypes.h" 34*6777b538SAndroid Build Coastguard Worker #import "GPBWireFormat.h" 35*6777b538SAndroid Build Coastguard Worker 36*6777b538SAndroid Build Coastguard Worker @class GPBBoolArray; 37*6777b538SAndroid Build Coastguard Worker @class GPBDoubleArray; 38*6777b538SAndroid Build Coastguard Worker @class GPBEnumArray; 39*6777b538SAndroid Build Coastguard Worker @class GPBFloatArray; 40*6777b538SAndroid Build Coastguard Worker @class GPBMessage; 41*6777b538SAndroid Build Coastguard Worker @class GPBInt32Array; 42*6777b538SAndroid Build Coastguard Worker @class GPBInt64Array; 43*6777b538SAndroid Build Coastguard Worker @class GPBUInt32Array; 44*6777b538SAndroid Build Coastguard Worker @class GPBUInt64Array; 45*6777b538SAndroid Build Coastguard Worker @class GPBUnknownFieldSet; 46*6777b538SAndroid Build Coastguard Worker 47*6777b538SAndroid Build Coastguard Worker NS_ASSUME_NONNULL_BEGIN 48*6777b538SAndroid Build Coastguard Worker 49*6777b538SAndroid Build Coastguard Worker /** 50*6777b538SAndroid Build Coastguard Worker * @c GPBCodedOutputStream exception names. 51*6777b538SAndroid Build Coastguard Worker **/ 52*6777b538SAndroid Build Coastguard Worker extern NSString *const GPBCodedOutputStreamException_OutOfSpace; 53*6777b538SAndroid Build Coastguard Worker extern NSString *const GPBCodedOutputStreamException_WriteFailed; 54*6777b538SAndroid Build Coastguard Worker 55*6777b538SAndroid Build Coastguard Worker /** 56*6777b538SAndroid Build Coastguard Worker * Writes out protocol message fields. 57*6777b538SAndroid Build Coastguard Worker * 58*6777b538SAndroid Build Coastguard Worker * The common uses of protocol buffers shouldn't need to use this class. 59*6777b538SAndroid Build Coastguard Worker * GPBMessage's provide a -data method that will serialize the message for you. 60*6777b538SAndroid Build Coastguard Worker * 61*6777b538SAndroid Build Coastguard Worker * @note Any -write* api can raise the GPBCodedOutputStreamException_* 62*6777b538SAndroid Build Coastguard Worker * exceptions. 63*6777b538SAndroid Build Coastguard Worker * 64*6777b538SAndroid Build Coastguard Worker * @note Subclassing of GPBCodedOutputStream is NOT supported. 65*6777b538SAndroid Build Coastguard Worker **/ 66*6777b538SAndroid Build Coastguard Worker @interface GPBCodedOutputStream : NSObject 67*6777b538SAndroid Build Coastguard Worker 68*6777b538SAndroid Build Coastguard Worker /** 69*6777b538SAndroid Build Coastguard Worker * Creates a stream to fill in the given data. Data must be sized to fit or 70*6777b538SAndroid Build Coastguard Worker * an error will be raised when out of space. 71*6777b538SAndroid Build Coastguard Worker * 72*6777b538SAndroid Build Coastguard Worker * @param data The data where the stream will be written to. 73*6777b538SAndroid Build Coastguard Worker * 74*6777b538SAndroid Build Coastguard Worker * @return A newly instanced GPBCodedOutputStream. 75*6777b538SAndroid Build Coastguard Worker **/ 76*6777b538SAndroid Build Coastguard Worker + (instancetype)streamWithData:(NSMutableData *)data; 77*6777b538SAndroid Build Coastguard Worker 78*6777b538SAndroid Build Coastguard Worker /** 79*6777b538SAndroid Build Coastguard Worker * Creates a stream to write into the given NSOutputStream. 80*6777b538SAndroid Build Coastguard Worker * 81*6777b538SAndroid Build Coastguard Worker * @param output The output stream where the stream will be written to. 82*6777b538SAndroid Build Coastguard Worker * 83*6777b538SAndroid Build Coastguard Worker * @return A newly instanced GPBCodedOutputStream. 84*6777b538SAndroid Build Coastguard Worker **/ 85*6777b538SAndroid Build Coastguard Worker + (instancetype)streamWithOutputStream:(NSOutputStream *)output; 86*6777b538SAndroid Build Coastguard Worker 87*6777b538SAndroid Build Coastguard Worker /** 88*6777b538SAndroid Build Coastguard Worker * Initializes a stream to fill in the given data. Data must be sized to fit 89*6777b538SAndroid Build Coastguard Worker * or an error will be raised when out of space. 90*6777b538SAndroid Build Coastguard Worker * 91*6777b538SAndroid Build Coastguard Worker * @param data The data where the stream will be written to. 92*6777b538SAndroid Build Coastguard Worker * 93*6777b538SAndroid Build Coastguard Worker * @return A newly initialized GPBCodedOutputStream. 94*6777b538SAndroid Build Coastguard Worker **/ 95*6777b538SAndroid Build Coastguard Worker - (instancetype)initWithData:(NSMutableData *)data; 96*6777b538SAndroid Build Coastguard Worker 97*6777b538SAndroid Build Coastguard Worker /** 98*6777b538SAndroid Build Coastguard Worker * Initializes a stream to write into the given @c NSOutputStream. 99*6777b538SAndroid Build Coastguard Worker * 100*6777b538SAndroid Build Coastguard Worker * @param output The output stream where the stream will be written to. 101*6777b538SAndroid Build Coastguard Worker * 102*6777b538SAndroid Build Coastguard Worker * @return A newly initialized GPBCodedOutputStream. 103*6777b538SAndroid Build Coastguard Worker **/ 104*6777b538SAndroid Build Coastguard Worker - (instancetype)initWithOutputStream:(NSOutputStream *)output; 105*6777b538SAndroid Build Coastguard Worker 106*6777b538SAndroid Build Coastguard Worker /** 107*6777b538SAndroid Build Coastguard Worker * Flush any buffered data out. 108*6777b538SAndroid Build Coastguard Worker **/ 109*6777b538SAndroid Build Coastguard Worker - (void)flush; 110*6777b538SAndroid Build Coastguard Worker 111*6777b538SAndroid Build Coastguard Worker /** 112*6777b538SAndroid Build Coastguard Worker * Write the raw byte out. 113*6777b538SAndroid Build Coastguard Worker * 114*6777b538SAndroid Build Coastguard Worker * @param value The value to write out. 115*6777b538SAndroid Build Coastguard Worker **/ 116*6777b538SAndroid Build Coastguard Worker - (void)writeRawByte:(uint8_t)value; 117*6777b538SAndroid Build Coastguard Worker 118*6777b538SAndroid Build Coastguard Worker /** 119*6777b538SAndroid Build Coastguard Worker * Write the tag for the given field number and wire format. 120*6777b538SAndroid Build Coastguard Worker * 121*6777b538SAndroid Build Coastguard Worker * @param fieldNumber The field number. 122*6777b538SAndroid Build Coastguard Worker * @param format The wire format the data for the field will be in. 123*6777b538SAndroid Build Coastguard Worker **/ 124*6777b538SAndroid Build Coastguard Worker - (void)writeTag:(uint32_t)fieldNumber format:(GPBWireFormat)format; 125*6777b538SAndroid Build Coastguard Worker 126*6777b538SAndroid Build Coastguard Worker /** 127*6777b538SAndroid Build Coastguard Worker * Write a 32bit value out in little endian format. 128*6777b538SAndroid Build Coastguard Worker * 129*6777b538SAndroid Build Coastguard Worker * @param value The value to write out. 130*6777b538SAndroid Build Coastguard Worker **/ 131*6777b538SAndroid Build Coastguard Worker - (void)writeRawLittleEndian32:(int32_t)value; 132*6777b538SAndroid Build Coastguard Worker /** 133*6777b538SAndroid Build Coastguard Worker * Write a 64bit value out in little endian format. 134*6777b538SAndroid Build Coastguard Worker * 135*6777b538SAndroid Build Coastguard Worker * @param value The value to write out. 136*6777b538SAndroid Build Coastguard Worker **/ 137*6777b538SAndroid Build Coastguard Worker - (void)writeRawLittleEndian64:(int64_t)value; 138*6777b538SAndroid Build Coastguard Worker 139*6777b538SAndroid Build Coastguard Worker /** 140*6777b538SAndroid Build Coastguard Worker * Write a 32bit value out in varint format. 141*6777b538SAndroid Build Coastguard Worker * 142*6777b538SAndroid Build Coastguard Worker * @param value The value to write out. 143*6777b538SAndroid Build Coastguard Worker **/ 144*6777b538SAndroid Build Coastguard Worker - (void)writeRawVarint32:(int32_t)value; 145*6777b538SAndroid Build Coastguard Worker /** 146*6777b538SAndroid Build Coastguard Worker * Write a 64bit value out in varint format. 147*6777b538SAndroid Build Coastguard Worker * 148*6777b538SAndroid Build Coastguard Worker * @param value The value to write out. 149*6777b538SAndroid Build Coastguard Worker **/ 150*6777b538SAndroid Build Coastguard Worker - (void)writeRawVarint64:(int64_t)value; 151*6777b538SAndroid Build Coastguard Worker 152*6777b538SAndroid Build Coastguard Worker /** 153*6777b538SAndroid Build Coastguard Worker * Write a size_t out as a 32bit varint value. 154*6777b538SAndroid Build Coastguard Worker * 155*6777b538SAndroid Build Coastguard Worker * @note This will truncate 64 bit values to 32. 156*6777b538SAndroid Build Coastguard Worker * 157*6777b538SAndroid Build Coastguard Worker * @param value The value to write out. 158*6777b538SAndroid Build Coastguard Worker **/ 159*6777b538SAndroid Build Coastguard Worker - (void)writeRawVarintSizeTAs32:(size_t)value; 160*6777b538SAndroid Build Coastguard Worker 161*6777b538SAndroid Build Coastguard Worker /** 162*6777b538SAndroid Build Coastguard Worker * Writes the contents of an NSData out. 163*6777b538SAndroid Build Coastguard Worker * 164*6777b538SAndroid Build Coastguard Worker * @param data The data to write out. 165*6777b538SAndroid Build Coastguard Worker **/ 166*6777b538SAndroid Build Coastguard Worker - (void)writeRawData:(NSData *)data; 167*6777b538SAndroid Build Coastguard Worker /** 168*6777b538SAndroid Build Coastguard Worker * Writes out the given data. 169*6777b538SAndroid Build Coastguard Worker * 170*6777b538SAndroid Build Coastguard Worker * @param data The data blob to write out. 171*6777b538SAndroid Build Coastguard Worker * @param offset The offset into the blob to start writing out. 172*6777b538SAndroid Build Coastguard Worker * @param length The number of bytes from the blob to write out. 173*6777b538SAndroid Build Coastguard Worker **/ 174*6777b538SAndroid Build Coastguard Worker - (void)writeRawPtr:(const void *)data 175*6777b538SAndroid Build Coastguard Worker offset:(size_t)offset 176*6777b538SAndroid Build Coastguard Worker length:(size_t)length; 177*6777b538SAndroid Build Coastguard Worker 178*6777b538SAndroid Build Coastguard Worker //%PDDM-EXPAND _WRITE_DECLS() 179*6777b538SAndroid Build Coastguard Worker // This block of code is generated, do not edit it directly. 180*6777b538SAndroid Build Coastguard Worker // clang-format off 181*6777b538SAndroid Build Coastguard Worker 182*6777b538SAndroid Build Coastguard Worker /** 183*6777b538SAndroid Build Coastguard Worker * Write a double for the given field number. 184*6777b538SAndroid Build Coastguard Worker * 185*6777b538SAndroid Build Coastguard Worker * @param fieldNumber The field number assigned to the value. 186*6777b538SAndroid Build Coastguard Worker * @param value The value to write out. 187*6777b538SAndroid Build Coastguard Worker **/ 188*6777b538SAndroid Build Coastguard Worker - (void)writeDouble:(int32_t)fieldNumber value:(double)value; 189*6777b538SAndroid Build Coastguard Worker /** 190*6777b538SAndroid Build Coastguard Worker * Write a packed array of double for the given field number. 191*6777b538SAndroid Build Coastguard Worker * 192*6777b538SAndroid Build Coastguard Worker * @param fieldNumber The field number assigned to the values. 193*6777b538SAndroid Build Coastguard Worker * @param values The values to write out. 194*6777b538SAndroid Build Coastguard Worker * @param tag The tag assigned to the values. 195*6777b538SAndroid Build Coastguard Worker **/ 196*6777b538SAndroid Build Coastguard Worker - (void)writeDoubleArray:(int32_t)fieldNumber 197*6777b538SAndroid Build Coastguard Worker values:(GPBDoubleArray *)values 198*6777b538SAndroid Build Coastguard Worker tag:(uint32_t)tag; 199*6777b538SAndroid Build Coastguard Worker /** 200*6777b538SAndroid Build Coastguard Worker * Write a double without any tag. 201*6777b538SAndroid Build Coastguard Worker * 202*6777b538SAndroid Build Coastguard Worker * @param value The value to write out. 203*6777b538SAndroid Build Coastguard Worker **/ 204*6777b538SAndroid Build Coastguard Worker - (void)writeDoubleNoTag:(double)value; 205*6777b538SAndroid Build Coastguard Worker 206*6777b538SAndroid Build Coastguard Worker /** 207*6777b538SAndroid Build Coastguard Worker * Write a float for the given field number. 208*6777b538SAndroid Build Coastguard Worker * 209*6777b538SAndroid Build Coastguard Worker * @param fieldNumber The field number assigned to the value. 210*6777b538SAndroid Build Coastguard Worker * @param value The value to write out. 211*6777b538SAndroid Build Coastguard Worker **/ 212*6777b538SAndroid Build Coastguard Worker - (void)writeFloat:(int32_t)fieldNumber value:(float)value; 213*6777b538SAndroid Build Coastguard Worker /** 214*6777b538SAndroid Build Coastguard Worker * Write a packed array of float for the given field number. 215*6777b538SAndroid Build Coastguard Worker * 216*6777b538SAndroid Build Coastguard Worker * @param fieldNumber The field number assigned to the values. 217*6777b538SAndroid Build Coastguard Worker * @param values The values to write out. 218*6777b538SAndroid Build Coastguard Worker * @param tag The tag assigned to the values. 219*6777b538SAndroid Build Coastguard Worker **/ 220*6777b538SAndroid Build Coastguard Worker - (void)writeFloatArray:(int32_t)fieldNumber 221*6777b538SAndroid Build Coastguard Worker values:(GPBFloatArray *)values 222*6777b538SAndroid Build Coastguard Worker tag:(uint32_t)tag; 223*6777b538SAndroid Build Coastguard Worker /** 224*6777b538SAndroid Build Coastguard Worker * Write a float without any tag. 225*6777b538SAndroid Build Coastguard Worker * 226*6777b538SAndroid Build Coastguard Worker * @param value The value to write out. 227*6777b538SAndroid Build Coastguard Worker **/ 228*6777b538SAndroid Build Coastguard Worker - (void)writeFloatNoTag:(float)value; 229*6777b538SAndroid Build Coastguard Worker 230*6777b538SAndroid Build Coastguard Worker /** 231*6777b538SAndroid Build Coastguard Worker * Write a uint64_t for the given field number. 232*6777b538SAndroid Build Coastguard Worker * 233*6777b538SAndroid Build Coastguard Worker * @param fieldNumber The field number assigned to the value. 234*6777b538SAndroid Build Coastguard Worker * @param value The value to write out. 235*6777b538SAndroid Build Coastguard Worker **/ 236*6777b538SAndroid Build Coastguard Worker - (void)writeUInt64:(int32_t)fieldNumber value:(uint64_t)value; 237*6777b538SAndroid Build Coastguard Worker /** 238*6777b538SAndroid Build Coastguard Worker * Write a packed array of uint64_t for the given field number. 239*6777b538SAndroid Build Coastguard Worker * 240*6777b538SAndroid Build Coastguard Worker * @param fieldNumber The field number assigned to the values. 241*6777b538SAndroid Build Coastguard Worker * @param values The values to write out. 242*6777b538SAndroid Build Coastguard Worker * @param tag The tag assigned to the values. 243*6777b538SAndroid Build Coastguard Worker **/ 244*6777b538SAndroid Build Coastguard Worker - (void)writeUInt64Array:(int32_t)fieldNumber 245*6777b538SAndroid Build Coastguard Worker values:(GPBUInt64Array *)values 246*6777b538SAndroid Build Coastguard Worker tag:(uint32_t)tag; 247*6777b538SAndroid Build Coastguard Worker /** 248*6777b538SAndroid Build Coastguard Worker * Write a uint64_t without any tag. 249*6777b538SAndroid Build Coastguard Worker * 250*6777b538SAndroid Build Coastguard Worker * @param value The value to write out. 251*6777b538SAndroid Build Coastguard Worker **/ 252*6777b538SAndroid Build Coastguard Worker - (void)writeUInt64NoTag:(uint64_t)value; 253*6777b538SAndroid Build Coastguard Worker 254*6777b538SAndroid Build Coastguard Worker /** 255*6777b538SAndroid Build Coastguard Worker * Write a int64_t for the given field number. 256*6777b538SAndroid Build Coastguard Worker * 257*6777b538SAndroid Build Coastguard Worker * @param fieldNumber The field number assigned to the value. 258*6777b538SAndroid Build Coastguard Worker * @param value The value to write out. 259*6777b538SAndroid Build Coastguard Worker **/ 260*6777b538SAndroid Build Coastguard Worker - (void)writeInt64:(int32_t)fieldNumber value:(int64_t)value; 261*6777b538SAndroid Build Coastguard Worker /** 262*6777b538SAndroid Build Coastguard Worker * Write a packed array of int64_t for the given field number. 263*6777b538SAndroid Build Coastguard Worker * 264*6777b538SAndroid Build Coastguard Worker * @param fieldNumber The field number assigned to the values. 265*6777b538SAndroid Build Coastguard Worker * @param values The values to write out. 266*6777b538SAndroid Build Coastguard Worker * @param tag The tag assigned to the values. 267*6777b538SAndroid Build Coastguard Worker **/ 268*6777b538SAndroid Build Coastguard Worker - (void)writeInt64Array:(int32_t)fieldNumber 269*6777b538SAndroid Build Coastguard Worker values:(GPBInt64Array *)values 270*6777b538SAndroid Build Coastguard Worker tag:(uint32_t)tag; 271*6777b538SAndroid Build Coastguard Worker /** 272*6777b538SAndroid Build Coastguard Worker * Write a int64_t without any tag. 273*6777b538SAndroid Build Coastguard Worker * 274*6777b538SAndroid Build Coastguard Worker * @param value The value to write out. 275*6777b538SAndroid Build Coastguard Worker **/ 276*6777b538SAndroid Build Coastguard Worker - (void)writeInt64NoTag:(int64_t)value; 277*6777b538SAndroid Build Coastguard Worker 278*6777b538SAndroid Build Coastguard Worker /** 279*6777b538SAndroid Build Coastguard Worker * Write a int32_t for the given field number. 280*6777b538SAndroid Build Coastguard Worker * 281*6777b538SAndroid Build Coastguard Worker * @param fieldNumber The field number assigned to the value. 282*6777b538SAndroid Build Coastguard Worker * @param value The value to write out. 283*6777b538SAndroid Build Coastguard Worker **/ 284*6777b538SAndroid Build Coastguard Worker - (void)writeInt32:(int32_t)fieldNumber value:(int32_t)value; 285*6777b538SAndroid Build Coastguard Worker /** 286*6777b538SAndroid Build Coastguard Worker * Write a packed array of int32_t for the given field number. 287*6777b538SAndroid Build Coastguard Worker * 288*6777b538SAndroid Build Coastguard Worker * @param fieldNumber The field number assigned to the values. 289*6777b538SAndroid Build Coastguard Worker * @param values The values to write out. 290*6777b538SAndroid Build Coastguard Worker * @param tag The tag assigned to the values. 291*6777b538SAndroid Build Coastguard Worker **/ 292*6777b538SAndroid Build Coastguard Worker - (void)writeInt32Array:(int32_t)fieldNumber 293*6777b538SAndroid Build Coastguard Worker values:(GPBInt32Array *)values 294*6777b538SAndroid Build Coastguard Worker tag:(uint32_t)tag; 295*6777b538SAndroid Build Coastguard Worker /** 296*6777b538SAndroid Build Coastguard Worker * Write a int32_t without any tag. 297*6777b538SAndroid Build Coastguard Worker * 298*6777b538SAndroid Build Coastguard Worker * @param value The value to write out. 299*6777b538SAndroid Build Coastguard Worker **/ 300*6777b538SAndroid Build Coastguard Worker - (void)writeInt32NoTag:(int32_t)value; 301*6777b538SAndroid Build Coastguard Worker 302*6777b538SAndroid Build Coastguard Worker /** 303*6777b538SAndroid Build Coastguard Worker * Write a uint32_t for the given field number. 304*6777b538SAndroid Build Coastguard Worker * 305*6777b538SAndroid Build Coastguard Worker * @param fieldNumber The field number assigned to the value. 306*6777b538SAndroid Build Coastguard Worker * @param value The value to write out. 307*6777b538SAndroid Build Coastguard Worker **/ 308*6777b538SAndroid Build Coastguard Worker - (void)writeUInt32:(int32_t)fieldNumber value:(uint32_t)value; 309*6777b538SAndroid Build Coastguard Worker /** 310*6777b538SAndroid Build Coastguard Worker * Write a packed array of uint32_t for the given field number. 311*6777b538SAndroid Build Coastguard Worker * 312*6777b538SAndroid Build Coastguard Worker * @param fieldNumber The field number assigned to the values. 313*6777b538SAndroid Build Coastguard Worker * @param values The values to write out. 314*6777b538SAndroid Build Coastguard Worker * @param tag The tag assigned to the values. 315*6777b538SAndroid Build Coastguard Worker **/ 316*6777b538SAndroid Build Coastguard Worker - (void)writeUInt32Array:(int32_t)fieldNumber 317*6777b538SAndroid Build Coastguard Worker values:(GPBUInt32Array *)values 318*6777b538SAndroid Build Coastguard Worker tag:(uint32_t)tag; 319*6777b538SAndroid Build Coastguard Worker /** 320*6777b538SAndroid Build Coastguard Worker * Write a uint32_t without any tag. 321*6777b538SAndroid Build Coastguard Worker * 322*6777b538SAndroid Build Coastguard Worker * @param value The value to write out. 323*6777b538SAndroid Build Coastguard Worker **/ 324*6777b538SAndroid Build Coastguard Worker - (void)writeUInt32NoTag:(uint32_t)value; 325*6777b538SAndroid Build Coastguard Worker 326*6777b538SAndroid Build Coastguard Worker /** 327*6777b538SAndroid Build Coastguard Worker * Write a uint64_t for the given field number. 328*6777b538SAndroid Build Coastguard Worker * 329*6777b538SAndroid Build Coastguard Worker * @param fieldNumber The field number assigned to the value. 330*6777b538SAndroid Build Coastguard Worker * @param value The value to write out. 331*6777b538SAndroid Build Coastguard Worker **/ 332*6777b538SAndroid Build Coastguard Worker - (void)writeFixed64:(int32_t)fieldNumber value:(uint64_t)value; 333*6777b538SAndroid Build Coastguard Worker /** 334*6777b538SAndroid Build Coastguard Worker * Write a packed array of uint64_t for the given field number. 335*6777b538SAndroid Build Coastguard Worker * 336*6777b538SAndroid Build Coastguard Worker * @param fieldNumber The field number assigned to the values. 337*6777b538SAndroid Build Coastguard Worker * @param values The values to write out. 338*6777b538SAndroid Build Coastguard Worker * @param tag The tag assigned to the values. 339*6777b538SAndroid Build Coastguard Worker **/ 340*6777b538SAndroid Build Coastguard Worker - (void)writeFixed64Array:(int32_t)fieldNumber 341*6777b538SAndroid Build Coastguard Worker values:(GPBUInt64Array *)values 342*6777b538SAndroid Build Coastguard Worker tag:(uint32_t)tag; 343*6777b538SAndroid Build Coastguard Worker /** 344*6777b538SAndroid Build Coastguard Worker * Write a uint64_t without any tag. 345*6777b538SAndroid Build Coastguard Worker * 346*6777b538SAndroid Build Coastguard Worker * @param value The value to write out. 347*6777b538SAndroid Build Coastguard Worker **/ 348*6777b538SAndroid Build Coastguard Worker - (void)writeFixed64NoTag:(uint64_t)value; 349*6777b538SAndroid Build Coastguard Worker 350*6777b538SAndroid Build Coastguard Worker /** 351*6777b538SAndroid Build Coastguard Worker * Write a uint32_t for the given field number. 352*6777b538SAndroid Build Coastguard Worker * 353*6777b538SAndroid Build Coastguard Worker * @param fieldNumber The field number assigned to the value. 354*6777b538SAndroid Build Coastguard Worker * @param value The value to write out. 355*6777b538SAndroid Build Coastguard Worker **/ 356*6777b538SAndroid Build Coastguard Worker - (void)writeFixed32:(int32_t)fieldNumber value:(uint32_t)value; 357*6777b538SAndroid Build Coastguard Worker /** 358*6777b538SAndroid Build Coastguard Worker * Write a packed array of uint32_t for the given field number. 359*6777b538SAndroid Build Coastguard Worker * 360*6777b538SAndroid Build Coastguard Worker * @param fieldNumber The field number assigned to the values. 361*6777b538SAndroid Build Coastguard Worker * @param values The values to write out. 362*6777b538SAndroid Build Coastguard Worker * @param tag The tag assigned to the values. 363*6777b538SAndroid Build Coastguard Worker **/ 364*6777b538SAndroid Build Coastguard Worker - (void)writeFixed32Array:(int32_t)fieldNumber 365*6777b538SAndroid Build Coastguard Worker values:(GPBUInt32Array *)values 366*6777b538SAndroid Build Coastguard Worker tag:(uint32_t)tag; 367*6777b538SAndroid Build Coastguard Worker /** 368*6777b538SAndroid Build Coastguard Worker * Write a uint32_t without any tag. 369*6777b538SAndroid Build Coastguard Worker * 370*6777b538SAndroid Build Coastguard Worker * @param value The value to write out. 371*6777b538SAndroid Build Coastguard Worker **/ 372*6777b538SAndroid Build Coastguard Worker - (void)writeFixed32NoTag:(uint32_t)value; 373*6777b538SAndroid Build Coastguard Worker 374*6777b538SAndroid Build Coastguard Worker /** 375*6777b538SAndroid Build Coastguard Worker * Write a int32_t for the given field number. 376*6777b538SAndroid Build Coastguard Worker * 377*6777b538SAndroid Build Coastguard Worker * @param fieldNumber The field number assigned to the value. 378*6777b538SAndroid Build Coastguard Worker * @param value The value to write out. 379*6777b538SAndroid Build Coastguard Worker **/ 380*6777b538SAndroid Build Coastguard Worker - (void)writeSInt32:(int32_t)fieldNumber value:(int32_t)value; 381*6777b538SAndroid Build Coastguard Worker /** 382*6777b538SAndroid Build Coastguard Worker * Write a packed array of int32_t for the given field number. 383*6777b538SAndroid Build Coastguard Worker * 384*6777b538SAndroid Build Coastguard Worker * @param fieldNumber The field number assigned to the values. 385*6777b538SAndroid Build Coastguard Worker * @param values The values to write out. 386*6777b538SAndroid Build Coastguard Worker * @param tag The tag assigned to the values. 387*6777b538SAndroid Build Coastguard Worker **/ 388*6777b538SAndroid Build Coastguard Worker - (void)writeSInt32Array:(int32_t)fieldNumber 389*6777b538SAndroid Build Coastguard Worker values:(GPBInt32Array *)values 390*6777b538SAndroid Build Coastguard Worker tag:(uint32_t)tag; 391*6777b538SAndroid Build Coastguard Worker /** 392*6777b538SAndroid Build Coastguard Worker * Write a int32_t without any tag. 393*6777b538SAndroid Build Coastguard Worker * 394*6777b538SAndroid Build Coastguard Worker * @param value The value to write out. 395*6777b538SAndroid Build Coastguard Worker **/ 396*6777b538SAndroid Build Coastguard Worker - (void)writeSInt32NoTag:(int32_t)value; 397*6777b538SAndroid Build Coastguard Worker 398*6777b538SAndroid Build Coastguard Worker /** 399*6777b538SAndroid Build Coastguard Worker * Write a int64_t for the given field number. 400*6777b538SAndroid Build Coastguard Worker * 401*6777b538SAndroid Build Coastguard Worker * @param fieldNumber The field number assigned to the value. 402*6777b538SAndroid Build Coastguard Worker * @param value The value to write out. 403*6777b538SAndroid Build Coastguard Worker **/ 404*6777b538SAndroid Build Coastguard Worker - (void)writeSInt64:(int32_t)fieldNumber value:(int64_t)value; 405*6777b538SAndroid Build Coastguard Worker /** 406*6777b538SAndroid Build Coastguard Worker * Write a packed array of int64_t for the given field number. 407*6777b538SAndroid Build Coastguard Worker * 408*6777b538SAndroid Build Coastguard Worker * @param fieldNumber The field number assigned to the values. 409*6777b538SAndroid Build Coastguard Worker * @param values The values to write out. 410*6777b538SAndroid Build Coastguard Worker * @param tag The tag assigned to the values. 411*6777b538SAndroid Build Coastguard Worker **/ 412*6777b538SAndroid Build Coastguard Worker - (void)writeSInt64Array:(int32_t)fieldNumber 413*6777b538SAndroid Build Coastguard Worker values:(GPBInt64Array *)values 414*6777b538SAndroid Build Coastguard Worker tag:(uint32_t)tag; 415*6777b538SAndroid Build Coastguard Worker /** 416*6777b538SAndroid Build Coastguard Worker * Write a int64_t without any tag. 417*6777b538SAndroid Build Coastguard Worker * 418*6777b538SAndroid Build Coastguard Worker * @param value The value to write out. 419*6777b538SAndroid Build Coastguard Worker **/ 420*6777b538SAndroid Build Coastguard Worker - (void)writeSInt64NoTag:(int64_t)value; 421*6777b538SAndroid Build Coastguard Worker 422*6777b538SAndroid Build Coastguard Worker /** 423*6777b538SAndroid Build Coastguard Worker * Write a int64_t for the given field number. 424*6777b538SAndroid Build Coastguard Worker * 425*6777b538SAndroid Build Coastguard Worker * @param fieldNumber The field number assigned to the value. 426*6777b538SAndroid Build Coastguard Worker * @param value The value to write out. 427*6777b538SAndroid Build Coastguard Worker **/ 428*6777b538SAndroid Build Coastguard Worker - (void)writeSFixed64:(int32_t)fieldNumber value:(int64_t)value; 429*6777b538SAndroid Build Coastguard Worker /** 430*6777b538SAndroid Build Coastguard Worker * Write a packed array of int64_t for the given field number. 431*6777b538SAndroid Build Coastguard Worker * 432*6777b538SAndroid Build Coastguard Worker * @param fieldNumber The field number assigned to the values. 433*6777b538SAndroid Build Coastguard Worker * @param values The values to write out. 434*6777b538SAndroid Build Coastguard Worker * @param tag The tag assigned to the values. 435*6777b538SAndroid Build Coastguard Worker **/ 436*6777b538SAndroid Build Coastguard Worker - (void)writeSFixed64Array:(int32_t)fieldNumber 437*6777b538SAndroid Build Coastguard Worker values:(GPBInt64Array *)values 438*6777b538SAndroid Build Coastguard Worker tag:(uint32_t)tag; 439*6777b538SAndroid Build Coastguard Worker /** 440*6777b538SAndroid Build Coastguard Worker * Write a int64_t without any tag. 441*6777b538SAndroid Build Coastguard Worker * 442*6777b538SAndroid Build Coastguard Worker * @param value The value to write out. 443*6777b538SAndroid Build Coastguard Worker **/ 444*6777b538SAndroid Build Coastguard Worker - (void)writeSFixed64NoTag:(int64_t)value; 445*6777b538SAndroid Build Coastguard Worker 446*6777b538SAndroid Build Coastguard Worker /** 447*6777b538SAndroid Build Coastguard Worker * Write a int32_t for the given field number. 448*6777b538SAndroid Build Coastguard Worker * 449*6777b538SAndroid Build Coastguard Worker * @param fieldNumber The field number assigned to the value. 450*6777b538SAndroid Build Coastguard Worker * @param value The value to write out. 451*6777b538SAndroid Build Coastguard Worker **/ 452*6777b538SAndroid Build Coastguard Worker - (void)writeSFixed32:(int32_t)fieldNumber value:(int32_t)value; 453*6777b538SAndroid Build Coastguard Worker /** 454*6777b538SAndroid Build Coastguard Worker * Write a packed array of int32_t for the given field number. 455*6777b538SAndroid Build Coastguard Worker * 456*6777b538SAndroid Build Coastguard Worker * @param fieldNumber The field number assigned to the values. 457*6777b538SAndroid Build Coastguard Worker * @param values The values to write out. 458*6777b538SAndroid Build Coastguard Worker * @param tag The tag assigned to the values. 459*6777b538SAndroid Build Coastguard Worker **/ 460*6777b538SAndroid Build Coastguard Worker - (void)writeSFixed32Array:(int32_t)fieldNumber 461*6777b538SAndroid Build Coastguard Worker values:(GPBInt32Array *)values 462*6777b538SAndroid Build Coastguard Worker tag:(uint32_t)tag; 463*6777b538SAndroid Build Coastguard Worker /** 464*6777b538SAndroid Build Coastguard Worker * Write a int32_t without any tag. 465*6777b538SAndroid Build Coastguard Worker * 466*6777b538SAndroid Build Coastguard Worker * @param value The value to write out. 467*6777b538SAndroid Build Coastguard Worker **/ 468*6777b538SAndroid Build Coastguard Worker - (void)writeSFixed32NoTag:(int32_t)value; 469*6777b538SAndroid Build Coastguard Worker 470*6777b538SAndroid Build Coastguard Worker /** 471*6777b538SAndroid Build Coastguard Worker * Write a BOOL for the given field number. 472*6777b538SAndroid Build Coastguard Worker * 473*6777b538SAndroid Build Coastguard Worker * @param fieldNumber The field number assigned to the value. 474*6777b538SAndroid Build Coastguard Worker * @param value The value to write out. 475*6777b538SAndroid Build Coastguard Worker **/ 476*6777b538SAndroid Build Coastguard Worker - (void)writeBool:(int32_t)fieldNumber value:(BOOL)value; 477*6777b538SAndroid Build Coastguard Worker /** 478*6777b538SAndroid Build Coastguard Worker * Write a packed array of BOOL for the given field number. 479*6777b538SAndroid Build Coastguard Worker * 480*6777b538SAndroid Build Coastguard Worker * @param fieldNumber The field number assigned to the values. 481*6777b538SAndroid Build Coastguard Worker * @param values The values to write out. 482*6777b538SAndroid Build Coastguard Worker * @param tag The tag assigned to the values. 483*6777b538SAndroid Build Coastguard Worker **/ 484*6777b538SAndroid Build Coastguard Worker - (void)writeBoolArray:(int32_t)fieldNumber 485*6777b538SAndroid Build Coastguard Worker values:(GPBBoolArray *)values 486*6777b538SAndroid Build Coastguard Worker tag:(uint32_t)tag; 487*6777b538SAndroid Build Coastguard Worker /** 488*6777b538SAndroid Build Coastguard Worker * Write a BOOL without any tag. 489*6777b538SAndroid Build Coastguard Worker * 490*6777b538SAndroid Build Coastguard Worker * @param value The value to write out. 491*6777b538SAndroid Build Coastguard Worker **/ 492*6777b538SAndroid Build Coastguard Worker - (void)writeBoolNoTag:(BOOL)value; 493*6777b538SAndroid Build Coastguard Worker 494*6777b538SAndroid Build Coastguard Worker /** 495*6777b538SAndroid Build Coastguard Worker * Write a int32_t for the given field number. 496*6777b538SAndroid Build Coastguard Worker * 497*6777b538SAndroid Build Coastguard Worker * @param fieldNumber The field number assigned to the value. 498*6777b538SAndroid Build Coastguard Worker * @param value The value to write out. 499*6777b538SAndroid Build Coastguard Worker **/ 500*6777b538SAndroid Build Coastguard Worker - (void)writeEnum:(int32_t)fieldNumber value:(int32_t)value; 501*6777b538SAndroid Build Coastguard Worker /** 502*6777b538SAndroid Build Coastguard Worker * Write a packed array of int32_t for the given field number. 503*6777b538SAndroid Build Coastguard Worker * 504*6777b538SAndroid Build Coastguard Worker * @param fieldNumber The field number assigned to the values. 505*6777b538SAndroid Build Coastguard Worker * @param values The values to write out. 506*6777b538SAndroid Build Coastguard Worker * @param tag The tag assigned to the values. 507*6777b538SAndroid Build Coastguard Worker **/ 508*6777b538SAndroid Build Coastguard Worker - (void)writeEnumArray:(int32_t)fieldNumber 509*6777b538SAndroid Build Coastguard Worker values:(GPBEnumArray *)values 510*6777b538SAndroid Build Coastguard Worker tag:(uint32_t)tag; 511*6777b538SAndroid Build Coastguard Worker /** 512*6777b538SAndroid Build Coastguard Worker * Write a int32_t without any tag. 513*6777b538SAndroid Build Coastguard Worker * 514*6777b538SAndroid Build Coastguard Worker * @param value The value to write out. 515*6777b538SAndroid Build Coastguard Worker **/ 516*6777b538SAndroid Build Coastguard Worker - (void)writeEnumNoTag:(int32_t)value; 517*6777b538SAndroid Build Coastguard Worker 518*6777b538SAndroid Build Coastguard Worker /** 519*6777b538SAndroid Build Coastguard Worker * Write a NSString for the given field number. 520*6777b538SAndroid Build Coastguard Worker * 521*6777b538SAndroid Build Coastguard Worker * @param fieldNumber The field number assigned to the value. 522*6777b538SAndroid Build Coastguard Worker * @param value The value to write out. 523*6777b538SAndroid Build Coastguard Worker **/ 524*6777b538SAndroid Build Coastguard Worker - (void)writeString:(int32_t)fieldNumber value:(NSString *)value; 525*6777b538SAndroid Build Coastguard Worker /** 526*6777b538SAndroid Build Coastguard Worker * Write an array of NSString for the given field number. 527*6777b538SAndroid Build Coastguard Worker * 528*6777b538SAndroid Build Coastguard Worker * @param fieldNumber The field number assigned to the values. 529*6777b538SAndroid Build Coastguard Worker * @param values The values to write out. 530*6777b538SAndroid Build Coastguard Worker **/ 531*6777b538SAndroid Build Coastguard Worker - (void)writeStringArray:(int32_t)fieldNumber 532*6777b538SAndroid Build Coastguard Worker values:(NSArray<NSString*> *)values; 533*6777b538SAndroid Build Coastguard Worker /** 534*6777b538SAndroid Build Coastguard Worker * Write a NSString without any tag. 535*6777b538SAndroid Build Coastguard Worker * 536*6777b538SAndroid Build Coastguard Worker * @param value The value to write out. 537*6777b538SAndroid Build Coastguard Worker **/ 538*6777b538SAndroid Build Coastguard Worker - (void)writeStringNoTag:(NSString *)value; 539*6777b538SAndroid Build Coastguard Worker 540*6777b538SAndroid Build Coastguard Worker /** 541*6777b538SAndroid Build Coastguard Worker * Write a GPBMessage for the given field number. 542*6777b538SAndroid Build Coastguard Worker * 543*6777b538SAndroid Build Coastguard Worker * @param fieldNumber The field number assigned to the value. 544*6777b538SAndroid Build Coastguard Worker * @param value The value to write out. 545*6777b538SAndroid Build Coastguard Worker **/ 546*6777b538SAndroid Build Coastguard Worker - (void)writeMessage:(int32_t)fieldNumber value:(GPBMessage *)value; 547*6777b538SAndroid Build Coastguard Worker /** 548*6777b538SAndroid Build Coastguard Worker * Write an array of GPBMessage for the given field number. 549*6777b538SAndroid Build Coastguard Worker * 550*6777b538SAndroid Build Coastguard Worker * @param fieldNumber The field number assigned to the values. 551*6777b538SAndroid Build Coastguard Worker * @param values The values to write out. 552*6777b538SAndroid Build Coastguard Worker **/ 553*6777b538SAndroid Build Coastguard Worker - (void)writeMessageArray:(int32_t)fieldNumber 554*6777b538SAndroid Build Coastguard Worker values:(NSArray<GPBMessage*> *)values; 555*6777b538SAndroid Build Coastguard Worker /** 556*6777b538SAndroid Build Coastguard Worker * Write a GPBMessage without any tag. 557*6777b538SAndroid Build Coastguard Worker * 558*6777b538SAndroid Build Coastguard Worker * @param value The value to write out. 559*6777b538SAndroid Build Coastguard Worker **/ 560*6777b538SAndroid Build Coastguard Worker - (void)writeMessageNoTag:(GPBMessage *)value; 561*6777b538SAndroid Build Coastguard Worker 562*6777b538SAndroid Build Coastguard Worker /** 563*6777b538SAndroid Build Coastguard Worker * Write a NSData for the given field number. 564*6777b538SAndroid Build Coastguard Worker * 565*6777b538SAndroid Build Coastguard Worker * @param fieldNumber The field number assigned to the value. 566*6777b538SAndroid Build Coastguard Worker * @param value The value to write out. 567*6777b538SAndroid Build Coastguard Worker **/ 568*6777b538SAndroid Build Coastguard Worker - (void)writeBytes:(int32_t)fieldNumber value:(NSData *)value; 569*6777b538SAndroid Build Coastguard Worker /** 570*6777b538SAndroid Build Coastguard Worker * Write an array of NSData for the given field number. 571*6777b538SAndroid Build Coastguard Worker * 572*6777b538SAndroid Build Coastguard Worker * @param fieldNumber The field number assigned to the values. 573*6777b538SAndroid Build Coastguard Worker * @param values The values to write out. 574*6777b538SAndroid Build Coastguard Worker **/ 575*6777b538SAndroid Build Coastguard Worker - (void)writeBytesArray:(int32_t)fieldNumber 576*6777b538SAndroid Build Coastguard Worker values:(NSArray<NSData*> *)values; 577*6777b538SAndroid Build Coastguard Worker /** 578*6777b538SAndroid Build Coastguard Worker * Write a NSData without any tag. 579*6777b538SAndroid Build Coastguard Worker * 580*6777b538SAndroid Build Coastguard Worker * @param value The value to write out. 581*6777b538SAndroid Build Coastguard Worker **/ 582*6777b538SAndroid Build Coastguard Worker - (void)writeBytesNoTag:(NSData *)value; 583*6777b538SAndroid Build Coastguard Worker 584*6777b538SAndroid Build Coastguard Worker /** 585*6777b538SAndroid Build Coastguard Worker * Write a GPBMessage for the given field number. 586*6777b538SAndroid Build Coastguard Worker * 587*6777b538SAndroid Build Coastguard Worker * @param fieldNumber The field number assigned to the value. 588*6777b538SAndroid Build Coastguard Worker * @param value The value to write out. 589*6777b538SAndroid Build Coastguard Worker **/ 590*6777b538SAndroid Build Coastguard Worker - (void)writeGroup:(int32_t)fieldNumber 591*6777b538SAndroid Build Coastguard Worker value:(GPBMessage *)value; 592*6777b538SAndroid Build Coastguard Worker /** 593*6777b538SAndroid Build Coastguard Worker * Write an array of GPBMessage for the given field number. 594*6777b538SAndroid Build Coastguard Worker * 595*6777b538SAndroid Build Coastguard Worker * @param fieldNumber The field number assigned to the values. 596*6777b538SAndroid Build Coastguard Worker * @param values The values to write out. 597*6777b538SAndroid Build Coastguard Worker **/ 598*6777b538SAndroid Build Coastguard Worker - (void)writeGroupArray:(int32_t)fieldNumber 599*6777b538SAndroid Build Coastguard Worker values:(NSArray<GPBMessage*> *)values; 600*6777b538SAndroid Build Coastguard Worker /** 601*6777b538SAndroid Build Coastguard Worker * Write a GPBMessage without any tag (but does write the endGroup tag). 602*6777b538SAndroid Build Coastguard Worker * 603*6777b538SAndroid Build Coastguard Worker * @param fieldNumber The field number assigned to the value. 604*6777b538SAndroid Build Coastguard Worker * @param value The value to write out. 605*6777b538SAndroid Build Coastguard Worker **/ 606*6777b538SAndroid Build Coastguard Worker - (void)writeGroupNoTag:(int32_t)fieldNumber 607*6777b538SAndroid Build Coastguard Worker value:(GPBMessage *)value; 608*6777b538SAndroid Build Coastguard Worker 609*6777b538SAndroid Build Coastguard Worker /** 610*6777b538SAndroid Build Coastguard Worker * Write a GPBUnknownFieldSet for the given field number. 611*6777b538SAndroid Build Coastguard Worker * 612*6777b538SAndroid Build Coastguard Worker * @param fieldNumber The field number assigned to the value. 613*6777b538SAndroid Build Coastguard Worker * @param value The value to write out. 614*6777b538SAndroid Build Coastguard Worker **/ 615*6777b538SAndroid Build Coastguard Worker - (void)writeUnknownGroup:(int32_t)fieldNumber 616*6777b538SAndroid Build Coastguard Worker value:(GPBUnknownFieldSet *)value; 617*6777b538SAndroid Build Coastguard Worker /** 618*6777b538SAndroid Build Coastguard Worker * Write an array of GPBUnknownFieldSet for the given field number. 619*6777b538SAndroid Build Coastguard Worker * 620*6777b538SAndroid Build Coastguard Worker * @param fieldNumber The field number assigned to the values. 621*6777b538SAndroid Build Coastguard Worker * @param values The values to write out. 622*6777b538SAndroid Build Coastguard Worker **/ 623*6777b538SAndroid Build Coastguard Worker - (void)writeUnknownGroupArray:(int32_t)fieldNumber 624*6777b538SAndroid Build Coastguard Worker values:(NSArray<GPBUnknownFieldSet*> *)values; 625*6777b538SAndroid Build Coastguard Worker /** 626*6777b538SAndroid Build Coastguard Worker * Write a GPBUnknownFieldSet without any tag (but does write the endGroup tag). 627*6777b538SAndroid Build Coastguard Worker * 628*6777b538SAndroid Build Coastguard Worker * @param fieldNumber The field number assigned to the value. 629*6777b538SAndroid Build Coastguard Worker * @param value The value to write out. 630*6777b538SAndroid Build Coastguard Worker **/ 631*6777b538SAndroid Build Coastguard Worker - (void)writeUnknownGroupNoTag:(int32_t)fieldNumber 632*6777b538SAndroid Build Coastguard Worker value:(GPBUnknownFieldSet *)value; 633*6777b538SAndroid Build Coastguard Worker 634*6777b538SAndroid Build Coastguard Worker // clang-format on 635*6777b538SAndroid Build Coastguard Worker //%PDDM-EXPAND-END _WRITE_DECLS() 636*6777b538SAndroid Build Coastguard Worker 637*6777b538SAndroid Build Coastguard Worker /** 638*6777b538SAndroid Build Coastguard Worker Write a MessageSet extension field to the stream. For historical reasons, 639*6777b538SAndroid Build Coastguard Worker the wire format differs from normal fields. 640*6777b538SAndroid Build Coastguard Worker 641*6777b538SAndroid Build Coastguard Worker @param fieldNumber The extension field number to write out. 642*6777b538SAndroid Build Coastguard Worker @param value The message from where to get the extension. 643*6777b538SAndroid Build Coastguard Worker */ 644*6777b538SAndroid Build Coastguard Worker - (void)writeMessageSetExtension:(int32_t)fieldNumber value:(GPBMessage *)value; 645*6777b538SAndroid Build Coastguard Worker 646*6777b538SAndroid Build Coastguard Worker /** 647*6777b538SAndroid Build Coastguard Worker Write an unparsed MessageSet extension field to the stream. For historical 648*6777b538SAndroid Build Coastguard Worker reasons, the wire format differs from normal fields. 649*6777b538SAndroid Build Coastguard Worker 650*6777b538SAndroid Build Coastguard Worker @param fieldNumber The extension field number to write out. 651*6777b538SAndroid Build Coastguard Worker @param value The raw message from where to get the extension. 652*6777b538SAndroid Build Coastguard Worker */ 653*6777b538SAndroid Build Coastguard Worker - (void)writeRawMessageSetExtension:(int32_t)fieldNumber value:(NSData *)value; 654*6777b538SAndroid Build Coastguard Worker 655*6777b538SAndroid Build Coastguard Worker @end 656*6777b538SAndroid Build Coastguard Worker 657*6777b538SAndroid Build Coastguard Worker NS_ASSUME_NONNULL_END 658*6777b538SAndroid Build Coastguard Worker 659*6777b538SAndroid Build Coastguard Worker // Write methods for types that can be in packed arrays. 660*6777b538SAndroid Build Coastguard Worker //%PDDM-DEFINE _WRITE_PACKABLE_DECLS(NAME, ARRAY_TYPE, TYPE) 661*6777b538SAndroid Build Coastguard Worker //%/** 662*6777b538SAndroid Build Coastguard Worker //% * Write a TYPE for the given field number. 663*6777b538SAndroid Build Coastguard Worker //% * 664*6777b538SAndroid Build Coastguard Worker //% * @param fieldNumber The field number assigned to the value. 665*6777b538SAndroid Build Coastguard Worker //% * @param value The value to write out. 666*6777b538SAndroid Build Coastguard Worker //% **/ 667*6777b538SAndroid Build Coastguard Worker //%- (void)write##NAME:(int32_t)fieldNumber value:(TYPE)value; 668*6777b538SAndroid Build Coastguard Worker //%/** 669*6777b538SAndroid Build Coastguard Worker //% * Write a packed array of TYPE for the given field number. 670*6777b538SAndroid Build Coastguard Worker //% * 671*6777b538SAndroid Build Coastguard Worker //% * @param fieldNumber The field number assigned to the values. 672*6777b538SAndroid Build Coastguard Worker //% * @param values The values to write out. 673*6777b538SAndroid Build Coastguard Worker //% * @param tag The tag assigned to the values. 674*6777b538SAndroid Build Coastguard Worker //% **/ 675*6777b538SAndroid Build Coastguard Worker //%- (void)write##NAME##Array:(int32_t)fieldNumber 676*6777b538SAndroid Build Coastguard Worker //% NAME$S values:(GPB##ARRAY_TYPE##Array *)values 677*6777b538SAndroid Build Coastguard Worker //% NAME$S tag:(uint32_t)tag; 678*6777b538SAndroid Build Coastguard Worker //%/** 679*6777b538SAndroid Build Coastguard Worker //% * Write a TYPE without any tag. 680*6777b538SAndroid Build Coastguard Worker //% * 681*6777b538SAndroid Build Coastguard Worker //% * @param value The value to write out. 682*6777b538SAndroid Build Coastguard Worker //% **/ 683*6777b538SAndroid Build Coastguard Worker //%- (void)write##NAME##NoTag:(TYPE)value; 684*6777b538SAndroid Build Coastguard Worker //% 685*6777b538SAndroid Build Coastguard Worker // Write methods for types that aren't in packed arrays. 686*6777b538SAndroid Build Coastguard Worker //%PDDM-DEFINE _WRITE_UNPACKABLE_DECLS(NAME, TYPE) 687*6777b538SAndroid Build Coastguard Worker //%/** 688*6777b538SAndroid Build Coastguard Worker //% * Write a TYPE for the given field number. 689*6777b538SAndroid Build Coastguard Worker //% * 690*6777b538SAndroid Build Coastguard Worker //% * @param fieldNumber The field number assigned to the value. 691*6777b538SAndroid Build Coastguard Worker //% * @param value The value to write out. 692*6777b538SAndroid Build Coastguard Worker //% **/ 693*6777b538SAndroid Build Coastguard Worker //%- (void)write##NAME:(int32_t)fieldNumber value:(TYPE *)value; 694*6777b538SAndroid Build Coastguard Worker //%/** 695*6777b538SAndroid Build Coastguard Worker //% * Write an array of TYPE for the given field number. 696*6777b538SAndroid Build Coastguard Worker //% * 697*6777b538SAndroid Build Coastguard Worker //% * @param fieldNumber The field number assigned to the values. 698*6777b538SAndroid Build Coastguard Worker //% * @param values The values to write out. 699*6777b538SAndroid Build Coastguard Worker //% **/ 700*6777b538SAndroid Build Coastguard Worker //%- (void)write##NAME##Array:(int32_t)fieldNumber 701*6777b538SAndroid Build Coastguard Worker //% NAME$S values:(NSArray<##TYPE##*> *)values; 702*6777b538SAndroid Build Coastguard Worker //%/** 703*6777b538SAndroid Build Coastguard Worker //% * Write a TYPE without any tag. 704*6777b538SAndroid Build Coastguard Worker //% * 705*6777b538SAndroid Build Coastguard Worker //% * @param value The value to write out. 706*6777b538SAndroid Build Coastguard Worker //% **/ 707*6777b538SAndroid Build Coastguard Worker //%- (void)write##NAME##NoTag:(TYPE *)value; 708*6777b538SAndroid Build Coastguard Worker //% 709*6777b538SAndroid Build Coastguard Worker // Special write methods for Groups. 710*6777b538SAndroid Build Coastguard Worker //%PDDM-DEFINE _WRITE_GROUP_DECLS(NAME, TYPE) 711*6777b538SAndroid Build Coastguard Worker //%/** 712*6777b538SAndroid Build Coastguard Worker //% * Write a TYPE for the given field number. 713*6777b538SAndroid Build Coastguard Worker //% * 714*6777b538SAndroid Build Coastguard Worker //% * @param fieldNumber The field number assigned to the value. 715*6777b538SAndroid Build Coastguard Worker //% * @param value The value to write out. 716*6777b538SAndroid Build Coastguard Worker //% **/ 717*6777b538SAndroid Build Coastguard Worker //%- (void)write##NAME:(int32_t)fieldNumber 718*6777b538SAndroid Build Coastguard Worker //% NAME$S value:(TYPE *)value; 719*6777b538SAndroid Build Coastguard Worker //%/** 720*6777b538SAndroid Build Coastguard Worker //% * Write an array of TYPE for the given field number. 721*6777b538SAndroid Build Coastguard Worker //% * 722*6777b538SAndroid Build Coastguard Worker //% * @param fieldNumber The field number assigned to the values. 723*6777b538SAndroid Build Coastguard Worker //% * @param values The values to write out. 724*6777b538SAndroid Build Coastguard Worker //% **/ 725*6777b538SAndroid Build Coastguard Worker //%- (void)write##NAME##Array:(int32_t)fieldNumber 726*6777b538SAndroid Build Coastguard Worker //% NAME$S values:(NSArray<##TYPE##*> *)values; 727*6777b538SAndroid Build Coastguard Worker //%/** 728*6777b538SAndroid Build Coastguard Worker //% * Write a TYPE without any tag (but does write the endGroup tag). 729*6777b538SAndroid Build Coastguard Worker //% * 730*6777b538SAndroid Build Coastguard Worker //% * @param fieldNumber The field number assigned to the value. 731*6777b538SAndroid Build Coastguard Worker //% * @param value The value to write out. 732*6777b538SAndroid Build Coastguard Worker //% **/ 733*6777b538SAndroid Build Coastguard Worker //%- (void)write##NAME##NoTag:(int32_t)fieldNumber 734*6777b538SAndroid Build Coastguard Worker //% NAME$S value:(TYPE *)value; 735*6777b538SAndroid Build Coastguard Worker //% 736*6777b538SAndroid Build Coastguard Worker 737*6777b538SAndroid Build Coastguard Worker // One macro to hide it all up above. 738*6777b538SAndroid Build Coastguard Worker //%PDDM-DEFINE _WRITE_DECLS() 739*6777b538SAndroid Build Coastguard Worker //%_WRITE_PACKABLE_DECLS(Double, Double, double) 740*6777b538SAndroid Build Coastguard Worker //%_WRITE_PACKABLE_DECLS(Float, Float, float) 741*6777b538SAndroid Build Coastguard Worker //%_WRITE_PACKABLE_DECLS(UInt64, UInt64, uint64_t) 742*6777b538SAndroid Build Coastguard Worker //%_WRITE_PACKABLE_DECLS(Int64, Int64, int64_t) 743*6777b538SAndroid Build Coastguard Worker //%_WRITE_PACKABLE_DECLS(Int32, Int32, int32_t) 744*6777b538SAndroid Build Coastguard Worker //%_WRITE_PACKABLE_DECLS(UInt32, UInt32, uint32_t) 745*6777b538SAndroid Build Coastguard Worker //%_WRITE_PACKABLE_DECLS(Fixed64, UInt64, uint64_t) 746*6777b538SAndroid Build Coastguard Worker //%_WRITE_PACKABLE_DECLS(Fixed32, UInt32, uint32_t) 747*6777b538SAndroid Build Coastguard Worker //%_WRITE_PACKABLE_DECLS(SInt32, Int32, int32_t) 748*6777b538SAndroid Build Coastguard Worker //%_WRITE_PACKABLE_DECLS(SInt64, Int64, int64_t) 749*6777b538SAndroid Build Coastguard Worker //%_WRITE_PACKABLE_DECLS(SFixed64, Int64, int64_t) 750*6777b538SAndroid Build Coastguard Worker //%_WRITE_PACKABLE_DECLS(SFixed32, Int32, int32_t) 751*6777b538SAndroid Build Coastguard Worker //%_WRITE_PACKABLE_DECLS(Bool, Bool, BOOL) 752*6777b538SAndroid Build Coastguard Worker //%_WRITE_PACKABLE_DECLS(Enum, Enum, int32_t) 753*6777b538SAndroid Build Coastguard Worker //%_WRITE_UNPACKABLE_DECLS(String, NSString) 754*6777b538SAndroid Build Coastguard Worker //%_WRITE_UNPACKABLE_DECLS(Message, GPBMessage) 755*6777b538SAndroid Build Coastguard Worker //%_WRITE_UNPACKABLE_DECLS(Bytes, NSData) 756*6777b538SAndroid Build Coastguard Worker //%_WRITE_GROUP_DECLS(Group, GPBMessage) 757*6777b538SAndroid Build Coastguard Worker //%_WRITE_GROUP_DECLS(UnknownGroup, GPBUnknownFieldSet) 758