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

import Definitions_pb2 as Definitions__pb2
import Properties_pb2 as Properties__pb2


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

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

        Args:
            channel: A grpc.Channel.
        """
        self.GetAvailableProperties = channel.unary_unary(
                '/rips.Properties/GetAvailableProperties',
                request_serializer=Properties__pb2.AvailablePropertiesRequest.SerializeToString,
                response_deserializer=Properties__pb2.AvailableProperties.FromString,
                )
        self.GetActiveCellProperty = channel.unary_stream(
                '/rips.Properties/GetActiveCellProperty',
                request_serializer=Properties__pb2.PropertyRequest.SerializeToString,
                response_deserializer=Properties__pb2.PropertyChunk.FromString,
                )
        self.GetSelectedCellProperty = channel.unary_stream(
                '/rips.Properties/GetSelectedCellProperty',
                request_serializer=Properties__pb2.PropertyRequest.SerializeToString,
                response_deserializer=Properties__pb2.PropertyChunk.FromString,
                )
        self.GetGridProperty = channel.unary_stream(
                '/rips.Properties/GetGridProperty',
                request_serializer=Properties__pb2.PropertyRequest.SerializeToString,
                response_deserializer=Properties__pb2.PropertyChunk.FromString,
                )
        self.SetActiveCellProperty = channel.stream_unary(
                '/rips.Properties/SetActiveCellProperty',
                request_serializer=Properties__pb2.PropertyInputChunk.SerializeToString,
                response_deserializer=Definitions__pb2.ClientToServerStreamReply.FromString,
                )
        self.SetGridProperty = channel.stream_unary(
                '/rips.Properties/SetGridProperty',
                request_serializer=Properties__pb2.PropertyInputChunk.SerializeToString,
                response_deserializer=Definitions__pb2.ClientToServerStreamReply.FromString,
                )


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

    def GetAvailableProperties(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 GetActiveCellProperty(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 GetSelectedCellProperty(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 GetGridProperty(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 SetActiveCellProperty(self, request_iterator, 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 SetGridProperty(self, request_iterator, 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_PropertiesServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'GetAvailableProperties': grpc.unary_unary_rpc_method_handler(
                    servicer.GetAvailableProperties,
                    request_deserializer=Properties__pb2.AvailablePropertiesRequest.FromString,
                    response_serializer=Properties__pb2.AvailableProperties.SerializeToString,
            ),
            'GetActiveCellProperty': grpc.unary_stream_rpc_method_handler(
                    servicer.GetActiveCellProperty,
                    request_deserializer=Properties__pb2.PropertyRequest.FromString,
                    response_serializer=Properties__pb2.PropertyChunk.SerializeToString,
            ),
            'GetSelectedCellProperty': grpc.unary_stream_rpc_method_handler(
                    servicer.GetSelectedCellProperty,
                    request_deserializer=Properties__pb2.PropertyRequest.FromString,
                    response_serializer=Properties__pb2.PropertyChunk.SerializeToString,
            ),
            'GetGridProperty': grpc.unary_stream_rpc_method_handler(
                    servicer.GetGridProperty,
                    request_deserializer=Properties__pb2.PropertyRequest.FromString,
                    response_serializer=Properties__pb2.PropertyChunk.SerializeToString,
            ),
            'SetActiveCellProperty': grpc.stream_unary_rpc_method_handler(
                    servicer.SetActiveCellProperty,
                    request_deserializer=Properties__pb2.PropertyInputChunk.FromString,
                    response_serializer=Definitions__pb2.ClientToServerStreamReply.SerializeToString,
            ),
            'SetGridProperty': grpc.stream_unary_rpc_method_handler(
                    servicer.SetGridProperty,
                    request_deserializer=Properties__pb2.PropertyInputChunk.FromString,
                    response_serializer=Definitions__pb2.ClientToServerStreamReply.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'rips.Properties', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))


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

    @staticmethod
    def GetAvailableProperties(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, '/rips.Properties/GetAvailableProperties',
            Properties__pb2.AvailablePropertiesRequest.SerializeToString,
            Properties__pb2.AvailableProperties.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetActiveCellProperty(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, '/rips.Properties/GetActiveCellProperty',
            Properties__pb2.PropertyRequest.SerializeToString,
            Properties__pb2.PropertyChunk.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetSelectedCellProperty(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, '/rips.Properties/GetSelectedCellProperty',
            Properties__pb2.PropertyRequest.SerializeToString,
            Properties__pb2.PropertyChunk.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetGridProperty(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, '/rips.Properties/GetGridProperty',
            Properties__pb2.PropertyRequest.SerializeToString,
            Properties__pb2.PropertyChunk.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def SetActiveCellProperty(request_iterator,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.stream_unary(request_iterator, target, '/rips.Properties/SetActiveCellProperty',
            Properties__pb2.PropertyInputChunk.SerializeToString,
            Definitions__pb2.ClientToServerStreamReply.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def SetGridProperty(request_iterator,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.stream_unary(request_iterator, target, '/rips.Properties/SetGridProperty',
            Properties__pb2.PropertyInputChunk.SerializeToString,
            Definitions__pb2.ClientToServerStreamReply.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
