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

from strmprivacy.api.projects.v1 import projects_v1_pb2 as strmprivacy_dot_api_dot_projects_dot_v1_dot_projects__v1__pb2


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

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

        Args:
            channel: A grpc.Channel.
        """
        self.ListProjects = channel.unary_unary(
                '/strmprivacy.api.projects.v1.ProjectsService/ListProjects',
                request_serializer=strmprivacy_dot_api_dot_projects_dot_v1_dot_projects__v1__pb2.ListProjectsRequest.SerializeToString,
                response_deserializer=strmprivacy_dot_api_dot_projects_dot_v1_dot_projects__v1__pb2.ListProjectsResponse.FromString,
                )
        self.CreateProject = channel.unary_unary(
                '/strmprivacy.api.projects.v1.ProjectsService/CreateProject',
                request_serializer=strmprivacy_dot_api_dot_projects_dot_v1_dot_projects__v1__pb2.CreateProjectRequest.SerializeToString,
                response_deserializer=strmprivacy_dot_api_dot_projects_dot_v1_dot_projects__v1__pb2.CreateProjectResponse.FromString,
                )
        self.DeleteProject = channel.unary_unary(
                '/strmprivacy.api.projects.v1.ProjectsService/DeleteProject',
                request_serializer=strmprivacy_dot_api_dot_projects_dot_v1_dot_projects__v1__pb2.DeleteProjectRequest.SerializeToString,
                response_deserializer=strmprivacy_dot_api_dot_projects_dot_v1_dot_projects__v1__pb2.DeleteProjectResponse.FromString,
                )
        self.GetProject = channel.unary_unary(
                '/strmprivacy.api.projects.v1.ProjectsService/GetProject',
                request_serializer=strmprivacy_dot_api_dot_projects_dot_v1_dot_projects__v1__pb2.GetProjectRequest.SerializeToString,
                response_deserializer=strmprivacy_dot_api_dot_projects_dot_v1_dot_projects__v1__pb2.GetProjectResponse.FromString,
                )
        self.AddProjectMembers = channel.unary_unary(
                '/strmprivacy.api.projects.v1.ProjectsService/AddProjectMembers',
                request_serializer=strmprivacy_dot_api_dot_projects_dot_v1_dot_projects__v1__pb2.AddProjectMembersRequest.SerializeToString,
                response_deserializer=strmprivacy_dot_api_dot_projects_dot_v1_dot_projects__v1__pb2.AddProjectMembersResponse.FromString,
                )
        self.RemoveProjectMembers = channel.unary_unary(
                '/strmprivacy.api.projects.v1.ProjectsService/RemoveProjectMembers',
                request_serializer=strmprivacy_dot_api_dot_projects_dot_v1_dot_projects__v1__pb2.RemoveProjectMembersRequest.SerializeToString,
                response_deserializer=strmprivacy_dot_api_dot_projects_dot_v1_dot_projects__v1__pb2.RemoveProjectMembersResponse.FromString,
                )
        self.ListProjectMembers = channel.unary_unary(
                '/strmprivacy.api.projects.v1.ProjectsService/ListProjectMembers',
                request_serializer=strmprivacy_dot_api_dot_projects_dot_v1_dot_projects__v1__pb2.ListProjectMembersRequest.SerializeToString,
                response_deserializer=strmprivacy_dot_api_dot_projects_dot_v1_dot_projects__v1__pb2.ListProjectMembersResponse.FromString,
                )


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

    def ListProjects(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 CreateProject(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 DeleteProject(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 GetProject(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 AddProjectMembers(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 RemoveProjectMembers(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 ListProjectMembers(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_ProjectsServiceServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'ListProjects': grpc.unary_unary_rpc_method_handler(
                    servicer.ListProjects,
                    request_deserializer=strmprivacy_dot_api_dot_projects_dot_v1_dot_projects__v1__pb2.ListProjectsRequest.FromString,
                    response_serializer=strmprivacy_dot_api_dot_projects_dot_v1_dot_projects__v1__pb2.ListProjectsResponse.SerializeToString,
            ),
            'CreateProject': grpc.unary_unary_rpc_method_handler(
                    servicer.CreateProject,
                    request_deserializer=strmprivacy_dot_api_dot_projects_dot_v1_dot_projects__v1__pb2.CreateProjectRequest.FromString,
                    response_serializer=strmprivacy_dot_api_dot_projects_dot_v1_dot_projects__v1__pb2.CreateProjectResponse.SerializeToString,
            ),
            'DeleteProject': grpc.unary_unary_rpc_method_handler(
                    servicer.DeleteProject,
                    request_deserializer=strmprivacy_dot_api_dot_projects_dot_v1_dot_projects__v1__pb2.DeleteProjectRequest.FromString,
                    response_serializer=strmprivacy_dot_api_dot_projects_dot_v1_dot_projects__v1__pb2.DeleteProjectResponse.SerializeToString,
            ),
            'GetProject': grpc.unary_unary_rpc_method_handler(
                    servicer.GetProject,
                    request_deserializer=strmprivacy_dot_api_dot_projects_dot_v1_dot_projects__v1__pb2.GetProjectRequest.FromString,
                    response_serializer=strmprivacy_dot_api_dot_projects_dot_v1_dot_projects__v1__pb2.GetProjectResponse.SerializeToString,
            ),
            'AddProjectMembers': grpc.unary_unary_rpc_method_handler(
                    servicer.AddProjectMembers,
                    request_deserializer=strmprivacy_dot_api_dot_projects_dot_v1_dot_projects__v1__pb2.AddProjectMembersRequest.FromString,
                    response_serializer=strmprivacy_dot_api_dot_projects_dot_v1_dot_projects__v1__pb2.AddProjectMembersResponse.SerializeToString,
            ),
            'RemoveProjectMembers': grpc.unary_unary_rpc_method_handler(
                    servicer.RemoveProjectMembers,
                    request_deserializer=strmprivacy_dot_api_dot_projects_dot_v1_dot_projects__v1__pb2.RemoveProjectMembersRequest.FromString,
                    response_serializer=strmprivacy_dot_api_dot_projects_dot_v1_dot_projects__v1__pb2.RemoveProjectMembersResponse.SerializeToString,
            ),
            'ListProjectMembers': grpc.unary_unary_rpc_method_handler(
                    servicer.ListProjectMembers,
                    request_deserializer=strmprivacy_dot_api_dot_projects_dot_v1_dot_projects__v1__pb2.ListProjectMembersRequest.FromString,
                    response_serializer=strmprivacy_dot_api_dot_projects_dot_v1_dot_projects__v1__pb2.ListProjectMembersResponse.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'strmprivacy.api.projects.v1.ProjectsService', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))


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

    @staticmethod
    def ListProjects(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, '/strmprivacy.api.projects.v1.ProjectsService/ListProjects',
            strmprivacy_dot_api_dot_projects_dot_v1_dot_projects__v1__pb2.ListProjectsRequest.SerializeToString,
            strmprivacy_dot_api_dot_projects_dot_v1_dot_projects__v1__pb2.ListProjectsResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CreateProject(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, '/strmprivacy.api.projects.v1.ProjectsService/CreateProject',
            strmprivacy_dot_api_dot_projects_dot_v1_dot_projects__v1__pb2.CreateProjectRequest.SerializeToString,
            strmprivacy_dot_api_dot_projects_dot_v1_dot_projects__v1__pb2.CreateProjectResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def DeleteProject(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, '/strmprivacy.api.projects.v1.ProjectsService/DeleteProject',
            strmprivacy_dot_api_dot_projects_dot_v1_dot_projects__v1__pb2.DeleteProjectRequest.SerializeToString,
            strmprivacy_dot_api_dot_projects_dot_v1_dot_projects__v1__pb2.DeleteProjectResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetProject(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, '/strmprivacy.api.projects.v1.ProjectsService/GetProject',
            strmprivacy_dot_api_dot_projects_dot_v1_dot_projects__v1__pb2.GetProjectRequest.SerializeToString,
            strmprivacy_dot_api_dot_projects_dot_v1_dot_projects__v1__pb2.GetProjectResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def AddProjectMembers(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, '/strmprivacy.api.projects.v1.ProjectsService/AddProjectMembers',
            strmprivacy_dot_api_dot_projects_dot_v1_dot_projects__v1__pb2.AddProjectMembersRequest.SerializeToString,
            strmprivacy_dot_api_dot_projects_dot_v1_dot_projects__v1__pb2.AddProjectMembersResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def RemoveProjectMembers(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, '/strmprivacy.api.projects.v1.ProjectsService/RemoveProjectMembers',
            strmprivacy_dot_api_dot_projects_dot_v1_dot_projects__v1__pb2.RemoveProjectMembersRequest.SerializeToString,
            strmprivacy_dot_api_dot_projects_dot_v1_dot_projects__v1__pb2.RemoveProjectMembersResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListProjectMembers(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, '/strmprivacy.api.projects.v1.ProjectsService/ListProjectMembers',
            strmprivacy_dot_api_dot_projects_dot_v1_dot_projects__v1__pb2.ListProjectMembersRequest.SerializeToString,
            strmprivacy_dot_api_dot_projects_dot_v1_dot_projects__v1__pb2.ListProjectMembersResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
