syntax = "proto3";

package ansys.api.edb.v1;

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

service PadstackDefService {
  // create a PadstackDef
  rpc Create(PadstackDefStringMessage) returns (EDBObjMessage) {}
  
  // delete a PadstackDef
  rpc Delete(EDBObjMessage) returns (google.protobuf.Empty) {}

  // find a PadstackDef by name
  rpc FindByName(PadstackDefStringMessage) returns (EDBObjMessage) {}

  // get name of a PadstackDef
  rpc GetName(EDBObjMessage) returns (google.protobuf.StringValue) {}
  
  // Get PSPadstackDefinition of PadstackDef
  rpc GetData(EDBObjMessage) returns (EDBObjMessage) {}
  
  // Set PSPadstackDefinition of PadstackDef
  rpc SetData(PadstackDefSetDataMessage) returns (google.protobuf.Empty) {}
}

message PadstackDefStringMessage {
  EDBObjMessage target = 1;
  string name = 2;
}

message PadstackDefSetDataMessage {
  EDBObjMessage target = 1;
  EDBObjMessage data = 2;
}