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

import morai_mgeo_pb2 as morai__mgeo__pb2
import morai_type_pb2 as morai__type__pb2


class MoraiMgeoStub(object):
    """지도 관련 서비스
    """

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

        Args:
            channel: A grpc.Channel.
        """
        self.GetMGeo = channel.unary_unary(
                '/morai_sim_api.MoraiMgeo/GetMGeo',
                request_serializer=morai__mgeo__pb2.MapInfo.SerializeToString,
                response_deserializer=morai__mgeo__pb2.MGeoData.FromString,
                )
        self.GetLeftLink = channel.unary_unary(
                '/morai_sim_api.MoraiMgeo/GetLeftLink',
                request_serializer=morai__type__pb2.LinkInfo.SerializeToString,
                response_deserializer=morai__mgeo__pb2.GetLinkResponse.FromString,
                )
        self.GetRightLink = channel.unary_unary(
                '/morai_sim_api.MoraiMgeo/GetRightLink',
                request_serializer=morai__type__pb2.LinkInfo.SerializeToString,
                response_deserializer=morai__mgeo__pb2.GetLinkResponse.FromString,
                )
        self.GetToLinks = channel.unary_unary(
                '/morai_sim_api.MoraiMgeo/GetToLinks',
                request_serializer=morai__type__pb2.LinkInfo.SerializeToString,
                response_deserializer=morai__mgeo__pb2.GetLinkResponseList.FromString,
                )
        self.GetFromLinks = channel.unary_unary(
                '/morai_sim_api.MoraiMgeo/GetFromLinks',
                request_serializer=morai__type__pb2.LinkInfo.SerializeToString,
                response_deserializer=morai__mgeo__pb2.GetLinkResponseList.FromString,
                )
        self.GetVehiclesOnLink = channel.unary_unary(
                '/morai_sim_api.MoraiMgeo/GetVehiclesOnLink',
                request_serializer=morai__type__pb2.LinkInfo.SerializeToString,
                response_deserializer=morai__mgeo__pb2.GetVehiclesOnLinkResponseList.FromString,
                )


class MoraiMgeoServicer(object):
    """지도 관련 서비스
    """

    def GetMGeo(self, request, context):
        """// MGeo 데이터를 가져옴
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetLeftLink(self, request, context):
        """// 왼쪽 링크를 가져옴
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetRightLink(self, request, context):
        """// 오른쪽 링크를 가져옴
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetToLinks(self, request, context):
        """// To 링크들을 가져옴
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetFromLinks(self, request, context):
        """// From 링크들을 가져옴
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetVehiclesOnLink(self, request, context):
        """// 링크에 있는 차량 정보를 가져옴
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')


def add_MoraiMgeoServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'GetMGeo': grpc.unary_unary_rpc_method_handler(
                    servicer.GetMGeo,
                    request_deserializer=morai__mgeo__pb2.MapInfo.FromString,
                    response_serializer=morai__mgeo__pb2.MGeoData.SerializeToString,
            ),
            'GetLeftLink': grpc.unary_unary_rpc_method_handler(
                    servicer.GetLeftLink,
                    request_deserializer=morai__type__pb2.LinkInfo.FromString,
                    response_serializer=morai__mgeo__pb2.GetLinkResponse.SerializeToString,
            ),
            'GetRightLink': grpc.unary_unary_rpc_method_handler(
                    servicer.GetRightLink,
                    request_deserializer=morai__type__pb2.LinkInfo.FromString,
                    response_serializer=morai__mgeo__pb2.GetLinkResponse.SerializeToString,
            ),
            'GetToLinks': grpc.unary_unary_rpc_method_handler(
                    servicer.GetToLinks,
                    request_deserializer=morai__type__pb2.LinkInfo.FromString,
                    response_serializer=morai__mgeo__pb2.GetLinkResponseList.SerializeToString,
            ),
            'GetFromLinks': grpc.unary_unary_rpc_method_handler(
                    servicer.GetFromLinks,
                    request_deserializer=morai__type__pb2.LinkInfo.FromString,
                    response_serializer=morai__mgeo__pb2.GetLinkResponseList.SerializeToString,
            ),
            'GetVehiclesOnLink': grpc.unary_unary_rpc_method_handler(
                    servicer.GetVehiclesOnLink,
                    request_deserializer=morai__type__pb2.LinkInfo.FromString,
                    response_serializer=morai__mgeo__pb2.GetVehiclesOnLinkResponseList.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'morai_sim_api.MoraiMgeo', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))


 # This class is part of an EXPERIMENTAL API.
class MoraiMgeo(object):
    """지도 관련 서비스
    """

    @staticmethod
    def GetMGeo(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, '/morai_sim_api.MoraiMgeo/GetMGeo',
            morai__mgeo__pb2.MapInfo.SerializeToString,
            morai__mgeo__pb2.MGeoData.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetLeftLink(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, '/morai_sim_api.MoraiMgeo/GetLeftLink',
            morai__type__pb2.LinkInfo.SerializeToString,
            morai__mgeo__pb2.GetLinkResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetRightLink(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, '/morai_sim_api.MoraiMgeo/GetRightLink',
            morai__type__pb2.LinkInfo.SerializeToString,
            morai__mgeo__pb2.GetLinkResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetToLinks(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, '/morai_sim_api.MoraiMgeo/GetToLinks',
            morai__type__pb2.LinkInfo.SerializeToString,
            morai__mgeo__pb2.GetLinkResponseList.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetFromLinks(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, '/morai_sim_api.MoraiMgeo/GetFromLinks',
            morai__type__pb2.LinkInfo.SerializeToString,
            morai__mgeo__pb2.GetLinkResponseList.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetVehiclesOnLink(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, '/morai_sim_api.MoraiMgeo/GetVehiclesOnLink',
            morai__type__pb2.LinkInfo.SerializeToString,
            morai__mgeo__pb2.GetVehiclesOnLinkResponseList.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
