google-protobuf 3.14.0 → 3.19.2

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of google-protobuf might be problematic. Click here for more details.

@@ -0,0 +1,63 @@
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
+ #ifndef RUBY_PROTOBUF_REPEATED_FIELD_H_
32
+ #define RUBY_PROTOBUF_REPEATED_FIELD_H_
33
+
34
+ #include <ruby/ruby.h>
35
+
36
+ #include "protobuf.h"
37
+ #include "ruby-upb.h"
38
+
39
+ // Returns a Ruby wrapper object for the given upb_array, which will be created
40
+ // if one does not exist already.
41
+ VALUE RepeatedField_GetRubyWrapper(upb_array* msg, TypeInfo type_info,
42
+ VALUE arena);
43
+
44
+ // Gets the underlying upb_array for this Ruby RepeatedField object, which must
45
+ // have a type that matches |f|. If this is not a repeated field or the type
46
+ // doesn't match, raises an exception.
47
+ const upb_array* RepeatedField_GetUpbArray(VALUE value, const upb_fielddef* f,
48
+ upb_arena* arena);
49
+
50
+ // Implements #inspect for this repeated field by appending its contents to |b|.
51
+ void RepeatedField_Inspect(StringBuilder* b, const upb_array* array,
52
+ TypeInfo info);
53
+
54
+ // Returns a deep copy of this RepeatedField object.
55
+ VALUE RepeatedField_deep_copy(VALUE obj);
56
+
57
+ // Ruby class of Google::Protobuf::RepeatedField.
58
+ extern VALUE cRepeatedField;
59
+
60
+ // Call at startup to register all types in this module.
61
+ void RepeatedField_register(VALUE module);
62
+
63
+ #endif // RUBY_PROTOBUF_REPEATED_FIELD_H_