This directory contains an example of an addressbook data structure definition and several Erlang programs that rely on it to manipulate addressbook data.
This example is based on the Google Protocol Buffers examples: http://protobuf.googlecode.com/svn/trunk/examples/ (See their README.txt file for details).
make make test
addressbook.proto -- the original Google Protocol Buffers definition copied
from examples directory of the protobuf distribution
src/addressbook.proto.piqi -- definition of the addressbook data structure
converted from the original
piqi of-proto command
src/addressbook.erlang.piqi -- Erlang-specific extensions to the converted
src/add_person.erl -- adds a person to the addressbook
src/list_people.erl -- lists the contents of the addressbook
src/io_json_xml_pb.erl -- example of how to read and write the addressbook
represented in XML, JSON, Protocol Buffers and Piq formats
./test -- shell script containing tests for the
list_people Erlang programs
list_people Erlang programs implement exactly the same
functionality as Python, Java and C++ programs from the Protobuf examples. The
data structure and the binary encoding of the addressbook data structure is
fully compatible as well. As a result, the Erlang programs can read an
addressbook structure created by Python/C++/Java programs and vice versa.
This example also contains the
addressbook.piq file which is a sample
addressbook data structure represented as a Piq file. It can be converted to the
binary Protocol Buffers format (using
piqi convert) and then can be
manipulated by the Erlang programs.