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

from . import remote_pb2 as remote__pb2


class RemoteStub(object):
    """The game server implements a Remote service that allows you to control the game flow.
    This service may help you to control or watch the game during training sessions.
    The game server only offers this service on debug mode on.
    """

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

        Args:
            channel: A grpc.Channel.
        """
        self.PauseOrResume = channel.unary_unary(
                '/lugo.Remote/PauseOrResume',
                request_serializer=remote__pb2.PauseResumeRequest.SerializeToString,
                response_deserializer=remote__pb2.CommandResponse.FromString,
                )
        self.NextTurn = channel.unary_unary(
                '/lugo.Remote/NextTurn',
                request_serializer=remote__pb2.NextTurnRequest.SerializeToString,
                response_deserializer=remote__pb2.CommandResponse.FromString,
                )
        self.NextOrder = channel.unary_unary(
                '/lugo.Remote/NextOrder',
                request_serializer=remote__pb2.NextOrderRequest.SerializeToString,
                response_deserializer=remote__pb2.CommandResponse.FromString,
                )
        self.SetBallProperties = channel.unary_unary(
                '/lugo.Remote/SetBallProperties',
                request_serializer=remote__pb2.BallProperties.SerializeToString,
                response_deserializer=remote__pb2.CommandResponse.FromString,
                )
        self.SetPlayerProperties = channel.unary_unary(
                '/lugo.Remote/SetPlayerProperties',
                request_serializer=remote__pb2.PlayerProperties.SerializeToString,
                response_deserializer=remote__pb2.CommandResponse.FromString,
                )
        self.SetGameProperties = channel.unary_unary(
                '/lugo.Remote/SetGameProperties',
                request_serializer=remote__pb2.GameProperties.SerializeToString,
                response_deserializer=remote__pb2.CommandResponse.FromString,
                )
        self.ResumeListeningPhase = channel.unary_unary(
                '/lugo.Remote/ResumeListeningPhase',
                request_serializer=remote__pb2.ResumeListeningRequest.SerializeToString,
                response_deserializer=remote__pb2.ResumeListeningResponse.FromString,
                )


class RemoteServicer(object):
    """The game server implements a Remote service that allows you to control the game flow.
    This service may help you to control or watch the game during training sessions.
    The game server only offers this service on debug mode on.
    """

    def PauseOrResume(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 NextTurn(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 NextOrder(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 SetBallProperties(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 SetPlayerProperties(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 SetGameProperties(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 ResumeListeningPhase(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_RemoteServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'PauseOrResume': grpc.unary_unary_rpc_method_handler(
                    servicer.PauseOrResume,
                    request_deserializer=remote__pb2.PauseResumeRequest.FromString,
                    response_serializer=remote__pb2.CommandResponse.SerializeToString,
            ),
            'NextTurn': grpc.unary_unary_rpc_method_handler(
                    servicer.NextTurn,
                    request_deserializer=remote__pb2.NextTurnRequest.FromString,
                    response_serializer=remote__pb2.CommandResponse.SerializeToString,
            ),
            'NextOrder': grpc.unary_unary_rpc_method_handler(
                    servicer.NextOrder,
                    request_deserializer=remote__pb2.NextOrderRequest.FromString,
                    response_serializer=remote__pb2.CommandResponse.SerializeToString,
            ),
            'SetBallProperties': grpc.unary_unary_rpc_method_handler(
                    servicer.SetBallProperties,
                    request_deserializer=remote__pb2.BallProperties.FromString,
                    response_serializer=remote__pb2.CommandResponse.SerializeToString,
            ),
            'SetPlayerProperties': grpc.unary_unary_rpc_method_handler(
                    servicer.SetPlayerProperties,
                    request_deserializer=remote__pb2.PlayerProperties.FromString,
                    response_serializer=remote__pb2.CommandResponse.SerializeToString,
            ),
            'SetGameProperties': grpc.unary_unary_rpc_method_handler(
                    servicer.SetGameProperties,
                    request_deserializer=remote__pb2.GameProperties.FromString,
                    response_serializer=remote__pb2.CommandResponse.SerializeToString,
            ),
            'ResumeListeningPhase': grpc.unary_unary_rpc_method_handler(
                    servicer.ResumeListeningPhase,
                    request_deserializer=remote__pb2.ResumeListeningRequest.FromString,
                    response_serializer=remote__pb2.ResumeListeningResponse.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'lugo.Remote', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))


 # This class is part of an EXPERIMENTAL API.
class Remote(object):
    """The game server implements a Remote service that allows you to control the game flow.
    This service may help you to control or watch the game during training sessions.
    The game server only offers this service on debug mode on.
    """

    @staticmethod
    def PauseOrResume(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, '/lugo.Remote/PauseOrResume',
            remote__pb2.PauseResumeRequest.SerializeToString,
            remote__pb2.CommandResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def NextTurn(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, '/lugo.Remote/NextTurn',
            remote__pb2.NextTurnRequest.SerializeToString,
            remote__pb2.CommandResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def NextOrder(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, '/lugo.Remote/NextOrder',
            remote__pb2.NextOrderRequest.SerializeToString,
            remote__pb2.CommandResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def SetBallProperties(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, '/lugo.Remote/SetBallProperties',
            remote__pb2.BallProperties.SerializeToString,
            remote__pb2.CommandResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def SetPlayerProperties(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, '/lugo.Remote/SetPlayerProperties',
            remote__pb2.PlayerProperties.SerializeToString,
            remote__pb2.CommandResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def SetGameProperties(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, '/lugo.Remote/SetGameProperties',
            remote__pb2.GameProperties.SerializeToString,
            remote__pb2.CommandResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ResumeListeningPhase(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, '/lugo.Remote/ResumeListeningPhase',
            remote__pb2.ResumeListeningRequest.SerializeToString,
            remote__pb2.ResumeListeningResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
