// Proto file representing the Die Property class

syntax = "proto3";

// Package
package ansys.api.edb.v1;

// Imports
import "ansys/api/edb/v1/edb_messages.proto";

enum DieOrientation {
DIE_ORIENTATION_CHIP_UP = 0;
DIE_ORIENTATION_CHIP_DOWN = 1;
}

enum DieType {
DIE_TYPE_NONE = 0;
DIE_TYPE_FLIPCHIP = 1;
DIE_TYPE_WIREBOND = 2;
}
  
// Die Property service definition
service DiePropertyService {

  rpc Create(google.protobuf.Empty) returns (EDBObjMessage) {}
  rpc Clone(EDBObjMessage) returns (EDBObjMessage) {}
  
  rpc GetDieType(EDBObjMessage) returns (DieTypeMessage) {}
  rpc SetDieType(DieTypePropertyMessage) returns (google.protobuf.Empty) {} 
  
  rpc GetHeight(EDBObjMessage) returns (ValueMessage) {}
  rpc SetHeight(ValuePropertyMessage) returns (google.protobuf.Empty) {}
  
  rpc GetOrientation(EDBObjMessage) returns (DieOrientationMessage) {}
  rpc SetOrientation(DieOrientationPropertyMessage) returns (google.protobuf.Empty) {} 
}


message DieTypeMessage {
  DieType die_type = 1;
}

message DieTypePropertyMessage {
  EDBObjMessage target = 1;
  DieTypeMessage die_type = 2;
}

message DieOrientationMessage {
  DieOrientation die_orientation = 1;
}

message DieOrientationPropertyMessage {
  EDBObjMessage target = 1;
  DieOrientationMessage die_orientation = 2;
}