xref: /aosp_15_r20/external/protobuf/examples/addressbook.proto (revision 1b3f573f81763fcece89efc2b6a5209149e44ab8)
1*1b3f573fSAndroid Build Coastguard Worker// See README.txt for information and build instructions.
2*1b3f573fSAndroid Build Coastguard Worker//
3*1b3f573fSAndroid Build Coastguard Worker// Note: START and END tags are used in comments to define sections used in
4*1b3f573fSAndroid Build Coastguard Worker// tutorials.  They are not part of the syntax for Protocol Buffers.
5*1b3f573fSAndroid Build Coastguard Worker//
6*1b3f573fSAndroid Build Coastguard Worker// To get an in-depth walkthrough of this file and the related examples, see:
7*1b3f573fSAndroid Build Coastguard Worker// https://developers.google.com/protocol-buffers/docs/tutorials
8*1b3f573fSAndroid Build Coastguard Worker
9*1b3f573fSAndroid Build Coastguard Worker// [START declaration]
10*1b3f573fSAndroid Build Coastguard Workersyntax = "proto3";
11*1b3f573fSAndroid Build Coastguard Workerpackage tutorial;
12*1b3f573fSAndroid Build Coastguard Worker
13*1b3f573fSAndroid Build Coastguard Workerimport "google/protobuf/timestamp.proto";
14*1b3f573fSAndroid Build Coastguard Worker// [END declaration]
15*1b3f573fSAndroid Build Coastguard Worker
16*1b3f573fSAndroid Build Coastguard Worker// [START java_declaration]
17*1b3f573fSAndroid Build Coastguard Workeroption java_multiple_files = true;
18*1b3f573fSAndroid Build Coastguard Workeroption java_package = "com.example.tutorial.protos";
19*1b3f573fSAndroid Build Coastguard Workeroption java_outer_classname = "AddressBookProtos";
20*1b3f573fSAndroid Build Coastguard Worker// [END java_declaration]
21*1b3f573fSAndroid Build Coastguard Worker
22*1b3f573fSAndroid Build Coastguard Worker// [START csharp_declaration]
23*1b3f573fSAndroid Build Coastguard Workeroption csharp_namespace = "Google.Protobuf.Examples.AddressBook";
24*1b3f573fSAndroid Build Coastguard Worker// [END csharp_declaration]
25*1b3f573fSAndroid Build Coastguard Worker
26*1b3f573fSAndroid Build Coastguard Worker// [START go_declaration]
27*1b3f573fSAndroid Build Coastguard Workeroption go_package = "github.com/protocolbuffers/protobuf/examples/go/tutorialpb";
28*1b3f573fSAndroid Build Coastguard Worker// [END go_declaration]
29*1b3f573fSAndroid Build Coastguard Worker
30*1b3f573fSAndroid Build Coastguard Worker// [START messages]
31*1b3f573fSAndroid Build Coastguard Workermessage Person {
32*1b3f573fSAndroid Build Coastguard Worker  string name = 1;
33*1b3f573fSAndroid Build Coastguard Worker  int32 id = 2;  // Unique ID number for this person.
34*1b3f573fSAndroid Build Coastguard Worker  string email = 3;
35*1b3f573fSAndroid Build Coastguard Worker
36*1b3f573fSAndroid Build Coastguard Worker  enum PhoneType {
37*1b3f573fSAndroid Build Coastguard Worker    MOBILE = 0;
38*1b3f573fSAndroid Build Coastguard Worker    HOME = 1;
39*1b3f573fSAndroid Build Coastguard Worker    WORK = 2;
40*1b3f573fSAndroid Build Coastguard Worker  }
41*1b3f573fSAndroid Build Coastguard Worker
42*1b3f573fSAndroid Build Coastguard Worker  message PhoneNumber {
43*1b3f573fSAndroid Build Coastguard Worker    string number = 1;
44*1b3f573fSAndroid Build Coastguard Worker    PhoneType type = 2;
45*1b3f573fSAndroid Build Coastguard Worker  }
46*1b3f573fSAndroid Build Coastguard Worker
47*1b3f573fSAndroid Build Coastguard Worker  repeated PhoneNumber phones = 4;
48*1b3f573fSAndroid Build Coastguard Worker
49*1b3f573fSAndroid Build Coastguard Worker  google.protobuf.Timestamp last_updated = 5;
50*1b3f573fSAndroid Build Coastguard Worker}
51*1b3f573fSAndroid Build Coastguard Worker
52*1b3f573fSAndroid Build Coastguard Worker// Our address book file is just one of these.
53*1b3f573fSAndroid Build Coastguard Workermessage AddressBook {
54*1b3f573fSAndroid Build Coastguard Worker  repeated Person people = 1;
55*1b3f573fSAndroid Build Coastguard Worker}
56*1b3f573fSAndroid Build Coastguard Worker// [END messages]
57