Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(241)

Side by Side Diff: third_party/protobuf/objectivec/GPBCodedOutputStream.h

Issue 1842653006: Update //third_party/protobuf to version 3. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: merge Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // Protocol Buffers - Google's data interchange format
2 // Copyright 2008 Google Inc. All rights reserved.
3 // https://developers.google.com/protocol-buffers/
4 //
5 // Redistribution and use in source and binary forms, with or without
6 // modification, are permitted provided that the following conditions are
7 // met:
8 //
9 // * Redistributions of source code must retain the above copyright
10 // notice, this list of conditions and the following disclaimer.
11 // * Redistributions in binary form must reproduce the above
12 // copyright notice, this list of conditions and the following disclaimer
13 // in the documentation and/or other materials provided with the
14 // distribution.
15 // * Neither the name of Google Inc. nor the names of its
16 // contributors may be used to endorse or promote products derived from
17 // this software without specific prior written permission.
18 //
19 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20 // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
21 // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
22 // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
23 // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
24 // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
25 // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
26 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
27 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
28 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30
31 #import <Foundation/Foundation.h>
32
33 #import "GPBRuntimeTypes.h"
34 #import "GPBWireFormat.h"
35
36 @class GPBBoolArray;
37 @class GPBDoubleArray;
38 @class GPBEnumArray;
39 @class GPBFloatArray;
40 @class GPBMessage;
41 @class GPBInt32Array;
42 @class GPBInt64Array;
43 @class GPBUInt32Array;
44 @class GPBUInt64Array;
45 @class GPBUnknownFieldSet;
46
47 NS_ASSUME_NONNULL_BEGIN
48
49 @interface GPBCodedOutputStream : NSObject
50
51 // Creates a new stream to write into data. Data must be sized to fit or it
52 // will error when it runs out of space.
53 + (instancetype)streamWithData:(NSMutableData *)data;
54 + (instancetype)streamWithOutputStream:(NSOutputStream *)output;
55 + (instancetype)streamWithOutputStream:(NSOutputStream *)output
56 bufferSize:(size_t)bufferSize;
57
58 - (instancetype)initWithData:(NSMutableData *)data;
59 - (instancetype)initWithOutputStream:(NSOutputStream *)output;
60 - (instancetype)initWithOutputStream:(NSOutputStream *)output
61 bufferSize:(size_t)bufferSize;
62
63 - (void)flush;
64
65 - (void)writeRawByte:(uint8_t)value;
66
67 - (void)writeTag:(uint32_t)fieldNumber format:(GPBWireFormat)format;
68
69 - (void)writeRawLittleEndian32:(int32_t)value;
70 - (void)writeRawLittleEndian64:(int64_t)value;
71
72 - (void)writeRawVarint32:(int32_t)value;
73 - (void)writeRawVarint64:(int64_t)value;
74
75 // Note that this will truncate 64 bit values to 32.
76 - (void)writeRawVarintSizeTAs32:(size_t)value;
77
78 - (void)writeRawData:(NSData *)data;
79 - (void)writeRawPtr:(const void *)data
80 offset:(size_t)offset
81 length:(size_t)length;
82
83 //%PDDM-EXPAND _WRITE_DECLS()
84 // This block of code is generated, do not edit it directly.
85
86 - (void)writeDouble:(int32_t)fieldNumber value:(double)value;
87 - (void)writeDoubleArray:(int32_t)fieldNumber
88 values:(GPBDoubleArray *)values
89 tag:(uint32_t)tag;
90 - (void)writeDoubleNoTag:(double)value;
91
92 - (void)writeFloat:(int32_t)fieldNumber value:(float)value;
93 - (void)writeFloatArray:(int32_t)fieldNumber
94 values:(GPBFloatArray *)values
95 tag:(uint32_t)tag;
96 - (void)writeFloatNoTag:(float)value;
97
98 - (void)writeUInt64:(int32_t)fieldNumber value:(uint64_t)value;
99 - (void)writeUInt64Array:(int32_t)fieldNumber
100 values:(GPBUInt64Array *)values
101 tag:(uint32_t)tag;
102 - (void)writeUInt64NoTag:(uint64_t)value;
103
104 - (void)writeInt64:(int32_t)fieldNumber value:(int64_t)value;
105 - (void)writeInt64Array:(int32_t)fieldNumber
106 values:(GPBInt64Array *)values
107 tag:(uint32_t)tag;
108 - (void)writeInt64NoTag:(int64_t)value;
109
110 - (void)writeInt32:(int32_t)fieldNumber value:(int32_t)value;
111 - (void)writeInt32Array:(int32_t)fieldNumber
112 values:(GPBInt32Array *)values
113 tag:(uint32_t)tag;
114 - (void)writeInt32NoTag:(int32_t)value;
115
116 - (void)writeUInt32:(int32_t)fieldNumber value:(uint32_t)value;
117 - (void)writeUInt32Array:(int32_t)fieldNumber
118 values:(GPBUInt32Array *)values
119 tag:(uint32_t)tag;
120 - (void)writeUInt32NoTag:(uint32_t)value;
121
122 - (void)writeFixed64:(int32_t)fieldNumber value:(uint64_t)value;
123 - (void)writeFixed64Array:(int32_t)fieldNumber
124 values:(GPBUInt64Array *)values
125 tag:(uint32_t)tag;
126 - (void)writeFixed64NoTag:(uint64_t)value;
127
128 - (void)writeFixed32:(int32_t)fieldNumber value:(uint32_t)value;
129 - (void)writeFixed32Array:(int32_t)fieldNumber
130 values:(GPBUInt32Array *)values
131 tag:(uint32_t)tag;
132 - (void)writeFixed32NoTag:(uint32_t)value;
133
134 - (void)writeSInt32:(int32_t)fieldNumber value:(int32_t)value;
135 - (void)writeSInt32Array:(int32_t)fieldNumber
136 values:(GPBInt32Array *)values
137 tag:(uint32_t)tag;
138 - (void)writeSInt32NoTag:(int32_t)value;
139
140 - (void)writeSInt64:(int32_t)fieldNumber value:(int64_t)value;
141 - (void)writeSInt64Array:(int32_t)fieldNumber
142 values:(GPBInt64Array *)values
143 tag:(uint32_t)tag;
144 - (void)writeSInt64NoTag:(int64_t)value;
145
146 - (void)writeSFixed64:(int32_t)fieldNumber value:(int64_t)value;
147 - (void)writeSFixed64Array:(int32_t)fieldNumber
148 values:(GPBInt64Array *)values
149 tag:(uint32_t)tag;
150 - (void)writeSFixed64NoTag:(int64_t)value;
151
152 - (void)writeSFixed32:(int32_t)fieldNumber value:(int32_t)value;
153 - (void)writeSFixed32Array:(int32_t)fieldNumber
154 values:(GPBInt32Array *)values
155 tag:(uint32_t)tag;
156 - (void)writeSFixed32NoTag:(int32_t)value;
157
158 - (void)writeBool:(int32_t)fieldNumber value:(BOOL)value;
159 - (void)writeBoolArray:(int32_t)fieldNumber
160 values:(GPBBoolArray *)values
161 tag:(uint32_t)tag;
162 - (void)writeBoolNoTag:(BOOL)value;
163
164 - (void)writeEnum:(int32_t)fieldNumber value:(int32_t)value;
165 - (void)writeEnumArray:(int32_t)fieldNumber
166 values:(GPBEnumArray *)values
167 tag:(uint32_t)tag;
168 - (void)writeEnumNoTag:(int32_t)value;
169
170 - (void)writeString:(int32_t)fieldNumber value:(NSString *)value;
171 - (void)writeStringArray:(int32_t)fieldNumber values:(NSArray *)values;
172 - (void)writeStringNoTag:(NSString *)value;
173
174 - (void)writeMessage:(int32_t)fieldNumber value:(GPBMessage *)value;
175 - (void)writeMessageArray:(int32_t)fieldNumber values:(NSArray *)values;
176 - (void)writeMessageNoTag:(GPBMessage *)value;
177
178 - (void)writeBytes:(int32_t)fieldNumber value:(NSData *)value;
179 - (void)writeBytesArray:(int32_t)fieldNumber values:(NSArray *)values;
180 - (void)writeBytesNoTag:(NSData *)value;
181
182 - (void)writeGroup:(int32_t)fieldNumber
183 value:(GPBMessage *)value;
184 - (void)writeGroupArray:(int32_t)fieldNumber values:(NSArray *)values;
185 - (void)writeGroupNoTag:(int32_t)fieldNumber
186 value:(GPBMessage *)value;
187
188 - (void)writeUnknownGroup:(int32_t)fieldNumber
189 value:(GPBUnknownFieldSet *)value;
190 - (void)writeUnknownGroupArray:(int32_t)fieldNumber values:(NSArray *)values;
191 - (void)writeUnknownGroupNoTag:(int32_t)fieldNumber
192 value:(GPBUnknownFieldSet *)value;
193
194 //%PDDM-EXPAND-END _WRITE_DECLS()
195
196 // Write a MessageSet extension field to the stream. For historical reasons,
197 // the wire format differs from normal fields.
198 - (void)writeMessageSetExtension:(int32_t)fieldNumber value:(GPBMessage *)value;
199
200 // Write an unparsed MessageSet extension field to the stream. For
201 // historical reasons, the wire format differs from normal fields.
202 - (void)writeRawMessageSetExtension:(int32_t)fieldNumber value:(NSData *)value;
203
204 @end
205
206 CF_EXTERN_C_BEGIN
207
208 size_t GPBComputeDoubleSize(int32_t fieldNumber, double value)
209 __attribute__((const));
210 size_t GPBComputeFloatSize(int32_t fieldNumber, float value)
211 __attribute__((const));
212 size_t GPBComputeUInt64Size(int32_t fieldNumber, uint64_t value)
213 __attribute__((const));
214 size_t GPBComputeInt64Size(int32_t fieldNumber, int64_t value)
215 __attribute__((const));
216 size_t GPBComputeInt32Size(int32_t fieldNumber, int32_t value)
217 __attribute__((const));
218 size_t GPBComputeFixed64Size(int32_t fieldNumber, uint64_t value)
219 __attribute__((const));
220 size_t GPBComputeFixed32Size(int32_t fieldNumber, uint32_t value)
221 __attribute__((const));
222 size_t GPBComputeBoolSize(int32_t fieldNumber, BOOL value)
223 __attribute__((const));
224 size_t GPBComputeStringSize(int32_t fieldNumber, NSString *value)
225 __attribute__((const));
226 size_t GPBComputeGroupSize(int32_t fieldNumber, GPBMessage *value)
227 __attribute__((const));
228 size_t GPBComputeUnknownGroupSize(int32_t fieldNumber,
229 GPBUnknownFieldSet *value)
230 __attribute__((const));
231 size_t GPBComputeMessageSize(int32_t fieldNumber, GPBMessage *value)
232 __attribute__((const));
233 size_t GPBComputeBytesSize(int32_t fieldNumber, NSData *value)
234 __attribute__((const));
235 size_t GPBComputeUInt32Size(int32_t fieldNumber, uint32_t value)
236 __attribute__((const));
237 size_t GPBComputeSFixed32Size(int32_t fieldNumber, int32_t value)
238 __attribute__((const));
239 size_t GPBComputeSFixed64Size(int32_t fieldNumber, int64_t value)
240 __attribute__((const));
241 size_t GPBComputeSInt32Size(int32_t fieldNumber, int32_t value)
242 __attribute__((const));
243 size_t GPBComputeSInt64Size(int32_t fieldNumber, int64_t value)
244 __attribute__((const));
245 size_t GPBComputeTagSize(int32_t fieldNumber) __attribute__((const));
246 size_t GPBComputeWireFormatTagSize(int field_number, GPBDataType dataType)
247 __attribute__((const));
248
249 size_t GPBComputeDoubleSizeNoTag(double value) __attribute__((const));
250 size_t GPBComputeFloatSizeNoTag(float value) __attribute__((const));
251 size_t GPBComputeUInt64SizeNoTag(uint64_t value) __attribute__((const));
252 size_t GPBComputeInt64SizeNoTag(int64_t value) __attribute__((const));
253 size_t GPBComputeInt32SizeNoTag(int32_t value) __attribute__((const));
254 size_t GPBComputeFixed64SizeNoTag(uint64_t value) __attribute__((const));
255 size_t GPBComputeFixed32SizeNoTag(uint32_t value) __attribute__((const));
256 size_t GPBComputeBoolSizeNoTag(BOOL value) __attribute__((const));
257 size_t GPBComputeStringSizeNoTag(NSString *value) __attribute__((const));
258 size_t GPBComputeGroupSizeNoTag(GPBMessage *value) __attribute__((const));
259 size_t GPBComputeUnknownGroupSizeNoTag(GPBUnknownFieldSet *value)
260 __attribute__((const));
261 size_t GPBComputeMessageSizeNoTag(GPBMessage *value) __attribute__((const));
262 size_t GPBComputeBytesSizeNoTag(NSData *value) __attribute__((const));
263 size_t GPBComputeUInt32SizeNoTag(int32_t value) __attribute__((const));
264 size_t GPBComputeEnumSizeNoTag(int32_t value) __attribute__((const));
265 size_t GPBComputeSFixed32SizeNoTag(int32_t value) __attribute__((const));
266 size_t GPBComputeSFixed64SizeNoTag(int64_t value) __attribute__((const));
267 size_t GPBComputeSInt32SizeNoTag(int32_t value) __attribute__((const));
268 size_t GPBComputeSInt64SizeNoTag(int64_t value) __attribute__((const));
269
270 // Note that this will calculate the size of 64 bit values truncated to 32.
271 size_t GPBComputeSizeTSizeAsInt32NoTag(size_t value) __attribute__((const));
272
273 size_t GPBComputeRawVarint32Size(int32_t value) __attribute__((const));
274 size_t GPBComputeRawVarint64Size(int64_t value) __attribute__((const));
275
276 // Note that this will calculate the size of 64 bit values truncated to 32.
277 size_t GPBComputeRawVarint32SizeForInteger(NSInteger value)
278 __attribute__((const));
279
280 // Compute the number of bytes that would be needed to encode a
281 // MessageSet extension to the stream. For historical reasons,
282 // the wire format differs from normal fields.
283 size_t GPBComputeMessageSetExtensionSize(int32_t fieldNumber, GPBMessage *value)
284 __attribute__((const));
285
286 // Compute the number of bytes that would be needed to encode an
287 // unparsed MessageSet extension field to the stream. For
288 // historical reasons, the wire format differs from normal fields.
289 size_t GPBComputeRawMessageSetExtensionSize(int32_t fieldNumber, NSData *value)
290 __attribute__((const));
291
292 size_t GPBComputeEnumSize(int32_t fieldNumber, int32_t value)
293 __attribute__((const));
294
295 CF_EXTERN_C_END
296
297 NS_ASSUME_NONNULL_END
298
299 // Write methods for types that can be in packed arrays.
300 //%PDDM-DEFINE _WRITE_PACKABLE_DECLS(NAME, ARRAY_TYPE, TYPE)
301 //%- (void)write##NAME:(int32_t)fieldNumber value:(TYPE)value;
302 //%- (void)write##NAME##Array:(int32_t)fieldNumber
303 //% NAME$S values:(GPB##ARRAY_TYPE##Array *)values
304 //% NAME$S tag:(uint32_t)tag;
305 //%- (void)write##NAME##NoTag:(TYPE)value;
306 //%
307 // Write methods for types that aren't in packed arrays.
308 //%PDDM-DEFINE _WRITE_UNPACKABLE_DECLS(NAME, TYPE)
309 //%- (void)write##NAME:(int32_t)fieldNumber value:(TYPE)value;
310 //%- (void)write##NAME##Array:(int32_t)fieldNumber values:(NSArray *)values;
311 //%- (void)write##NAME##NoTag:(TYPE)value;
312 //%
313 // Special write methods for Groups.
314 //%PDDM-DEFINE _WRITE_GROUP_DECLS(NAME, TYPE)
315 //%- (void)write##NAME:(int32_t)fieldNumber
316 //% NAME$S value:(TYPE)value;
317 //%- (void)write##NAME##Array:(int32_t)fieldNumber values:(NSArray *)values;
318 //%- (void)write##NAME##NoTag:(int32_t)fieldNumber
319 //% NAME$S value:(TYPE)value;
320 //%
321
322 // One macro to hide it all up above.
323 //%PDDM-DEFINE _WRITE_DECLS()
324 //%_WRITE_PACKABLE_DECLS(Double, Double, double)
325 //%_WRITE_PACKABLE_DECLS(Float, Float, float)
326 //%_WRITE_PACKABLE_DECLS(UInt64, UInt64, uint64_t)
327 //%_WRITE_PACKABLE_DECLS(Int64, Int64, int64_t)
328 //%_WRITE_PACKABLE_DECLS(Int32, Int32, int32_t)
329 //%_WRITE_PACKABLE_DECLS(UInt32, UInt32, uint32_t)
330 //%_WRITE_PACKABLE_DECLS(Fixed64, UInt64, uint64_t)
331 //%_WRITE_PACKABLE_DECLS(Fixed32, UInt32, uint32_t)
332 //%_WRITE_PACKABLE_DECLS(SInt32, Int32, int32_t)
333 //%_WRITE_PACKABLE_DECLS(SInt64, Int64, int64_t)
334 //%_WRITE_PACKABLE_DECLS(SFixed64, Int64, int64_t)
335 //%_WRITE_PACKABLE_DECLS(SFixed32, Int32, int32_t)
336 //%_WRITE_PACKABLE_DECLS(Bool, Bool, BOOL)
337 //%_WRITE_PACKABLE_DECLS(Enum, Enum, int32_t)
338 //%_WRITE_UNPACKABLE_DECLS(String, NSString *)
339 //%_WRITE_UNPACKABLE_DECLS(Message, GPBMessage *)
340 //%_WRITE_UNPACKABLE_DECLS(Bytes, NSData *)
341 //%_WRITE_GROUP_DECLS(Group, GPBMessage *)
342 //%_WRITE_GROUP_DECLS(UnknownGroup, GPBUnknownFieldSet *)
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698