
# Wrapper to enforce deterministic serialization
def deterministic_serialize_wrapper(orig_serialize_func):
    def wrapped(msg):
        return orig_serialize_func(msg, deterministic=True)
    return wrapped

# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
"""Client and server classes corresponding to protobuf-defined services."""
import grpc
import warnings

from qm.grpc.qm.grpc.v2 import job_api_pb2 as qm_dot_grpc_dot_v2_dot_job__api__pb2

GRPC_GENERATED_VERSION = '1.68.1'
GRPC_VERSION = grpc.__version__
_version_not_supported = False

try:
    from grpc._utilities import first_version_is_lower
    _version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION)
except ImportError:
    _version_not_supported = True

if _version_not_supported:
    raise RuntimeError(
        f'The grpc package installed is at version {GRPC_VERSION},'
        + f' but the generated code in qm/grpc/v2/job_api_pb2_grpc.py depends on'
        + f' grpcio>={GRPC_GENERATED_VERSION}.'
        + f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}'
        + f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.'
    )


class JobServiceStub(object):
    """Missing associated documentation comment in .proto file."""

    def __init__(self, channel):
        """Constructor.

        Args:
            channel: A grpc.Channel.
        """
        self.GetConfig = channel.unary_unary(
                '/qm.grpc.v2.JobService/GetConfig',
                request_serializer=deterministic_serialize_wrapper(qm_dot_grpc_dot_v2_dot_job__api__pb2.JobServiceGetConfigRequest.SerializeToString),
                response_deserializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.JobServiceGetConfigResponse.FromString,
                _registered_method=True)
        self.GetJobStatus = channel.unary_unary(
                '/qm.grpc.v2.JobService/GetJobStatus',
                request_serializer=deterministic_serialize_wrapper(qm_dot_grpc_dot_v2_dot_job__api__pb2.JobServiceGetJobStatusRequest.SerializeToString),
                response_deserializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.JobServiceGetJobStatusResponse.FromString,
                _registered_method=True)
        self.GetJobStatusUpdates = channel.unary_stream(
                '/qm.grpc.v2.JobService/GetJobStatusUpdates',
                request_serializer=deterministic_serialize_wrapper(qm_dot_grpc_dot_v2_dot_job__api__pb2.JobServiceGetJobStatusRequest.SerializeToString),
                response_deserializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.JobServiceGetJobStatusResponse.FromString,
                _registered_method=True)
        self.PushToInputStream = channel.unary_unary(
                '/qm.grpc.v2.JobService/PushToInputStream',
                request_serializer=deterministic_serialize_wrapper(qm_dot_grpc_dot_v2_dot_job__api__pb2.JobServicePushToInputStreamRequest.SerializeToString),
                response_deserializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.PushToInputStreamResponse.FromString,
                _registered_method=True)
        self.IsPaused = channel.unary_unary(
                '/qm.grpc.v2.JobService/IsPaused',
                request_serializer=deterministic_serialize_wrapper(qm_dot_grpc_dot_v2_dot_job__api__pb2.JobServiceIsPausedRequest.SerializeToString),
                response_deserializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.IsPausedResponse.FromString,
                _registered_method=True)
        self.Resume = channel.unary_unary(
                '/qm.grpc.v2.JobService/Resume',
                request_serializer=deterministic_serialize_wrapper(qm_dot_grpc_dot_v2_dot_job__api__pb2.ResumeRequest.SerializeToString),
                response_deserializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.ResumeResponse.FromString,
                _registered_method=True)
        self.SetMatrixCorrection = channel.unary_unary(
                '/qm.grpc.v2.JobService/SetMatrixCorrection',
                request_serializer=deterministic_serialize_wrapper(qm_dot_grpc_dot_v2_dot_job__api__pb2.SetMatrixCorrectionRequest.SerializeToString),
                response_deserializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.SetMatrixCorrectionResponse.FromString,
                _registered_method=True)
        self.GetMatrixCorrection = channel.unary_unary(
                '/qm.grpc.v2.JobService/GetMatrixCorrection',
                request_serializer=deterministic_serialize_wrapper(qm_dot_grpc_dot_v2_dot_job__api__pb2.GetMatrixCorrectionRequest.SerializeToString),
                response_deserializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.GetMatrixCorrectionResponse.FromString,
                _registered_method=True)
        self.SetIntermediateFrequency = channel.unary_unary(
                '/qm.grpc.v2.JobService/SetIntermediateFrequency',
                request_serializer=deterministic_serialize_wrapper(qm_dot_grpc_dot_v2_dot_job__api__pb2.SetIntermediateFrequencyRequest.SerializeToString),
                response_deserializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.SetIntermediateFrequencyResponse.FromString,
                _registered_method=True)
        self.GetIntermediateFrequency = channel.unary_unary(
                '/qm.grpc.v2.JobService/GetIntermediateFrequency',
                request_serializer=deterministic_serialize_wrapper(qm_dot_grpc_dot_v2_dot_job__api__pb2.GetIntermediateFrequencyRequest.SerializeToString),
                response_deserializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.GetIntermediateFrequencyResponse.FromString,
                _registered_method=True)
        self.SetDigitalDelay = channel.unary_unary(
                '/qm.grpc.v2.JobService/SetDigitalDelay',
                request_serializer=deterministic_serialize_wrapper(qm_dot_grpc_dot_v2_dot_job__api__pb2.SetDigitalDelayRequest.SerializeToString),
                response_deserializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.SetDigitalDelayResponse.FromString,
                _registered_method=True)
        self.GetDigitalDelay = channel.unary_unary(
                '/qm.grpc.v2.JobService/GetDigitalDelay',
                request_serializer=deterministic_serialize_wrapper(qm_dot_grpc_dot_v2_dot_job__api__pb2.GetDigitalDelayRequest.SerializeToString),
                response_deserializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.GetDigitalDelayResponse.FromString,
                _registered_method=True)
        self.SetDigitalBuffer = channel.unary_unary(
                '/qm.grpc.v2.JobService/SetDigitalBuffer',
                request_serializer=deterministic_serialize_wrapper(qm_dot_grpc_dot_v2_dot_job__api__pb2.SetDigitalBufferRequest.SerializeToString),
                response_deserializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.SetDigitalBufferResponse.FromString,
                _registered_method=True)
        self.GetDigitalBuffer = channel.unary_unary(
                '/qm.grpc.v2.JobService/GetDigitalBuffer',
                request_serializer=deterministic_serialize_wrapper(qm_dot_grpc_dot_v2_dot_job__api__pb2.GetDigitalBufferRequest.SerializeToString),
                response_deserializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.GetDigitalBufferResponse.FromString,
                _registered_method=True)
        self.SetInputDcOffset = channel.unary_unary(
                '/qm.grpc.v2.JobService/SetInputDcOffset',
                request_serializer=deterministic_serialize_wrapper(qm_dot_grpc_dot_v2_dot_job__api__pb2.SetInputDcOffsetRequest.SerializeToString),
                response_deserializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.SetInputDcOffsetResponse.FromString,
                _registered_method=True)
        self.GetInputDcOffset = channel.unary_unary(
                '/qm.grpc.v2.JobService/GetInputDcOffset',
                request_serializer=deterministic_serialize_wrapper(qm_dot_grpc_dot_v2_dot_job__api__pb2.GetInputDcOffsetRequest.SerializeToString),
                response_deserializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.GetInputDcOffsetResponse.FromString,
                _registered_method=True)
        self.SetOutputDcOffset = channel.unary_unary(
                '/qm.grpc.v2.JobService/SetOutputDcOffset',
                request_serializer=deterministic_serialize_wrapper(qm_dot_grpc_dot_v2_dot_job__api__pb2.SetOutputDcOffsetRequest.SerializeToString),
                response_deserializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.SetOutputDcOffsetResponse.FromString,
                _registered_method=True)
        self.GetOutputDcOffset = channel.unary_unary(
                '/qm.grpc.v2.JobService/GetOutputDcOffset',
                request_serializer=deterministic_serialize_wrapper(qm_dot_grpc_dot_v2_dot_job__api__pb2.GetOutputDcOffsetRequest.SerializeToString),
                response_deserializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.GetOutputDcOffsetResponse.FromString,
                _registered_method=True)
        self.SetOscillatorFrequency = channel.unary_unary(
                '/qm.grpc.v2.JobService/SetOscillatorFrequency',
                request_serializer=deterministic_serialize_wrapper(qm_dot_grpc_dot_v2_dot_job__api__pb2.SetOscillatorFrequencyRequest.SerializeToString),
                response_deserializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.SetOscillatorFrequencyResponse.FromString,
                _registered_method=True)
        self.SetIOValues = channel.unary_unary(
                '/qm.grpc.v2.JobService/SetIOValues',
                request_serializer=deterministic_serialize_wrapper(qm_dot_grpc_dot_v2_dot_job__api__pb2.SetIoValuesRequest.SerializeToString),
                response_deserializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.SetIoValuesResponse.FromString,
                _registered_method=True)
        self.GetIOValues = channel.unary_unary(
                '/qm.grpc.v2.JobService/GetIOValues',
                request_serializer=deterministic_serialize_wrapper(qm_dot_grpc_dot_v2_dot_job__api__pb2.GetIoValuesRequest.SerializeToString),
                response_deserializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.GetIoValuesResponse.FromString,
                _registered_method=True)
        self.GetJobResultSchema = channel.unary_unary(
                '/qm.grpc.v2.JobService/GetJobResultSchema',
                request_serializer=deterministic_serialize_wrapper(qm_dot_grpc_dot_v2_dot_job__api__pb2.GetJobResultSchemaRequest.SerializeToString),
                response_deserializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.GetJobResultSchemaResponse.FromString,
                _registered_method=True)
        self.GetJobNamedResultHeader = channel.unary_unary(
                '/qm.grpc.v2.JobService/GetJobNamedResultHeader',
                request_serializer=deterministic_serialize_wrapper(qm_dot_grpc_dot_v2_dot_job__api__pb2.GetJobNamedResultHeaderRequest.SerializeToString),
                response_deserializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.GetJobNamedResultHeaderResponse.FromString,
                _registered_method=True)
        self.GetJobNamedResultsHeaders = channel.unary_unary(
                '/qm.grpc.v2.JobService/GetJobNamedResultsHeaders',
                request_serializer=deterministic_serialize_wrapper(qm_dot_grpc_dot_v2_dot_job__api__pb2.GetJobNamedResultsHeadersRequest.SerializeToString),
                response_deserializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.GetJobNamedResultsHeadersResponse.FromString,
                _registered_method=True)
        self.GetNamedResult = channel.unary_stream(
                '/qm.grpc.v2.JobService/GetNamedResult',
                request_serializer=deterministic_serialize_wrapper(qm_dot_grpc_dot_v2_dot_job__api__pb2.GetNamedResultRequest.SerializeToString),
                response_deserializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.GetNamedResultResponse.FromString,
                _registered_method=True)
        self.GetNamedResults = channel.unary_stream(
                '/qm.grpc.v2.JobService/GetNamedResults',
                request_serializer=deterministic_serialize_wrapper(qm_dot_grpc_dot_v2_dot_job__api__pb2.GetNamedResultsRequest.SerializeToString),
                response_deserializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.GetNamedResultResponse.FromString,
                _registered_method=True)
        self.GetErrors = channel.unary_unary(
                '/qm.grpc.v2.JobService/GetErrors',
                request_serializer=deterministic_serialize_wrapper(qm_dot_grpc_dot_v2_dot_job__api__pb2.GetJobErrorsRequest.SerializeToString),
                response_deserializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.GetJobErrorsResponse.FromString,
                _registered_method=True)
        self.GetJobResultState = channel.unary_unary(
                '/qm.grpc.v2.JobService/GetJobResultState',
                request_serializer=deterministic_serialize_wrapper(qm_dot_grpc_dot_v2_dot_job__api__pb2.GetJobResultStateRequest.SerializeToString),
                response_deserializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.GetJobResultStateResponse.FromString,
                _registered_method=True)
        self.PullSamples = channel.unary_stream(
                '/qm.grpc.v2.JobService/PullSamples',
                request_serializer=deterministic_serialize_wrapper(qm_dot_grpc_dot_v2_dot_job__api__pb2.PullSamplesRequest.SerializeToString),
                response_deserializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.PullSamplesResponse.FromString,
                _registered_method=True)
        self.Cancel = channel.unary_unary(
                '/qm.grpc.v2.JobService/Cancel',
                request_serializer=deterministic_serialize_wrapper(qm_dot_grpc_dot_v2_dot_job__api__pb2.CancelRequest.SerializeToString),
                response_deserializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.CancelResponse.FromString,
                _registered_method=True)
        self.GetWaveformReport = channel.unary_unary(
                '/qm.grpc.v2.JobService/GetWaveformReport',
                request_serializer=deterministic_serialize_wrapper(qm_dot_grpc_dot_v2_dot_job__api__pb2.GetWaveformReportRequest.SerializeToString),
                response_deserializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.GetWaveformReportResponse.FromString,
                _registered_method=True)


