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

from . import qgrain_pb2 as qgrain__pb2


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

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

        Args:
            channel: A grpc.Channel.
        """
        self.get_service_state = channel.unary_unary(
                '/QGrain/get_service_state',
                request_serializer=qgrain__pb2.ServiceStateRequest.SerializeToString,
                response_deserializer=qgrain__pb2.ServiceStateResponse.FromString,
                )
        self.get_statistics = channel.unary_unary(
                '/QGrain/get_statistics',
                request_serializer=qgrain__pb2.StatisticalRequest.SerializeToString,
                response_deserializer=qgrain__pb2.StatisticalResponse.FromString,
                )
        self.get_ssu_result = channel.unary_unary(
                '/QGrain/get_ssu_result',
                request_serializer=qgrain__pb2.SSURequest.SerializeToString,
                response_deserializer=qgrain__pb2.SSUResponse.FromString,
                )
        self.get_emma_result = channel.unary_unary(
                '/QGrain/get_emma_result',
                request_serializer=qgrain__pb2.EMMARequest.SerializeToString,
                response_deserializer=qgrain__pb2.EMMAResponse.FromString,
                )
        self.get_udm_result = channel.unary_unary(
                '/QGrain/get_udm_result',
                request_serializer=qgrain__pb2.UDMRequest.SerializeToString,
                response_deserializer=qgrain__pb2.UDMResponse.FromString,
                )


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

    def get_service_state(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 get_statistics(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 get_ssu_result(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 get_emma_result(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 get_udm_result(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_QGrainServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'get_service_state': grpc.unary_unary_rpc_method_handler(
                    servicer.get_service_state,
                    request_deserializer=qgrain__pb2.ServiceStateRequest.FromString,
                    response_serializer=qgrain__pb2.ServiceStateResponse.SerializeToString,
            ),
            'get_statistics': grpc.unary_unary_rpc_method_handler(
                    servicer.get_statistics,
                    request_deserializer=qgrain__pb2.StatisticalRequest.FromString,
                    response_serializer=qgrain__pb2.StatisticalResponse.SerializeToString,
            ),
            'get_ssu_result': grpc.unary_unary_rpc_method_handler(
                    servicer.get_ssu_result,
                    request_deserializer=qgrain__pb2.SSURequest.FromString,
                    response_serializer=qgrain__pb2.SSUResponse.SerializeToString,
            ),
            'get_emma_result': grpc.unary_unary_rpc_method_handler(
                    servicer.get_emma_result,
                    request_deserializer=qgrain__pb2.EMMARequest.FromString,
                    response_serializer=qgrain__pb2.EMMAResponse.SerializeToString,
            ),
            'get_udm_result': grpc.unary_unary_rpc_method_handler(
                    servicer.get_udm_result,
                    request_deserializer=qgrain__pb2.UDMRequest.FromString,
                    response_serializer=qgrain__pb2.UDMResponse.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'QGrain', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))


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

    @staticmethod
    def get_service_state(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, '/QGrain/get_service_state',
            qgrain__pb2.ServiceStateRequest.SerializeToString,
            qgrain__pb2.ServiceStateResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def get_statistics(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, '/QGrain/get_statistics',
            qgrain__pb2.StatisticalRequest.SerializeToString,
            qgrain__pb2.StatisticalResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def get_ssu_result(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, '/QGrain/get_ssu_result',
            qgrain__pb2.SSURequest.SerializeToString,
            qgrain__pb2.SSUResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def get_emma_result(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, '/QGrain/get_emma_result',
            qgrain__pb2.EMMARequest.SerializeToString,
            qgrain__pb2.EMMAResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def get_udm_result(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, '/QGrain/get_udm_result',
            qgrain__pb2.UDMRequest.SerializeToString,
            qgrain__pb2.UDMResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
