syntax = "proto2";

package example;

message Object {
  required string name = 1;
  required int32 identifier = 2;
  optional string address = 3;

  enum ObjectType {
    LOCAL = 0;
    REMOTE = 1;
    NEITHER = 2;
  }

  message ObjectData {
    required string number = 1;
    optional ObjectType type = 2 [default = NEITHER];
  }

  repeated ObjectData dataList = 4;
}

message ObjectList {
  repeated Object object = 1;
}