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// Wrappers for primitive (non-message) types. These types are useful
32// for embedding primitives in the `google.protobuf.Any` type and for places
33// where we need to distinguish between the absence of a primitive
34// typed field and its default value.
35//
36// These wrappers have no meaningful use within repeated fields as they lack
37// the ability to detect presence on individual elements.
38// These wrappers have no meaningful use within a map or a oneof since
39// individual entries of a map or fields of a oneof can already detect presence.
40
41syntax = "proto3";
42
43package google.protobuf;
44
45option csharp_namespace = "Google.Protobuf.WellKnownTypes";
46option cc_enable_arenas = true;
47option go_package = "types";
48option java_package = "com.google.protobuf";
49option java_outer_classname = "WrappersProto";
50option java_multiple_files = true;
51option objc_class_prefix = "GPB";
52
53// Wrapper message for `double`.
54//
55// The JSON representation for `DoubleValue` is JSON number.
56message DoubleValue {
57  // The double value.
58  double value = 1;
59}
60
61// Wrapper message for `float`.
62//
63// The JSON representation for `FloatValue` is JSON number.
64message FloatValue {
65  // The float value.
66  float value = 1;
67}
68
69// Wrapper message for `int64`.
70//
71// The JSON representation for `Int64Value` is JSON string.
72message Int64Value {
73  // The int64 value.
74  int64 value = 1;
75}
76
77// Wrapper message for `uint64`.
78//
79// The JSON representation for `UInt64Value` is JSON string.
80message UInt64Value {
81  // The uint64 value.
82  uint64 value = 1;
83}
84
85// Wrapper message for `int32`.
86//
87// The JSON representation for `Int32Value` is JSON number.
88message Int32Value {
89  // The int32 value.
90  int32 value = 1;
91}
92
93// Wrapper message for `uint32`.
94//
95// The JSON representation for `UInt32Value` is JSON number.
96message UInt32Value {
97  // The uint32 value.
98  uint32 value = 1;
99}
100
101// Wrapper message for `bool`.
102//
103// The JSON representation for `BoolValue` is JSON `true` and `false`.
104message BoolValue {
105  // The bool value.
106  bool value = 1;
107}
108
109// Wrapper message for `string`.
110//
111// The JSON representation for `StringValue` is JSON string.
112message StringValue {
113  // The string value.
114  string value = 1;
115}
116
117// Wrapper message for `bytes`.
118//
119// The JSON representation for `BytesValue` is JSON string.
120message BytesValue {
121  // The bytes value.
122  bytes value = 1;
123}
124