// ###############################################################
// Copyright(c) Carl Zeiss AG, Germany. All Rights Reserved.
//
// Permission is granted to use and distribute this code,
// as long as this copyright notice remains part of the code.
// ###############################################################

syntax = "proto3";
package zen_api.em.hardware.v1;

// The AcquisitionServiceGetExternalScanSourceRequest class.
message AcquisitionServiceGetExternalScanSourceRequest {
}
// Response object representing the external scan source identifier.
message AcquisitionServiceGetExternalScanSourceResponse {
   // The external scan source identifier.
   int64 source = 1;
}
// The AcquisitionServiceSetExternalScanSourceRequest class.
message AcquisitionServiceSetExternalScanSourceRequest {
   // The external scan source identifier.
   // Source = 0: Internal scan control
   // Source = 1, 2, 3, 4: External scan configuration
   int64 source = 1;
}
// Response object representing the external scan source identifier after setting.
message AcquisitionServiceSetExternalScanSourceResponse {
   // The external scan source identifier.
   int64 source = 1;
   // A value indicating whether the operation succeeded.
   bool success = 2;
}
// The IAcquisitionService interface.
service AcquisitionService {
   // Gets the external scan source identifier.
   // Specifies which external source is used for scan control when external scan is enabled.
   rpc GetExternalScanSource (AcquisitionServiceGetExternalScanSourceRequest) returns (AcquisitionServiceGetExternalScanSourceResponse)
   {
      option idempotency_level = NO_SIDE_EFFECTS;
   }
   // Sets the external scan source identifier.
   // Specifies which external source to use for scan control when external scan is enabled.
   rpc SetExternalScanSource (AcquisitionServiceSetExternalScanSourceRequest) returns (AcquisitionServiceSetExternalScanSourceResponse);
}
