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