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

from . import image_pb2 as image__pb2
from . import log_pb2 as log__pb2


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

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

        Args:
            channel: A grpc.Channel.
        """
        self.ImportImage = channel.unary_stream(
                '/batchx.image.ImageService/ImportImage',
                request_serializer=image__pb2.ImportImageRequest.SerializeToString,
                response_deserializer=log__pb2.LogRecord.FromString,
                )
        self.GetPushCredentials = channel.unary_unary(
                '/batchx.image.ImageService/GetPushCredentials',
                request_serializer=image__pb2.GetPushCredentialsRequest.SerializeToString,
                response_deserializer=image__pb2.GetPushCredentialsResponse.FromString,
                )
        self.ListImages = channel.unary_unary(
                '/batchx.image.ImageService/ListImages',
                request_serializer=image__pb2.ListImagesRequest.SerializeToString,
                response_deserializer=image__pb2.ListImagesResponse.FromString,
                )
        self.SearchImages = channel.unary_unary(
                '/batchx.image.ImageService/SearchImages',
                request_serializer=image__pb2.SearchImagesRequest.SerializeToString,
                response_deserializer=image__pb2.SearchImagesResponse.FromString,
                )
        self.GetImage = channel.unary_unary(
                '/batchx.image.ImageService/GetImage',
                request_serializer=image__pb2.GetImageRequest.SerializeToString,
                response_deserializer=image__pb2.GetImageResponse.FromString,
                )
        self.ShareImage = channel.unary_unary(
                '/batchx.image.ImageService/ShareImage',
                request_serializer=image__pb2.ShareImageRequest.SerializeToString,
                response_deserializer=image__pb2.ShareImageResponse.FromString,
                )
        self.CloneImage = channel.unary_unary(
                '/batchx.image.ImageService/CloneImage',
                request_serializer=image__pb2.CloneImageRequest.SerializeToString,
                response_deserializer=image__pb2.CloneImageResponse.FromString,
                )
        self.DeleteImage = channel.unary_stream(
                '/batchx.image.ImageService/DeleteImage',
                request_serializer=image__pb2.DeleteImageRequest.SerializeToString,
                response_deserializer=log__pb2.LogRecord.FromString,
                )
        self.TagImage = channel.unary_unary(
                '/batchx.image.ImageService/TagImage',
                request_serializer=image__pb2.TagImageRequest.SerializeToString,
                response_deserializer=image__pb2.TagImageResponse.FromString,
                )
        self.AreImageExamplesCloned = channel.unary_unary(
                '/batchx.image.ImageService/AreImageExamplesCloned',
                request_serializer=image__pb2.AreImageExamplesClonedRequest.SerializeToString,
                response_deserializer=image__pb2.AreImageExamplesClonedResponse.FromString,
                )
        self.CloneImageExamples = channel.unary_unary(
                '/batchx.image.ImageService/CloneImageExamples',
                request_serializer=image__pb2.CloneImageExamplesRequest.SerializeToString,
                response_deserializer=image__pb2.CloneImageExamplesResponse.FromString,
                )
        self.ListImageExamples = channel.unary_unary(
                '/batchx.image.ImageService/ListImageExamples',
                request_serializer=image__pb2.ListImageExamplesRequest.SerializeToString,
                response_deserializer=image__pb2.ListImageExamplesResponse.FromString,
                )
        self.SetImageExample = channel.unary_unary(
                '/batchx.image.ImageService/SetImageExample',
                request_serializer=image__pb2.SetImageExampleRequest.SerializeToString,
                response_deserializer=image__pb2.SetImageExampleResponse.FromString,
                )
        self.RemoveImageExample = channel.unary_unary(
                '/batchx.image.ImageService/RemoveImageExample',
                request_serializer=image__pb2.RemoveImageExampleRequest.SerializeToString,
                response_deserializer=image__pb2.RemoveImageExampleResponse.FromString,
                )


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

    def ImportImage(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 GetPushCredentials(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 ListImages(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 SearchImages(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 GetImage(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 ShareImage(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 CloneImage(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 DeleteImage(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 TagImage(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 AreImageExamplesCloned(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 CloneImageExamples(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 ListImageExamples(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 SetImageExample(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 RemoveImageExample(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_ImageServiceServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'ImportImage': grpc.unary_stream_rpc_method_handler(
                    servicer.ImportImage,
                    request_deserializer=image__pb2.ImportImageRequest.FromString,
                    response_serializer=log__pb2.LogRecord.SerializeToString,
            ),
            'GetPushCredentials': grpc.unary_unary_rpc_method_handler(
                    servicer.GetPushCredentials,
                    request_deserializer=image__pb2.GetPushCredentialsRequest.FromString,
                    response_serializer=image__pb2.GetPushCredentialsResponse.SerializeToString,
            ),
            'ListImages': grpc.unary_unary_rpc_method_handler(
                    servicer.ListImages,
                    request_deserializer=image__pb2.ListImagesRequest.FromString,
                    response_serializer=image__pb2.ListImagesResponse.SerializeToString,
            ),
            'SearchImages': grpc.unary_unary_rpc_method_handler(
                    servicer.SearchImages,
                    request_deserializer=image__pb2.SearchImagesRequest.FromString,
                    response_serializer=image__pb2.SearchImagesResponse.SerializeToString,
            ),
            'GetImage': grpc.unary_unary_rpc_method_handler(
                    servicer.GetImage,
                    request_deserializer=image__pb2.GetImageRequest.FromString,
                    response_serializer=image__pb2.GetImageResponse.SerializeToString,
            ),
            'ShareImage': grpc.unary_unary_rpc_method_handler(
                    servicer.ShareImage,
                    request_deserializer=image__pb2.ShareImageRequest.FromString,
                    response_serializer=image__pb2.ShareImageResponse.SerializeToString,
            ),
            'CloneImage': grpc.unary_unary_rpc_method_handler(
                    servicer.CloneImage,
                    request_deserializer=image__pb2.CloneImageRequest.FromString,
                    response_serializer=image__pb2.CloneImageResponse.SerializeToString,
            ),
            'DeleteImage': grpc.unary_stream_rpc_method_handler(
                    servicer.DeleteImage,
                    request_deserializer=image__pb2.DeleteImageRequest.FromString,
                    response_serializer=log__pb2.LogRecord.SerializeToString,
            ),
            'TagImage': grpc.unary_unary_rpc_method_handler(
                    servicer.TagImage,
                    request_deserializer=image__pb2.TagImageRequest.FromString,
                    response_serializer=image__pb2.TagImageResponse.SerializeToString,
            ),
            'AreImageExamplesCloned': grpc.unary_unary_rpc_method_handler(
                    servicer.AreImageExamplesCloned,
                    request_deserializer=image__pb2.AreImageExamplesClonedRequest.FromString,
                    response_serializer=image__pb2.AreImageExamplesClonedResponse.SerializeToString,
            ),
            'CloneImageExamples': grpc.unary_unary_rpc_method_handler(
                    servicer.CloneImageExamples,
                    request_deserializer=image__pb2.CloneImageExamplesRequest.FromString,
                    response_serializer=image__pb2.CloneImageExamplesResponse.SerializeToString,
            ),
            'ListImageExamples': grpc.unary_unary_rpc_method_handler(
                    servicer.ListImageExamples,
                    request_deserializer=image__pb2.ListImageExamplesRequest.FromString,
                    response_serializer=image__pb2.ListImageExamplesResponse.SerializeToString,
            ),
            'SetImageExample': grpc.unary_unary_rpc_method_handler(
                    servicer.SetImageExample,
                    request_deserializer=image__pb2.SetImageExampleRequest.FromString,
                    response_serializer=image__pb2.SetImageExampleResponse.SerializeToString,
            ),
            'RemoveImageExample': grpc.unary_unary_rpc_method_handler(
                    servicer.RemoveImageExample,
                    request_deserializer=image__pb2.RemoveImageExampleRequest.FromString,
                    response_serializer=image__pb2.RemoveImageExampleResponse.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'batchx.image.ImageService', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))


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

    @staticmethod
    def ImportImage(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, '/batchx.image.ImageService/ImportImage',
            image__pb2.ImportImageRequest.SerializeToString,
            log__pb2.LogRecord.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetPushCredentials(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, '/batchx.image.ImageService/GetPushCredentials',
            image__pb2.GetPushCredentialsRequest.SerializeToString,
            image__pb2.GetPushCredentialsResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListImages(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, '/batchx.image.ImageService/ListImages',
            image__pb2.ListImagesRequest.SerializeToString,
            image__pb2.ListImagesResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def SearchImages(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, '/batchx.image.ImageService/SearchImages',
            image__pb2.SearchImagesRequest.SerializeToString,
            image__pb2.SearchImagesResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetImage(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, '/batchx.image.ImageService/GetImage',
            image__pb2.GetImageRequest.SerializeToString,
            image__pb2.GetImageResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ShareImage(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, '/batchx.image.ImageService/ShareImage',
            image__pb2.ShareImageRequest.SerializeToString,
            image__pb2.ShareImageResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CloneImage(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, '/batchx.image.ImageService/CloneImage',
            image__pb2.CloneImageRequest.SerializeToString,
            image__pb2.CloneImageResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def DeleteImage(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, '/batchx.image.ImageService/DeleteImage',
            image__pb2.DeleteImageRequest.SerializeToString,
            log__pb2.LogRecord.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def TagImage(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, '/batchx.image.ImageService/TagImage',
            image__pb2.TagImageRequest.SerializeToString,
            image__pb2.TagImageResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def AreImageExamplesCloned(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, '/batchx.image.ImageService/AreImageExamplesCloned',
            image__pb2.AreImageExamplesClonedRequest.SerializeToString,
            image__pb2.AreImageExamplesClonedResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CloneImageExamples(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, '/batchx.image.ImageService/CloneImageExamples',
            image__pb2.CloneImageExamplesRequest.SerializeToString,
            image__pb2.CloneImageExamplesResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListImageExamples(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, '/batchx.image.ImageService/ListImageExamples',
            image__pb2.ListImageExamplesRequest.SerializeToString,
            image__pb2.ListImageExamplesResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def SetImageExample(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, '/batchx.image.ImageService/SetImageExample',
            image__pb2.SetImageExampleRequest.SerializeToString,
            image__pb2.SetImageExampleResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def RemoveImageExample(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, '/batchx.image.ImageService/RemoveImageExample',
            image__pb2.RemoveImageExampleRequest.SerializeToString,
            image__pb2.RemoveImageExampleResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