class JobServiceServicer(object):
    """Missing associated documentation comment in .proto file."""

    def GetConfig(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetJobStatus(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetJobStatusUpdates(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def PushToInputStream(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def IsPaused(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def Resume(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def SetMatrixCorrection(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetMatrixCorrection(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def SetIntermediateFrequency(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetIntermediateFrequency(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def SetDigitalDelay(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetDigitalDelay(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def SetDigitalBuffer(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetDigitalBuffer(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def SetInputDcOffset(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetInputDcOffset(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def SetOutputDcOffset(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetOutputDcOffset(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def SetOscillatorFrequency(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def SetIOValues(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetIOValues(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetJobResultSchema(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetJobNamedResultHeader(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetJobNamedResultsHeaders(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetNamedResult(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetNamedResults(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetErrors(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetJobResultState(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def PullSamples(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def Cancel(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetWaveformReport(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')


def add_JobServiceServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'GetConfig': grpc.unary_unary_rpc_method_handler(
                    servicer.GetConfig,
                    request_deserializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.JobServiceGetConfigRequest.FromString,
                    response_serializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.JobServiceGetConfigResponse.SerializeToString,
            ),
            'GetJobStatus': grpc.unary_unary_rpc_method_handler(
                    servicer.GetJobStatus,
                    request_deserializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.JobServiceGetJobStatusRequest.FromString,
                    response_serializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.JobServiceGetJobStatusResponse.SerializeToString,
            ),
            'GetJobStatusUpdates': grpc.unary_stream_rpc_method_handler(
                    servicer.GetJobStatusUpdates,
                    request_deserializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.JobServiceGetJobStatusRequest.FromString,
                    response_serializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.JobServiceGetJobStatusResponse.SerializeToString,
            ),
            'PushToInputStream': grpc.unary_unary_rpc_method_handler(
                    servicer.PushToInputStream,
                    request_deserializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.JobServicePushToInputStreamRequest.FromString,
                    response_serializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.PushToInputStreamResponse.SerializeToString,
            ),
            'IsPaused': grpc.unary_unary_rpc_method_handler(
                    servicer.IsPaused,
                    request_deserializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.JobServiceIsPausedRequest.FromString,
                    response_serializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.IsPausedResponse.SerializeToString,
            ),
            'Resume': grpc.unary_unary_rpc_method_handler(
                    servicer.Resume,
                    request_deserializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.ResumeRequest.FromString,
                    response_serializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.ResumeResponse.SerializeToString,
            ),
            'SetMatrixCorrection': grpc.unary_unary_rpc_method_handler(
                    servicer.SetMatrixCorrection,
                    request_deserializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.SetMatrixCorrectionRequest.FromString,
                    response_serializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.SetMatrixCorrectionResponse.SerializeToString,
            ),
            'GetMatrixCorrection': grpc.unary_unary_rpc_method_handler(
                    servicer.GetMatrixCorrection,
                    request_deserializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.GetMatrixCorrectionRequest.FromString,
                    response_serializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.GetMatrixCorrectionResponse.SerializeToString,
            ),
            'SetIntermediateFrequency': grpc.unary_unary_rpc_method_handler(
                    servicer.SetIntermediateFrequency,
                    request_deserializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.SetIntermediateFrequencyRequest.FromString,
                    response_serializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.SetIntermediateFrequencyResponse.SerializeToString,
            ),
            'GetIntermediateFrequency': grpc.unary_unary_rpc_method_handler(
                    servicer.GetIntermediateFrequency,
                    request_deserializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.GetIntermediateFrequencyRequest.FromString,
                    response_serializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.GetIntermediateFrequencyResponse.SerializeToString,
            ),
            'SetDigitalDelay': grpc.unary_unary_rpc_method_handler(
                    servicer.SetDigitalDelay,
                    request_deserializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.SetDigitalDelayRequest.FromString,
                    response_serializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.SetDigitalDelayResponse.SerializeToString,
            ),
            'GetDigitalDelay': grpc.unary_unary_rpc_method_handler(
                    servicer.GetDigitalDelay,
                    request_deserializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.GetDigitalDelayRequest.FromString,
                    response_serializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.GetDigitalDelayResponse.SerializeToString,
            ),
            'SetDigitalBuffer': grpc.unary_unary_rpc_method_handler(
                    servicer.SetDigitalBuffer,
                    request_deserializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.SetDigitalBufferRequest.FromString,
                    response_serializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.SetDigitalBufferResponse.SerializeToString,
            ),
            'GetDigitalBuffer': grpc.unary_unary_rpc_method_handler(
                    servicer.GetDigitalBuffer,
                    request_deserializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.GetDigitalBufferRequest.FromString,
                    response_serializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.GetDigitalBufferResponse.SerializeToString,
            ),
            'SetInputDcOffset': grpc.unary_unary_rpc_method_handler(
                    servicer.SetInputDcOffset,
                    request_deserializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.SetInputDcOffsetRequest.FromString,
                    response_serializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.SetInputDcOffsetResponse.SerializeToString,
            ),
            'GetInputDcOffset': grpc.unary_unary_rpc_method_handler(
                    servicer.GetInputDcOffset,
                    request_deserializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.GetInputDcOffsetRequest.FromString,
                    response_serializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.GetInputDcOffsetResponse.SerializeToString,
            ),
            'SetOutputDcOffset': grpc.unary_unary_rpc_method_handler(
                    servicer.SetOutputDcOffset,
                    request_deserializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.SetOutputDcOffsetRequest.FromString,
                    response_serializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.SetOutputDcOffsetResponse.SerializeToString,
            ),
            'GetOutputDcOffset': grpc.unary_unary_rpc_method_handler(
                    servicer.GetOutputDcOffset,
                    request_deserializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.GetOutputDcOffsetRequest.FromString,
                    response_serializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.GetOutputDcOffsetResponse.SerializeToString,
            ),
            'SetOscillatorFrequency': grpc.unary_unary_rpc_method_handler(
                    servicer.SetOscillatorFrequency,
                    request_deserializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.SetOscillatorFrequencyRequest.FromString,
                    response_serializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.SetOscillatorFrequencyResponse.SerializeToString,
            ),
            'SetIOValues': grpc.unary_unary_rpc_method_handler(
                    servicer.SetIOValues,
                    request_deserializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.SetIoValuesRequest.FromString,
                    response_serializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.SetIoValuesResponse.SerializeToString,
            ),
            'GetIOValues': grpc.unary_unary_rpc_method_handler(
                    servicer.GetIOValues,
                    request_deserializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.GetIoValuesRequest.FromString,
                    response_serializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.GetIoValuesResponse.SerializeToString,
            ),
            'GetJobResultSchema': grpc.unary_unary_rpc_method_handler(
                    servicer.GetJobResultSchema,
                    request_deserializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.GetJobResultSchemaRequest.FromString,
                    response_serializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.GetJobResultSchemaResponse.SerializeToString,
            ),
            'GetJobNamedResultHeader': grpc.unary_unary_rpc_method_handler(
                    servicer.GetJobNamedResultHeader,
                    request_deserializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.GetJobNamedResultHeaderRequest.FromString,
                    response_serializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.GetJobNamedResultHeaderResponse.SerializeToString,
            ),
            'GetJobNamedResultsHeaders': grpc.unary_unary_rpc_method_handler(
                    servicer.GetJobNamedResultsHeaders,
                    request_deserializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.GetJobNamedResultsHeadersRequest.FromString,
                    response_serializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.GetJobNamedResultsHeadersResponse.SerializeToString,
            ),
            'GetNamedResult': grpc.unary_stream_rpc_method_handler(
                    servicer.GetNamedResult,
                    request_deserializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.GetNamedResultRequest.FromString,
                    response_serializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.GetNamedResultResponse.SerializeToString,
            ),
            'GetNamedResults': grpc.unary_stream_rpc_method_handler(
                    servicer.GetNamedResults,
                    request_deserializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.GetNamedResultsRequest.FromString,
                    response_serializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.GetNamedResultResponse.SerializeToString,
            ),
            'GetErrors': grpc.unary_unary_rpc_method_handler(
                    servicer.GetErrors,
                    request_deserializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.GetJobErrorsRequest.FromString,
                    response_serializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.GetJobErrorsResponse.SerializeToString,
            ),
            'GetJobResultState': grpc.unary_unary_rpc_method_handler(
                    servicer.GetJobResultState,
                    request_deserializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.GetJobResultStateRequest.FromString,
                    response_serializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.GetJobResultStateResponse.SerializeToString,
            ),
            'PullSamples': grpc.unary_stream_rpc_method_handler(
                    servicer.PullSamples,
                    request_deserializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.PullSamplesRequest.FromString,
                    response_serializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.PullSamplesResponse.SerializeToString,
            ),
            'Cancel': grpc.unary_unary_rpc_method_handler(
                    servicer.Cancel,
                    request_deserializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.CancelRequest.FromString,
                    response_serializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.CancelResponse.SerializeToString,
            ),
            'GetWaveformReport': grpc.unary_unary_rpc_method_handler(
                    servicer.GetWaveformReport,
                    request_deserializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.GetWaveformReportRequest.FromString,
                    response_serializer=qm_dot_grpc_dot_v2_dot_job__api__pb2.GetWaveformReportResponse.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'qm.grpc.v2.JobService', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))
    server.add_registered_method_handlers('qm.grpc.v2.JobService', rpc_method_handlers)


 # This class is part of an EXPERIMENTAL API.
class JobService(object):
    """Missing associated documentation comment in .proto file."""

    @staticmethod
    def GetConfig(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/qm.grpc.v2.JobService/GetConfig',
            qm_dot_grpc_dot_v2_dot_job__api__pb2.JobServiceGetConfigRequest.SerializeToString,
            qm_dot_grpc_dot_v2_dot_job__api__pb2.JobServiceGetConfigResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetJobStatus(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/qm.grpc.v2.JobService/GetJobStatus',
            qm_dot_grpc_dot_v2_dot_job__api__pb2.JobServiceGetJobStatusRequest.SerializeToString,
            qm_dot_grpc_dot_v2_dot_job__api__pb2.JobServiceGetJobStatusResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetJobStatusUpdates(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_stream(
            request,
            target,
            '/qm.grpc.v2.JobService/GetJobStatusUpdates',
            qm_dot_grpc_dot_v2_dot_job__api__pb2.JobServiceGetJobStatusRequest.SerializeToString,
            qm_dot_grpc_dot_v2_dot_job__api__pb2.JobServiceGetJobStatusResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def PushToInputStream(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/qm.grpc.v2.JobService/PushToInputStream',
            qm_dot_grpc_dot_v2_dot_job__api__pb2.JobServicePushToInputStreamRequest.SerializeToString,
            qm_dot_grpc_dot_v2_dot_job__api__pb2.PushToInputStreamResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def IsPaused(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/qm.grpc.v2.JobService/IsPaused',
            qm_dot_grpc_dot_v2_dot_job__api__pb2.JobServiceIsPausedRequest.SerializeToString,
            qm_dot_grpc_dot_v2_dot_job__api__pb2.IsPausedResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def Resume(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/qm.grpc.v2.JobService/Resume',
            qm_dot_grpc_dot_v2_dot_job__api__pb2.ResumeRequest.SerializeToString,
            qm_dot_grpc_dot_v2_dot_job__api__pb2.ResumeResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def SetMatrixCorrection(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/qm.grpc.v2.JobService/SetMatrixCorrection',
            qm_dot_grpc_dot_v2_dot_job__api__pb2.SetMatrixCorrectionRequest.SerializeToString,
            qm_dot_grpc_dot_v2_dot_job__api__pb2.SetMatrixCorrectionResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetMatrixCorrection(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/qm.grpc.v2.JobService/GetMatrixCorrection',
            qm_dot_grpc_dot_v2_dot_job__api__pb2.GetMatrixCorrectionRequest.SerializeToString,
            qm_dot_grpc_dot_v2_dot_job__api__pb2.GetMatrixCorrectionResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def SetIntermediateFrequency(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/qm.grpc.v2.JobService/SetIntermediateFrequency',
            qm_dot_grpc_dot_v2_dot_job__api__pb2.SetIntermediateFrequencyRequest.SerializeToString,
            qm_dot_grpc_dot_v2_dot_job__api__pb2.SetIntermediateFrequencyResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetIntermediateFrequency(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/qm.grpc.v2.JobService/GetIntermediateFrequency',
            qm_dot_grpc_dot_v2_dot_job__api__pb2.GetIntermediateFrequencyRequest.SerializeToString,
            qm_dot_grpc_dot_v2_dot_job__api__pb2.GetIntermediateFrequencyResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def SetDigitalDelay(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/qm.grpc.v2.JobService/SetDigitalDelay',
            qm_dot_grpc_dot_v2_dot_job__api__pb2.SetDigitalDelayRequest.SerializeToString,
            qm_dot_grpc_dot_v2_dot_job__api__pb2.SetDigitalDelayResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetDigitalDelay(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/qm.grpc.v2.JobService/GetDigitalDelay',
            qm_dot_grpc_dot_v2_dot_job__api__pb2.GetDigitalDelayRequest.SerializeToString,
            qm_dot_grpc_dot_v2_dot_job__api__pb2.GetDigitalDelayResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def SetDigitalBuffer(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/qm.grpc.v2.JobService/SetDigitalBuffer',
            qm_dot_grpc_dot_v2_dot_job__api__pb2.SetDigitalBufferRequest.SerializeToString,
            qm_dot_grpc_dot_v2_dot_job__api__pb2.SetDigitalBufferResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetDigitalBuffer(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/qm.grpc.v2.JobService/GetDigitalBuffer',
            qm_dot_grpc_dot_v2_dot_job__api__pb2.GetDigitalBufferRequest.SerializeToString,
            qm_dot_grpc_dot_v2_dot_job__api__pb2.GetDigitalBufferResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def SetInputDcOffset(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/qm.grpc.v2.JobService/SetInputDcOffset',
            qm_dot_grpc_dot_v2_dot_job__api__pb2.SetInputDcOffsetRequest.SerializeToString,
            qm_dot_grpc_dot_v2_dot_job__api__pb2.SetInputDcOffsetResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetInputDcOffset(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/qm.grpc.v2.JobService/GetInputDcOffset',
            qm_dot_grpc_dot_v2_dot_job__api__pb2.GetInputDcOffsetRequest.SerializeToString,
            qm_dot_grpc_dot_v2_dot_job__api__pb2.GetInputDcOffsetResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def SetOutputDcOffset(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/qm.grpc.v2.JobService/SetOutputDcOffset',
            qm_dot_grpc_dot_v2_dot_job__api__pb2.SetOutputDcOffsetRequest.SerializeToString,
            qm_dot_grpc_dot_v2_dot_job__api__pb2.SetOutputDcOffsetResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetOutputDcOffset(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/qm.grpc.v2.JobService/GetOutputDcOffset',
            qm_dot_grpc_dot_v2_dot_job__api__pb2.GetOutputDcOffsetRequest.SerializeToString,
            qm_dot_grpc_dot_v2_dot_job__api__pb2.GetOutputDcOffsetResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def SetOscillatorFrequency(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/qm.grpc.v2.JobService/SetOscillatorFrequency',
            qm_dot_grpc_dot_v2_dot_job__api__pb2.SetOscillatorFrequencyRequest.SerializeToString,
            qm_dot_grpc_dot_v2_dot_job__api__pb2.SetOscillatorFrequencyResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def SetIOValues(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/qm.grpc.v2.JobService/SetIOValues',
            qm_dot_grpc_dot_v2_dot_job__api__pb2.SetIoValuesRequest.SerializeToString,
            qm_dot_grpc_dot_v2_dot_job__api__pb2.SetIoValuesResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetIOValues(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/qm.grpc.v2.JobService/GetIOValues',
            qm_dot_grpc_dot_v2_dot_job__api__pb2.GetIoValuesRequest.SerializeToString,
            qm_dot_grpc_dot_v2_dot_job__api__pb2.GetIoValuesResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetJobResultSchema(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/qm.grpc.v2.JobService/GetJobResultSchema',
            qm_dot_grpc_dot_v2_dot_job__api__pb2.GetJobResultSchemaRequest.SerializeToString,
            qm_dot_grpc_dot_v2_dot_job__api__pb2.GetJobResultSchemaResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetJobNamedResultHeader(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/qm.grpc.v2.JobService/GetJobNamedResultHeader',
            qm_dot_grpc_dot_v2_dot_job__api__pb2.GetJobNamedResultHeaderRequest.SerializeToString,
            qm_dot_grpc_dot_v2_dot_job__api__pb2.GetJobNamedResultHeaderResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetJobNamedResultsHeaders(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/qm.grpc.v2.JobService/GetJobNamedResultsHeaders',
            qm_dot_grpc_dot_v2_dot_job__api__pb2.GetJobNamedResultsHeadersRequest.SerializeToString,
            qm_dot_grpc_dot_v2_dot_job__api__pb2.GetJobNamedResultsHeadersResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetNamedResult(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_stream(
            request,
            target,
            '/qm.grpc.v2.JobService/GetNamedResult',
            qm_dot_grpc_dot_v2_dot_job__api__pb2.GetNamedResultRequest.SerializeToString,
            qm_dot_grpc_dot_v2_dot_job__api__pb2.GetNamedResultResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetNamedResults(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_stream(
            request,
            target,
            '/qm.grpc.v2.JobService/GetNamedResults',
            qm_dot_grpc_dot_v2_dot_job__api__pb2.GetNamedResultsRequest.SerializeToString,
            qm_dot_grpc_dot_v2_dot_job__api__pb2.GetNamedResultResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetErrors(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/qm.grpc.v2.JobService/GetErrors',
            qm_dot_grpc_dot_v2_dot_job__api__pb2.GetJobErrorsRequest.SerializeToString,
            qm_dot_grpc_dot_v2_dot_job__api__pb2.GetJobErrorsResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetJobResultState(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/qm.grpc.v2.JobService/GetJobResultState',
            qm_dot_grpc_dot_v2_dot_job__api__pb2.GetJobResultStateRequest.SerializeToString,
            qm_dot_grpc_dot_v2_dot_job__api__pb2.GetJobResultStateResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def PullSamples(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_stream(
            request,
            target,
            '/qm.grpc.v2.JobService/PullSamples',
            qm_dot_grpc_dot_v2_dot_job__api__pb2.PullSamplesRequest.SerializeToString,
            qm_dot_grpc_dot_v2_dot_job__api__pb2.PullSamplesResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def Cancel(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/qm.grpc.v2.JobService/Cancel',
            qm_dot_grpc_dot_v2_dot_job__api__pb2.CancelRequest.SerializeToString,
            qm_dot_grpc_dot_v2_dot_job__api__pb2.CancelResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetWaveformReport(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/qm.grpc.v2.JobService/GetWaveformReport',
            qm_dot_grpc_dot_v2_dot_job__api__pb2.GetWaveformReportRequest.SerializeToString,
            qm_dot_grpc_dot_v2_dot_job__api__pb2.GetWaveformReportResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)
