1 // Go support for Protocol Buffers - Google's data interchange format
3 // Copyright 2010 Google Inc. All rights reserved.
4 // http://code.google.com/p/goprotobuf/
6 // Redistribution and use in source and binary forms, with or without
7 // modification, are permitted provided that the following conditions are
10 // * Redistributions of source code must retain the above copyright
11 // notice, this list of conditions and the following disclaimer.
12 // * Redistributions in binary form must reproduce the above
13 // copyright notice, this list of conditions and the following disclaimer
14 // in the documentation and/or other materials provided with the
16 // * Neither the name of Google Inc. nor the names of its
17 // contributors may be used to endorse or promote products derived from
18 // this software without specific prior written permission.
20 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21 // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22 // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23 // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24 // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25 // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26 // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 package my.test; // dotted package name
35 import "multi1.proto"; // unused import
38 // deliberately skipping 0
46 LUNDI = 1; // same value as MONDAY
55 repeated int64 key = 1;
56 optional imp.ImportedMessage imported_message = 2;
57 optional Color hue = 3;
58 optional HatType hat = 4 [default=FEDORA];
59 optional imp.ImportedMessage.Owner owner = 6;
60 optional float deadline = 7 [default=inf];
61 optional group SomeGroup = 8 {
62 optional int32 group_field = 9;
65 // This foreign message type is in imp2.proto,
66 // which is publicly imported by imp.proto.
67 // optional imp.PubliclyImportedMessage pub = 10;
72 required int64 key_that_needs_1234camel_CasIng = 1;
73 optional int64 value = 2 [default=7];
74 optional int64 _my_field_name_2 = 3;
80 repeated Entry found = 1;
81 repeated int32 compact_keys = 2 [packed=true];
82 extensions 100 to max;
85 message ReplyExtensions {
87 optional double time = 101;
91 // top-level extension
93 optional string tag = 103;
97 // Extensions will be encoded in MessageSet wire format.
98 option message_set_wire_format = true;
99 extensions 100 to max;