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

from bi import certify_pb2 as bi_dot_certify__pb2
from bi import mde_pb2 as bi_dot_mde__pb2
from queryservice_client.protobuf.common import verify_pb2 as common_dot_verify__pb2
from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2


class BiStub(object):
    """Interface exported by the server.
    """

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

        Args:
            channel: A grpc.Channel.
        """
        self.ConfigurationVerification = channel.unary_unary(
                '/bi.Bi/ConfigurationVerification',
                request_serializer=common_dot_verify__pb2.Request.SerializeToString,
                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
                )
        self.ListFileSystem = channel.unary_stream(
                '/bi.Bi/ListFileSystem',
                request_serializer=bi_dot_mde__pb2.ListFileSystemRequest.SerializeToString,
                response_deserializer=bi_dot_mde__pb2.BIObjectResponse.FromString,
                )
        self.RunFullExtraction = channel.unary_stream(
                '/bi.Bi/RunFullExtraction',
                request_serializer=bi_dot_mde__pb2.RunFullExtractionRequest.SerializeToString,
                response_deserializer=bi_dot_mde__pb2.BIObjectResponse.FromString,
                )
        self.propagateCertification = channel.unary_stream(
                '/bi.Bi/propagateCertification',
                request_serializer=bi_dot_certify__pb2.PropagateCertificationRequest.SerializeToString,
                response_deserializer=bi_dot_mde__pb2.BIObjectResponse.FromString,
                )


class BiServicer(object):
    """Interface exported by the server.
    """

    def ConfigurationVerification(self, request, context):
        """Verify that the connector has been configured correctly.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ListFileSystem(self, request, context):
        """Return the BI Server folder structure.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def RunFullExtraction(self, request, context):
        """Run full metadata extraction.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def propagateCertification(self, request, context):
        """Certify or de-certify a BI object.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')


def add_BiServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'ConfigurationVerification': grpc.unary_unary_rpc_method_handler(
                    servicer.ConfigurationVerification,
                    request_deserializer=common_dot_verify__pb2.Request.FromString,
                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            ),
            'ListFileSystem': grpc.unary_stream_rpc_method_handler(
                    servicer.ListFileSystem,
                    request_deserializer=bi_dot_mde__pb2.ListFileSystemRequest.FromString,
                    response_serializer=bi_dot_mde__pb2.BIObjectResponse.SerializeToString,
            ),
            'RunFullExtraction': grpc.unary_stream_rpc_method_handler(
                    servicer.RunFullExtraction,
                    request_deserializer=bi_dot_mde__pb2.RunFullExtractionRequest.FromString,
                    response_serializer=bi_dot_mde__pb2.BIObjectResponse.SerializeToString,
            ),
            'propagateCertification': grpc.unary_stream_rpc_method_handler(
                    servicer.propagateCertification,
                    request_deserializer=bi_dot_certify__pb2.PropagateCertificationRequest.FromString,
                    response_serializer=bi_dot_mde__pb2.BIObjectResponse.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'bi.Bi', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))


 # This class is part of an EXPERIMENTAL API.
class Bi(object):
    """Interface exported by the server.
    """

    @staticmethod
    def ConfigurationVerification(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, '/bi.Bi/ConfigurationVerification',
            common_dot_verify__pb2.Request.SerializeToString,
            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListFileSystem(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_stream(request, target, '/bi.Bi/ListFileSystem',
            bi_dot_mde__pb2.ListFileSystemRequest.SerializeToString,
            bi_dot_mde__pb2.BIObjectResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def RunFullExtraction(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_stream(request, target, '/bi.Bi/RunFullExtraction',
            bi_dot_mde__pb2.RunFullExtractionRequest.SerializeToString,
            bi_dot_mde__pb2.BIObjectResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def propagateCertification(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_stream(request, target, '/bi.Bi/propagateCertification',
            bi_dot_certify__pb2.PropagateCertificationRequest.SerializeToString,
            bi_dot_mde__pb2.BIObjectResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
