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

from queryservice_client.protobuf.common import verify_pb2 as common_dot_verify__pb2
from fs import fs_profiling_pb2 as fs_dot_fs__profiling__pb2
from fs import mde_pb2 as fs_dot_mde__pb2
from fs import volume_check_pb2 as fs_dot_volume__check__pb2
from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2


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

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

        Args:
            channel: A grpc.Channel.
        """
        self.ConfigurationVerification = channel.unary_unary(
                '/fs.FileSystem/ConfigurationVerification',
                request_serializer=common_dot_verify__pb2.Request.SerializeToString,
                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
                )
        self.FilterExtraction = channel.unary_stream(
                '/fs.FileSystem/FilterExtraction',
                request_serializer=fs_dot_mde__pb2.FilterExtractionRequest.SerializeToString,
                response_deserializer=fs_dot_mde__pb2.FilterExtractionResponse.FromString,
                )
        self.MetadataExtraction = channel.unary_stream(
                '/fs.FileSystem/MetadataExtraction',
                request_serializer=fs_dot_mde__pb2.MetadataExtractionRequest.SerializeToString,
                response_deserializer=fs_dot_mde__pb2.MetadataExtractionResponse.FromString,
                )
        self.ColumnExtraction = channel.unary_stream(
                '/fs.FileSystem/ColumnExtraction',
                request_serializer=fs_dot_mde__pb2.MetadataExtractionRequest.SerializeToString,
                response_deserializer=fs_dot_mde__pb2.ColumnExtractionResponse.FromString,
                )
        self.FileProfiling = channel.unary_stream(
                '/fs.FileSystem/FileProfiling',
                request_serializer=fs_dot_fs__profiling__pb2.FileProfilingRequest.SerializeToString,
                response_deserializer=fs_dot_fs__profiling__pb2.FileProfilingResponse.FromString,
                )
        self.VolumeCheck = channel.unary_stream(
                '/fs.FileSystem/VolumeCheck',
                request_serializer=fs_dot_volume__check__pb2.VolumeCheckRequest.SerializeToString,
                response_deserializer=fs_dot_volume__check__pb2.VolumeCheckResponse.FromString,
                )


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

    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 FilterExtraction(self, request, context):
        """Run extraction to fetch list of filters. Optional based on application configuration.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def MetadataExtraction(self, request, context):
        """Run full or selective extraction based on filters.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

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

    def FileProfiling(self, request, context):
        """Run Profiling on file.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def VolumeCheck(self, request, context):
        """Run Volume Check on bucket(s)/container(s).
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')


def add_FileSystemServicer_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,
            ),
            'FilterExtraction': grpc.unary_stream_rpc_method_handler(
                    servicer.FilterExtraction,
                    request_deserializer=fs_dot_mde__pb2.FilterExtractionRequest.FromString,
                    response_serializer=fs_dot_mde__pb2.FilterExtractionResponse.SerializeToString,
            ),
            'MetadataExtraction': grpc.unary_stream_rpc_method_handler(
                    servicer.MetadataExtraction,
                    request_deserializer=fs_dot_mde__pb2.MetadataExtractionRequest.FromString,
                    response_serializer=fs_dot_mde__pb2.MetadataExtractionResponse.SerializeToString,
            ),
            'ColumnExtraction': grpc.unary_stream_rpc_method_handler(
                    servicer.ColumnExtraction,
                    request_deserializer=fs_dot_mde__pb2.MetadataExtractionRequest.FromString,
                    response_serializer=fs_dot_mde__pb2.ColumnExtractionResponse.SerializeToString,
            ),
            'FileProfiling': grpc.unary_stream_rpc_method_handler(
                    servicer.FileProfiling,
                    request_deserializer=fs_dot_fs__profiling__pb2.FileProfilingRequest.FromString,
                    response_serializer=fs_dot_fs__profiling__pb2.FileProfilingResponse.SerializeToString,
            ),
            'VolumeCheck': grpc.unary_stream_rpc_method_handler(
                    servicer.VolumeCheck,
                    request_deserializer=fs_dot_volume__check__pb2.VolumeCheckRequest.FromString,
                    response_serializer=fs_dot_volume__check__pb2.VolumeCheckResponse.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'fs.FileSystem', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))


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

    @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, '/fs.FileSystem/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 FilterExtraction(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, '/fs.FileSystem/FilterExtraction',
            fs_dot_mde__pb2.FilterExtractionRequest.SerializeToString,
            fs_dot_mde__pb2.FilterExtractionResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def MetadataExtraction(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, '/fs.FileSystem/MetadataExtraction',
            fs_dot_mde__pb2.MetadataExtractionRequest.SerializeToString,
            fs_dot_mde__pb2.MetadataExtractionResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ColumnExtraction(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, '/fs.FileSystem/ColumnExtraction',
            fs_dot_mde__pb2.MetadataExtractionRequest.SerializeToString,
            fs_dot_mde__pb2.ColumnExtractionResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def FileProfiling(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, '/fs.FileSystem/FileProfiling',
            fs_dot_fs__profiling__pb2.FileProfilingRequest.SerializeToString,
            fs_dot_fs__profiling__pb2.FileProfilingResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def VolumeCheck(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, '/fs.FileSystem/VolumeCheck',
            fs_dot_volume__check__pb2.VolumeCheckRequest.SerializeToString,
            fs_dot_volume__check__pb2.VolumeCheckResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
