79 lines
1.9 KiB
Protocol Buffer
79 lines
1.9 KiB
Protocol Buffer
// 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;
|
|
}
|