Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
P
protobuf
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
submodule
protobuf
Commits
0b3023fa
Commit
0b3023fa
authored
Sep 24, 2008
by
kenton@google.com
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add file missing from rev 50.
parent
24bf56fb
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
271 additions
and
0 deletions
+271
-0
unittest_custom_options.proto
src/google/protobuf/unittest_custom_options.proto
+271
-0
No files found.
src/google/protobuf/unittest_custom_options.proto
0 → 100644
View file @
0b3023fa
// Protocol Buffers - Google's data interchange format
// Copyright 2008 Google Inc. All rights reserved.
// http://code.google.com/p/protobuf/
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above
// copyright notice, this list of conditions and the following disclaimer
// in the documentation and/or other materials provided with the
// distribution.
// * Neither the name of Google Inc. nor the names of its
// contributors may be used to endorse or promote products derived from
// this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
// Author: benjy@google.com (Benjy Weinberger)
// Based on original Protocol Buffers design by
// Sanjay Ghemawat, Jeff Dean, and others.
//
// A proto file used to test the "custom options" feature of proto2.
// A custom file option (defined below).
option
(
file_opt1
)
=
9876543210
;
import
"google/protobuf/descriptor.proto"
;
// We don't put this in a package within proto2 because we need to make sure
// that the generated code doesn't depend on being in the proto2 namespace.
package
protobuf_unittest
;
// Some simple test custom options of various types.
extend
google
.
protobuf.FileOptions
{
optional
uint64
file_opt1
=
7736974
;
}
extend
google
.
protobuf.MessageOptions
{
optional
int32
message_opt1
=
7739036
;
}
extend
google
.
protobuf.FieldOptions
{
optional
fixed64
field_opt1
=
7740936
;
// This is useful for testing that we correctly register default values for
// extension options.
optional
int32
field_opt2
=
7753913
[
default
=
42
];
}
extend
google
.
protobuf.EnumOptions
{
optional
sfixed32
enum_opt1
=
7753576
;
}
// TODO(benjy): Test options on enum values when the parser supports them.
extend
google
.
protobuf.ServiceOptions
{
optional
sint64
service_opt1
=
7887650
;
}
enum
MethodOpt1
{
METHODOPT1_VAL1
=
1
;
METHODOPT1_VAL2
=
2
;
}
extend
google
.
protobuf.MethodOptions
{
optional
MethodOpt1
method_opt1
=
7890860
;
}
// A test message with custom options at all possible locations (and also some
// regular options, to make sure they interact nicely).
message
TestMessageWithCustomOptions
{
option
message_set_wire_format
=
false
;
option
(
message_opt1
)
=
-
56
;
optional
string
field1
=
1
[
ctype
=
CORD
,
(
field_opt1
)
=
8765432109
];
enum
AnEnum
{
option
(
enum_opt1
)
=
-
789
;
ANENUM_VAL1
=
1
;
ANENUM_VAL2
=
2
;
}
}
// A test RPC service with custom options at all possible locations (and also
// some regular options, to make sure they interact nicely).
message
CustomOptionFooRequest
{
}
message
CustomOptionFooResponse
{
}
service
TestServiceWithCustomOptions
{
option
(
service_opt1
)
=
-
9876543210
;
rpc
Foo
(
CustomOptionFooRequest
)
returns
(
CustomOptionFooResponse
)
{
option
(
method_opt1
)
=
METHODOPT1_VAL2
;
}
}
// Options of every possible field type, so we can test them all exhaustively.
message
DummyMessageContainingEnum
{
enum
TestEnumType
{
TEST_OPTION_ENUM_TYPE1
=
22
;
TEST_OPTION_ENUM_TYPE2
=
-
23
;
}
}
message
DummyMessageInvalidAsOptionType
{
}
extend
google
.
protobuf.MessageOptions
{
optional
bool
bool_opt
=
7706090
;
optional
int32
int32_opt
=
7705709
;
optional
int64
int64_opt
=
7705542
;
optional
uint32
uint32_opt
=
7704880
;
optional
uint64
uint64_opt
=
7702367
;
optional
sint32
sint32_opt
=
7701568
;
optional
sint64
sint64_opt
=
7700863
;
optional
fixed32
fixed32_opt
=
7700307
;
optional
fixed64
fixed64_opt
=
7700194
;
optional
sfixed32
sfixed32_opt
=
7698645
;
optional
sfixed64
sfixed64_opt
=
7685475
;
optional
float
float_opt
=
7675390
;
optional
double
double_opt
=
7673293
;
optional
string
string_opt
=
7673285
;
optional
bytes
bytes_opt
=
7673238
;
optional
DummyMessageContainingEnum.TestEnumType
enum_opt
=
7673233
;
optional
DummyMessageInvalidAsOptionType
message_type_opt
=
7665967
;
}
message
CustomOptionMinIntegerValues
{
option
(
bool_opt
)
=
false
;
option
(
int32_opt
)
=
-
0x80000000
;
option
(
int64_opt
)
=
-
0x8000000000000000
;
option
(
uint32_opt
)
=
0
;
option
(
uint64_opt
)
=
0
;
option
(
sint32_opt
)
=
-
0x80000000
;
option
(
sint64_opt
)
=
-
0x8000000000000000
;
option
(
fixed32_opt
)
=
0
;
option
(
fixed64_opt
)
=
0
;
option
(
sfixed32_opt
)
=
-
0x80000000
;
option
(
sfixed64_opt
)
=
-
0x8000000000000000
;
}
message
CustomOptionMaxIntegerValues
{
option
(
bool_opt
)
=
true
;
option
(
int32_opt
)
=
0x7FFFFFFF
;
option
(
int64_opt
)
=
0x7FFFFFFFFFFFFFFF
;
option
(
uint32_opt
)
=
0xFFFFFFFF
;
option
(
uint64_opt
)
=
0xFFFFFFFFFFFFFFFF
;
option
(
sint32_opt
)
=
0x7FFFFFFF
;
option
(
sint64_opt
)
=
0x7FFFFFFFFFFFFFFF
;
option
(
fixed32_opt
)
=
0xFFFFFFFF
;
option
(
fixed64_opt
)
=
0xFFFFFFFFFFFFFFFF
;
option
(
sfixed32_opt
)
=
0x7FFFFFFF
;
option
(
sfixed64_opt
)
=
0x7FFFFFFFFFFFFFFF
;
}
message
CustomOptionOtherValues
{
option
(
int32_opt
)
=
-
100
;
// To test sign-extension.
option
(
float_opt
)
=
12.3456789
;
option
(
double_opt
)
=
1.234567890123456789
;
option
(
string_opt
)
=
"Hello, \"
World
\
""
;
option
(
bytes_opt
)
=
"Hello\0World"
;
option
(
enum_opt
)
=
TEST_OPTION_ENUM_TYPE2
;
}
message
SettingRealsFromPositiveInts
{
option
(
float_opt
)
=
12
;
option
(
double_opt
)
=
154
;
}
message
SettingRealsFromNegativeInts
{
option
(
float_opt
)
=
-
12
;
option
(
double_opt
)
=
-
154
;
}
// Options of complex message types, themselves combined and extended in
// various ways.
message
ComplexOptionType1
{
optional
int32
foo
=
1
;
extensions
100
to
max
;
}
message
ComplexOptionType2
{
optional
ComplexOptionType1
bar
=
1
;
optional
int32
baz
=
2
;
message
ComplexOptionType4
{
optional
int32
waldo
=
1
;
extend
google
.
protobuf.MessageOptions
{
optional
ComplexOptionType4
complex_opt4
=
7633546
;
}
}
optional
ComplexOptionType4
fred
=
3
;
extensions
100
to
max
;
}
message
ComplexOptionType3
{
optional
int32
qux
=
1
;
optional
group
ComplexOptionType5
=
2
{
optional
int32
plugh
=
3
;
}
}
extend
ComplexOptionType1
{
optional
int32
quux
=
7663707
;
optional
ComplexOptionType3
corge
=
7663442
;
}
extend
ComplexOptionType2
{
optional
int32
grault
=
7650927
;
optional
ComplexOptionType1
garply
=
7649992
;
}
extend
google
.
protobuf.MessageOptions
{
optional
protobuf_unittest.ComplexOptionType1
complex_opt1
=
7646756
;
optional
ComplexOptionType2
complex_opt2
=
7636949
;
optional
ComplexOptionType3
complex_opt3
=
7636463
;
optional
group
ComplexOpt6
=
7595468
{
optional
int32
xyzzy
=
7593951
;
}
}
// Note that we try various different ways of naming the same extension.
message
VariousComplexOptions
{
option
(
.
protobuf_unittest.complex_opt1
)
.
foo
=
42
;
option
(
protobuf_unittest.complex_opt1
)
.
(
.
protobuf_unittest.quux
)
=
324
;
option
(
.
protobuf_unittest.complex_opt1
)
.
(
protobuf_unittest.corge
)
.
qux
=
876
;
option
(
complex_opt2
)
.
baz
=
987
;
option
(
complex_opt2
)
.
(
grault
)
=
654
;
option
(
complex_opt2
)
.
bar.foo
=
743
;
option
(
complex_opt2
)
.
bar.
(
quux
)
=
1999
;
option
(
complex_opt2
)
.
bar.
(
protobuf_unittest.corge
)
.
qux
=
2008
;
option
(
complex_opt2
)
.
(
garply
)
.
foo
=
741
;
option
(
complex_opt2
)
.
(
garply
)
.
(
.
protobuf_unittest.quux
)
=
1998
;
option
(
complex_opt2
)
.
(
protobuf_unittest.garply
)
.
(
corge
)
.
qux
=
2121
;
option
(
ComplexOptionType2.ComplexOptionType4.complex_opt4
)
.
waldo
=
1971
;
option
(
complex_opt2
)
.
fred.waldo
=
321
;
option
(
protobuf_unittest.complex_opt3
)
.
qux
=
9
;
option
(
complex_opt3
)
.
complexoptiontype5.plugh
=
22
;
option
(
complexopt6
)
.
xyzzy
=
24
;
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment