syntax = "proto2";

package example;

message Object <beginfold id='1'>{</beginfold id='1'>
  required string name = 1;
  required int32 identifier = 2;
  optional string address = 3;

  enum ObjectType <beginfold id='1'>{</beginfold id='1'>
    LOCAL = 0;
    REMOTE = 1;
    NEITHER = 2;
  <endfold id='1'>}</endfold id='1'>

  message ObjectData <beginfold id='1'>{</beginfold id='1'>
    required string number = 1;
    optional ObjectType type = 2 [default = NEITHER];
  <endfold id='1'>}</endfold id='1'>

  repeated ObjectData dataList = 4;
<endfold id='1'>}</endfold id='1'>

message ObjectList <beginfold id='1'>{</beginfold id='1'>
  repeated Object object = 1;
<endfold id='1'>}</endfold id='1'>
