// Proto file representing the EDB Net class

syntax = "proto3";

package ansys.api.edb.v1;

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

// Net service definition
service NetService {
  // Creates a net
  rpc Create (StringPropertyMessage) returns (EDBObjMessage) {}

  // Finds a net on a layer by name
  rpc FindByName (StringPropertyMessage) returns (EDBObjMessage) {}

  // name accessors
  rpc GetName (EDBObjMessage) returns (google.protobuf.StringValue) {}
  rpc SetName (StringPropertyMessage) returns (google.protobuf.Empty) {}

  // is_power_ground accessors
  rpc GetIsPowerGround (EDBObjMessage) returns (google.protobuf.BoolValue) {}
  rpc SetIsPowerGround (BoolPropertyMessage) returns (google.protobuf.Empty) {}

  // layout objects getter
  rpc GetLayoutObjects (LayoutObjTargetMessage) returns (EDBObjCollectionMessage) {}
  rpc StreamLayoutObjects (LayoutObjTargetMessage) returns (stream EDBObjCollectionMessage) {}
}
