syntax="proto2";
// mcpack2pb - Make protobuf be front-end of mcpack/compack
// Copyright (c) 2015 Baidu, Inc.
// Author: Ge,Jun (gejun@baidu.com)
// Date: Mon Oct 19 17:17:36 CST 2015

import "google/protobuf/descriptor.proto";

extend google.protobuf.FileOptions {
  // True to generate mcpack parsing/serializing code
  optional bool idl_support = 91000;
}

enum ConvertibleIdlType {
  IDL_AUTO = 0;
  IDL_INT8 = 1;
  IDL_INT16 = 2;
  IDL_INT32 = 3;
  IDL_INT64 = 4;
  IDL_UINT8 = 5;
  IDL_UINT16 = 6;
  IDL_UINT32 = 7;
  IDL_UINT64 = 8;
  IDL_BOOL = 9;
  IDL_FLOAT = 10;
  IDL_DOUBLE = 11;
  IDL_BINARY = 12;
  IDL_STRING = 13;
}

extend google.protobuf.FieldOptions {
  // Mark the idl-type which is inconsistent with proto-type.
  optional ConvertibleIdlType idl_type = 91001;

  // Mark the non-optional() vector/array in idl.
  optional int32 idl_on = 91002;

  // Use this name as the field name for packing instead of the one in proto.
  optional string idl_name = 91003;
}
