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

from github.com.metaprov.modelaapi.services.todo.v1 import todo_pb2 as github_dot_com_dot_metaprov_dot_modelaapi_dot_services_dot_todo_dot_v1_dot_todo__pb2


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

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

        Args:
            channel: A grpc.Channel.
        """
        self.ListTodos = channel.unary_unary(
                '/github.com.metaprov.modelaapi.services.todo.v1.TodoService/ListTodos',
                request_serializer=github_dot_com_dot_metaprov_dot_modelaapi_dot_services_dot_todo_dot_v1_dot_todo__pb2.ListTodosRequest.SerializeToString,
                response_deserializer=github_dot_com_dot_metaprov_dot_modelaapi_dot_services_dot_todo_dot_v1_dot_todo__pb2.ListTodosResponse.FromString,
                )
        self.CreateTodo = channel.unary_unary(
                '/github.com.metaprov.modelaapi.services.todo.v1.TodoService/CreateTodo',
                request_serializer=github_dot_com_dot_metaprov_dot_modelaapi_dot_services_dot_todo_dot_v1_dot_todo__pb2.CreateTodoRequest.SerializeToString,
                response_deserializer=github_dot_com_dot_metaprov_dot_modelaapi_dot_services_dot_todo_dot_v1_dot_todo__pb2.CreateTodoResponse.FromString,
                )
        self.GetTodo = channel.unary_unary(
                '/github.com.metaprov.modelaapi.services.todo.v1.TodoService/GetTodo',
                request_serializer=github_dot_com_dot_metaprov_dot_modelaapi_dot_services_dot_todo_dot_v1_dot_todo__pb2.GetTodoRequest.SerializeToString,
                response_deserializer=github_dot_com_dot_metaprov_dot_modelaapi_dot_services_dot_todo_dot_v1_dot_todo__pb2.GetTodoResponse.FromString,
                )
        self.UpdateTodo = channel.unary_unary(
                '/github.com.metaprov.modelaapi.services.todo.v1.TodoService/UpdateTodo',
                request_serializer=github_dot_com_dot_metaprov_dot_modelaapi_dot_services_dot_todo_dot_v1_dot_todo__pb2.UpdateTodoRequest.SerializeToString,
                response_deserializer=github_dot_com_dot_metaprov_dot_modelaapi_dot_services_dot_todo_dot_v1_dot_todo__pb2.UpdateTodoResponse.FromString,
                )
        self.DeleteTodo = channel.unary_unary(
                '/github.com.metaprov.modelaapi.services.todo.v1.TodoService/DeleteTodo',
                request_serializer=github_dot_com_dot_metaprov_dot_modelaapi_dot_services_dot_todo_dot_v1_dot_todo__pb2.DeleteTodoRequest.SerializeToString,
                response_deserializer=github_dot_com_dot_metaprov_dot_modelaapi_dot_services_dot_todo_dot_v1_dot_todo__pb2.DeleteTodoResponse.FromString,
                )


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

    def ListTodos(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 CreateTodo(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 GetTodo(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 UpdateTodo(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 DeleteTodo(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_TodoServiceServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'ListTodos': grpc.unary_unary_rpc_method_handler(
                    servicer.ListTodos,
                    request_deserializer=github_dot_com_dot_metaprov_dot_modelaapi_dot_services_dot_todo_dot_v1_dot_todo__pb2.ListTodosRequest.FromString,
                    response_serializer=github_dot_com_dot_metaprov_dot_modelaapi_dot_services_dot_todo_dot_v1_dot_todo__pb2.ListTodosResponse.SerializeToString,
            ),
            'CreateTodo': grpc.unary_unary_rpc_method_handler(
                    servicer.CreateTodo,
                    request_deserializer=github_dot_com_dot_metaprov_dot_modelaapi_dot_services_dot_todo_dot_v1_dot_todo__pb2.CreateTodoRequest.FromString,
                    response_serializer=github_dot_com_dot_metaprov_dot_modelaapi_dot_services_dot_todo_dot_v1_dot_todo__pb2.CreateTodoResponse.SerializeToString,
            ),
            'GetTodo': grpc.unary_unary_rpc_method_handler(
                    servicer.GetTodo,
                    request_deserializer=github_dot_com_dot_metaprov_dot_modelaapi_dot_services_dot_todo_dot_v1_dot_todo__pb2.GetTodoRequest.FromString,
                    response_serializer=github_dot_com_dot_metaprov_dot_modelaapi_dot_services_dot_todo_dot_v1_dot_todo__pb2.GetTodoResponse.SerializeToString,
            ),
            'UpdateTodo': grpc.unary_unary_rpc_method_handler(
                    servicer.UpdateTodo,
                    request_deserializer=github_dot_com_dot_metaprov_dot_modelaapi_dot_services_dot_todo_dot_v1_dot_todo__pb2.UpdateTodoRequest.FromString,
                    response_serializer=github_dot_com_dot_metaprov_dot_modelaapi_dot_services_dot_todo_dot_v1_dot_todo__pb2.UpdateTodoResponse.SerializeToString,
            ),
            'DeleteTodo': grpc.unary_unary_rpc_method_handler(
                    servicer.DeleteTodo,
                    request_deserializer=github_dot_com_dot_metaprov_dot_modelaapi_dot_services_dot_todo_dot_v1_dot_todo__pb2.DeleteTodoRequest.FromString,
                    response_serializer=github_dot_com_dot_metaprov_dot_modelaapi_dot_services_dot_todo_dot_v1_dot_todo__pb2.DeleteTodoResponse.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'github.com.metaprov.modelaapi.services.todo.v1.TodoService', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))


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

    @staticmethod
    def ListTodos(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, '/github.com.metaprov.modelaapi.services.todo.v1.TodoService/ListTodos',
            github_dot_com_dot_metaprov_dot_modelaapi_dot_services_dot_todo_dot_v1_dot_todo__pb2.ListTodosRequest.SerializeToString,
            github_dot_com_dot_metaprov_dot_modelaapi_dot_services_dot_todo_dot_v1_dot_todo__pb2.ListTodosResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CreateTodo(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, '/github.com.metaprov.modelaapi.services.todo.v1.TodoService/CreateTodo',
            github_dot_com_dot_metaprov_dot_modelaapi_dot_services_dot_todo_dot_v1_dot_todo__pb2.CreateTodoRequest.SerializeToString,
            github_dot_com_dot_metaprov_dot_modelaapi_dot_services_dot_todo_dot_v1_dot_todo__pb2.CreateTodoResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetTodo(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, '/github.com.metaprov.modelaapi.services.todo.v1.TodoService/GetTodo',
            github_dot_com_dot_metaprov_dot_modelaapi_dot_services_dot_todo_dot_v1_dot_todo__pb2.GetTodoRequest.SerializeToString,
            github_dot_com_dot_metaprov_dot_modelaapi_dot_services_dot_todo_dot_v1_dot_todo__pb2.GetTodoResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def UpdateTodo(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, '/github.com.metaprov.modelaapi.services.todo.v1.TodoService/UpdateTodo',
            github_dot_com_dot_metaprov_dot_modelaapi_dot_services_dot_todo_dot_v1_dot_todo__pb2.UpdateTodoRequest.SerializeToString,
            github_dot_com_dot_metaprov_dot_modelaapi_dot_services_dot_todo_dot_v1_dot_todo__pb2.UpdateTodoResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def DeleteTodo(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, '/github.com.metaprov.modelaapi.services.todo.v1.TodoService/DeleteTodo',
            github_dot_com_dot_metaprov_dot_modelaapi_dot_services_dot_todo_dot_v1_dot_todo__pb2.DeleteTodoRequest.SerializeToString,
            github_dot_com_dot_metaprov_dot_modelaapi_dot_services_dot_todo_dot_v1_dot_todo__pb2.DeleteTodoResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
