From c843bf8c4702769f8207e4326b5bc387eefd33fb Mon Sep 17 00:00:00 2001 From: Dan Buch Date: Mon, 7 May 2012 08:22:15 -0400 Subject: [PATCH] Starting on the Protocol Buffers tutorial --- protobuf/.gitignore | 4 ++++ protobuf/setup | 14 ++++++++++++++ protobuf/src/tutorial/addressbook.proto | 24 ++++++++++++++++++++++++ 3 files changed, 42 insertions(+) create mode 100644 protobuf/.gitignore create mode 100755 protobuf/setup create mode 100644 protobuf/src/tutorial/addressbook.proto diff --git a/protobuf/.gitignore b/protobuf/.gitignore new file mode 100644 index 0000000..d055e9a --- /dev/null +++ b/protobuf/.gitignore @@ -0,0 +1,4 @@ +/bin/protoc +/include/ +/lib/ +/tmp/ diff --git a/protobuf/setup b/protobuf/setup new file mode 100755 index 0000000..e18f996 --- /dev/null +++ b/protobuf/setup @@ -0,0 +1,14 @@ +#!/bin/bash + +set -e +set -x + +TOP=$PWD +mkdir -p tmp +pushd tmp +test -f protobuf-2.4.1.tar.bz2 || curl -O http://protobuf.googlecode.com/files/protobuf-2.4.1.tar.bz2 +test -d protobuf-2.4.1 || tar xjvf protobuf-2.4.1.tar.bz2 +pushd protobuf-2.4.1 +./configure --prefix=$TOP +make +make install diff --git a/protobuf/src/tutorial/addressbook.proto b/protobuf/src/tutorial/addressbook.proto new file mode 100644 index 0000000..bb87f1a --- /dev/null +++ b/protobuf/src/tutorial/addressbook.proto @@ -0,0 +1,24 @@ +package tutorial; + +message Person { + required string name = 1; + required int32 id = 2; + 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; +} + +message AddressBook { + repeated Person person = 1; +}