blob: 068334f8e3e8628b255696f1d6e04664dfe7a5f6 [file] [log] [blame]
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements. See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership. The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License. You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied. See the License for the
// specific language governing permissions and limitations
// under the License.
syntax="proto2";
package addressbook;
message Person {
required string name = 1;
required int32 id = 2; // Unique ID number for this person.
optional string email = 3;
enum PhoneType {
MOBILE = 0;
HOME = 1;
WORK = 2;
}
message PhoneNumber {
required string number = 1;
optional PhoneType type = 2 [default = HOME];
}
repeated PhoneNumber phone = 4;
optional int64 data = 5;
optional sint32 data32 = 6;
optional sint64 data64 = 7;
required double datadouble = 8;
optional float datafloat = 9;
optional uint32 datau32 = 10;
optional uint64 datau64 = 11;
optional bool databool = 12;
optional bytes databyte = 13;
optional fixed32 datafix32 = 14;
optional fixed64 datafix64 = 15;
optional sfixed32 datasfix32 = 16;
optional sfixed64 datasfix64 = 17;
optional float datafloat_scientific = 18;
optional double datadouble_scientific = 19;
extensions 100 to 200;
}
extend Person {
optional string hobby = 100;
}
message AddressBook {
repeated Person person = 1;
}