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

from .....olvid.daemon.command.v1 import attachment_commands_pb2 as olvid_dot_daemon_dot_command_dot_v1_dot_attachment__commands__pb2
from .....olvid.daemon.command.v1 import call_commands_pb2 as olvid_dot_daemon_dot_command_dot_v1_dot_call__commands__pb2
from .....olvid.daemon.command.v1 import contact_commands_pb2 as olvid_dot_daemon_dot_command_dot_v1_dot_contact__commands__pb2
from .....olvid.daemon.command.v1 import discussion_commands_pb2 as olvid_dot_daemon_dot_command_dot_v1_dot_discussion__commands__pb2
from .....olvid.daemon.command.v1 import group_commands_pb2 as olvid_dot_daemon_dot_command_dot_v1_dot_group__commands__pb2
from .....olvid.daemon.command.v1 import identity_commands_pb2 as olvid_dot_daemon_dot_command_dot_v1_dot_identity__commands__pb2
from .....olvid.daemon.command.v1 import invitation_commands_pb2 as olvid_dot_daemon_dot_command_dot_v1_dot_invitation__commands__pb2
from .....olvid.daemon.command.v1 import keycloak_commands_pb2 as olvid_dot_daemon_dot_command_dot_v1_dot_keycloak__commands__pb2
from .....olvid.daemon.command.v1 import message_commands_pb2 as olvid_dot_daemon_dot_command_dot_v1_dot_message__commands__pb2
from .....olvid.daemon.command.v1 import settings_commands_pb2 as olvid_dot_daemon_dot_command_dot_v1_dot_settings__commands__pb2
from .....olvid.daemon.command.v1 import storage_commands_pb2 as olvid_dot_daemon_dot_command_dot_v1_dot_storage__commands__pb2
from .....olvid.daemon.command.v1 import tool_commands_pb2 as olvid_dot_daemon_dot_command_dot_v1_dot_tool__commands__pb2


class ToolCommandServiceStub(object):
    """Tools
    """

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

        Args:
            channel: A grpc.Channel.
        """
        self.Ping = channel.unary_unary(
                '/olvid.daemon.services.v1.ToolCommandService/Ping',
                request_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_tool__commands__pb2.PingRequest.SerializeToString,
                response_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_tool__commands__pb2.PingResponse.FromString,
                _registered_method=True)
        self.DaemonVersion = channel.unary_unary(
                '/olvid.daemon.services.v1.ToolCommandService/DaemonVersion',
                request_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_tool__commands__pb2.DaemonVersionRequest.SerializeToString,
                response_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_tool__commands__pb2.DaemonVersionResponse.FromString,
                _registered_method=True)
        self.AuthenticationTest = channel.unary_unary(
                '/olvid.daemon.services.v1.ToolCommandService/AuthenticationTest',
                request_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_tool__commands__pb2.AuthenticationTestRequest.SerializeToString,
                response_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_tool__commands__pb2.AuthenticationTestResponse.FromString,
                _registered_method=True)
        self.AuthenticationAdminTest = channel.unary_unary(
                '/olvid.daemon.services.v1.ToolCommandService/AuthenticationAdminTest',
                request_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_tool__commands__pb2.AuthenticationAdminTestRequest.SerializeToString,
                response_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_tool__commands__pb2.AuthenticationAdminTestResponse.FromString,
                _registered_method=True)


class ToolCommandServiceServicer(object):
    """Tools
    """

    def Ping(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 DaemonVersion(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 AuthenticationTest(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 AuthenticationAdminTest(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_ToolCommandServiceServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'Ping': grpc.unary_unary_rpc_method_handler(
                    servicer.Ping,
                    request_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_tool__commands__pb2.PingRequest.FromString,
                    response_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_tool__commands__pb2.PingResponse.SerializeToString,
            ),
            'DaemonVersion': grpc.unary_unary_rpc_method_handler(
                    servicer.DaemonVersion,
                    request_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_tool__commands__pb2.DaemonVersionRequest.FromString,
                    response_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_tool__commands__pb2.DaemonVersionResponse.SerializeToString,
            ),
            'AuthenticationTest': grpc.unary_unary_rpc_method_handler(
                    servicer.AuthenticationTest,
                    request_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_tool__commands__pb2.AuthenticationTestRequest.FromString,
                    response_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_tool__commands__pb2.AuthenticationTestResponse.SerializeToString,
            ),
            'AuthenticationAdminTest': grpc.unary_unary_rpc_method_handler(
                    servicer.AuthenticationAdminTest,
                    request_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_tool__commands__pb2.AuthenticationAdminTestRequest.FromString,
                    response_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_tool__commands__pb2.AuthenticationAdminTestResponse.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'olvid.daemon.services.v1.ToolCommandService', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))
    server.add_registered_method_handlers('olvid.daemon.services.v1.ToolCommandService', rpc_method_handlers)


 # This class is part of an EXPERIMENTAL API.
class ToolCommandService(object):
    """Tools
    """

    @staticmethod
    def Ping(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,
            '/olvid.daemon.services.v1.ToolCommandService/Ping',
            olvid_dot_daemon_dot_command_dot_v1_dot_tool__commands__pb2.PingRequest.SerializeToString,
            olvid_dot_daemon_dot_command_dot_v1_dot_tool__commands__pb2.PingResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def DaemonVersion(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,
            '/olvid.daemon.services.v1.ToolCommandService/DaemonVersion',
            olvid_dot_daemon_dot_command_dot_v1_dot_tool__commands__pb2.DaemonVersionRequest.SerializeToString,
            olvid_dot_daemon_dot_command_dot_v1_dot_tool__commands__pb2.DaemonVersionResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def AuthenticationTest(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,
            '/olvid.daemon.services.v1.ToolCommandService/AuthenticationTest',
            olvid_dot_daemon_dot_command_dot_v1_dot_tool__commands__pb2.AuthenticationTestRequest.SerializeToString,
            olvid_dot_daemon_dot_command_dot_v1_dot_tool__commands__pb2.AuthenticationTestResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def AuthenticationAdminTest(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,
            '/olvid.daemon.services.v1.ToolCommandService/AuthenticationAdminTest',
            olvid_dot_daemon_dot_command_dot_v1_dot_tool__commands__pb2.AuthenticationAdminTestRequest.SerializeToString,
            olvid_dot_daemon_dot_command_dot_v1_dot_tool__commands__pb2.AuthenticationAdminTestResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)


class IdentityCommandServiceStub(object):
    """Identity
    """

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

        Args:
            channel: A grpc.Channel.
        """
        self.IdentityGet = channel.unary_unary(
                '/olvid.daemon.services.v1.IdentityCommandService/IdentityGet',
                request_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_identity__commands__pb2.IdentityGetRequest.SerializeToString,
                response_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_identity__commands__pb2.IdentityGetResponse.FromString,
                _registered_method=True)
        self.IdentityGetBytesIdentifier = channel.unary_unary(
                '/olvid.daemon.services.v1.IdentityCommandService/IdentityGetBytesIdentifier',
                request_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_identity__commands__pb2.IdentityGetBytesIdentifierRequest.SerializeToString,
                response_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_identity__commands__pb2.IdentityGetBytesIdentifierResponse.FromString,
                _registered_method=True)
        self.IdentityGetInvitationLink = channel.unary_unary(
                '/olvid.daemon.services.v1.IdentityCommandService/IdentityGetInvitationLink',
                request_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_identity__commands__pb2.IdentityGetInvitationLinkRequest.SerializeToString,
                response_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_identity__commands__pb2.IdentityGetInvitationLinkResponse.FromString,
                _registered_method=True)
        self.IdentityUpdateDetails = channel.unary_unary(
                '/olvid.daemon.services.v1.IdentityCommandService/IdentityUpdateDetails',
                request_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_identity__commands__pb2.IdentityUpdateDetailsRequest.SerializeToString,
                response_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_identity__commands__pb2.IdentityUpdateDetailsResponse.FromString,
                _registered_method=True)
        self.IdentityRemovePhoto = channel.unary_unary(
                '/olvid.daemon.services.v1.IdentityCommandService/IdentityRemovePhoto',
                request_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_identity__commands__pb2.IdentityRemovePhotoRequest.SerializeToString,
                response_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_identity__commands__pb2.IdentityRemovePhotoResponse.FromString,
                _registered_method=True)
        self.IdentitySetPhoto = channel.stream_unary(
                '/olvid.daemon.services.v1.IdentityCommandService/IdentitySetPhoto',
                request_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_identity__commands__pb2.IdentitySetPhotoRequest.SerializeToString,
                response_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_identity__commands__pb2.IdentitySetPhotoResponse.FromString,
                _registered_method=True)
        self.IdentityDownloadPhoto = channel.unary_unary(
                '/olvid.daemon.services.v1.IdentityCommandService/IdentityDownloadPhoto',
                request_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_identity__commands__pb2.IdentityDownloadPhotoRequest.SerializeToString,
                response_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_identity__commands__pb2.IdentityDownloadPhotoResponse.FromString,
                _registered_method=True)
        self.IdentityGetApiKeyStatus = channel.unary_unary(
                '/olvid.daemon.services.v1.IdentityCommandService/IdentityGetApiKeyStatus',
                request_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_identity__commands__pb2.IdentityGetApiKeyStatusRequest.SerializeToString,
                response_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_identity__commands__pb2.IdentityGetApiKeyStatusResponse.FromString,
                _registered_method=True)
        self.IdentitySetApiKey = channel.unary_unary(
                '/olvid.daemon.services.v1.IdentityCommandService/IdentitySetApiKey',
                request_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_identity__commands__pb2.IdentitySetApiKeyRequest.SerializeToString,
                response_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_identity__commands__pb2.IdentitySetApiKeyResponse.FromString,
                _registered_method=True)
        self.IdentitySetConfigurationLink = channel.unary_unary(
                '/olvid.daemon.services.v1.IdentityCommandService/IdentitySetConfigurationLink',
                request_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_identity__commands__pb2.IdentitySetConfigurationLinkRequest.SerializeToString,
                response_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_identity__commands__pb2.IdentitySetConfigurationLinkResponse.FromString,
                _registered_method=True)


class IdentityCommandServiceServicer(object):
    """Identity
    """

    def IdentityGet(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 IdentityGetBytesIdentifier(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 IdentityGetInvitationLink(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 IdentityUpdateDetails(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 IdentityRemovePhoto(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 IdentitySetPhoto(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 IdentityDownloadPhoto(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 IdentityGetApiKeyStatus(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 IdentitySetApiKey(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 IdentitySetConfigurationLink(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_IdentityCommandServiceServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'IdentityGet': grpc.unary_unary_rpc_method_handler(
                    servicer.IdentityGet,
                    request_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_identity__commands__pb2.IdentityGetRequest.FromString,
                    response_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_identity__commands__pb2.IdentityGetResponse.SerializeToString,
            ),
            'IdentityGetBytesIdentifier': grpc.unary_unary_rpc_method_handler(
                    servicer.IdentityGetBytesIdentifier,
                    request_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_identity__commands__pb2.IdentityGetBytesIdentifierRequest.FromString,
                    response_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_identity__commands__pb2.IdentityGetBytesIdentifierResponse.SerializeToString,
            ),
            'IdentityGetInvitationLink': grpc.unary_unary_rpc_method_handler(
                    servicer.IdentityGetInvitationLink,
                    request_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_identity__commands__pb2.IdentityGetInvitationLinkRequest.FromString,
                    response_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_identity__commands__pb2.IdentityGetInvitationLinkResponse.SerializeToString,
            ),
            'IdentityUpdateDetails': grpc.unary_unary_rpc_method_handler(
                    servicer.IdentityUpdateDetails,
                    request_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_identity__commands__pb2.IdentityUpdateDetailsRequest.FromString,
                    response_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_identity__commands__pb2.IdentityUpdateDetailsResponse.SerializeToString,
            ),
            'IdentityRemovePhoto': grpc.unary_unary_rpc_method_handler(
                    servicer.IdentityRemovePhoto,
                    request_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_identity__commands__pb2.IdentityRemovePhotoRequest.FromString,
                    response_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_identity__commands__pb2.IdentityRemovePhotoResponse.SerializeToString,
            ),
            'IdentitySetPhoto': grpc.stream_unary_rpc_method_handler(
                    servicer.IdentitySetPhoto,
                    request_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_identity__commands__pb2.IdentitySetPhotoRequest.FromString,
                    response_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_identity__commands__pb2.IdentitySetPhotoResponse.SerializeToString,
            ),
            'IdentityDownloadPhoto': grpc.unary_unary_rpc_method_handler(
                    servicer.IdentityDownloadPhoto,
                    request_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_identity__commands__pb2.IdentityDownloadPhotoRequest.FromString,
                    response_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_identity__commands__pb2.IdentityDownloadPhotoResponse.SerializeToString,
            ),
            'IdentityGetApiKeyStatus': grpc.unary_unary_rpc_method_handler(
                    servicer.IdentityGetApiKeyStatus,
                    request_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_identity__commands__pb2.IdentityGetApiKeyStatusRequest.FromString,
                    response_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_identity__commands__pb2.IdentityGetApiKeyStatusResponse.SerializeToString,
            ),
            'IdentitySetApiKey': grpc.unary_unary_rpc_method_handler(
                    servicer.IdentitySetApiKey,
                    request_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_identity__commands__pb2.IdentitySetApiKeyRequest.FromString,
                    response_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_identity__commands__pb2.IdentitySetApiKeyResponse.SerializeToString,
            ),
            'IdentitySetConfigurationLink': grpc.unary_unary_rpc_method_handler(
                    servicer.IdentitySetConfigurationLink,
                    request_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_identity__commands__pb2.IdentitySetConfigurationLinkRequest.FromString,
                    response_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_identity__commands__pb2.IdentitySetConfigurationLinkResponse.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'olvid.daemon.services.v1.IdentityCommandService', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))
    server.add_registered_method_handlers('olvid.daemon.services.v1.IdentityCommandService', rpc_method_handlers)


 # This class is part of an EXPERIMENTAL API.
class IdentityCommandService(object):
    """Identity
    """

    @staticmethod
    def IdentityGet(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,
            '/olvid.daemon.services.v1.IdentityCommandService/IdentityGet',
            olvid_dot_daemon_dot_command_dot_v1_dot_identity__commands__pb2.IdentityGetRequest.SerializeToString,
            olvid_dot_daemon_dot_command_dot_v1_dot_identity__commands__pb2.IdentityGetResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def IdentityGetBytesIdentifier(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,
            '/olvid.daemon.services.v1.IdentityCommandService/IdentityGetBytesIdentifier',
            olvid_dot_daemon_dot_command_dot_v1_dot_identity__commands__pb2.IdentityGetBytesIdentifierRequest.SerializeToString,
            olvid_dot_daemon_dot_command_dot_v1_dot_identity__commands__pb2.IdentityGetBytesIdentifierResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def IdentityGetInvitationLink(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,
            '/olvid.daemon.services.v1.IdentityCommandService/IdentityGetInvitationLink',
            olvid_dot_daemon_dot_command_dot_v1_dot_identity__commands__pb2.IdentityGetInvitationLinkRequest.SerializeToString,
            olvid_dot_daemon_dot_command_dot_v1_dot_identity__commands__pb2.IdentityGetInvitationLinkResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def IdentityUpdateDetails(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,
            '/olvid.daemon.services.v1.IdentityCommandService/IdentityUpdateDetails',
            olvid_dot_daemon_dot_command_dot_v1_dot_identity__commands__pb2.IdentityUpdateDetailsRequest.SerializeToString,
            olvid_dot_daemon_dot_command_dot_v1_dot_identity__commands__pb2.IdentityUpdateDetailsResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def IdentityRemovePhoto(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,
            '/olvid.daemon.services.v1.IdentityCommandService/IdentityRemovePhoto',
            olvid_dot_daemon_dot_command_dot_v1_dot_identity__commands__pb2.IdentityRemovePhotoRequest.SerializeToString,
            olvid_dot_daemon_dot_command_dot_v1_dot_identity__commands__pb2.IdentityRemovePhotoResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def IdentitySetPhoto(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,
            '/olvid.daemon.services.v1.IdentityCommandService/IdentitySetPhoto',
            olvid_dot_daemon_dot_command_dot_v1_dot_identity__commands__pb2.IdentitySetPhotoRequest.SerializeToString,
            olvid_dot_daemon_dot_command_dot_v1_dot_identity__commands__pb2.IdentitySetPhotoResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def IdentityDownloadPhoto(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,
            '/olvid.daemon.services.v1.IdentityCommandService/IdentityDownloadPhoto',
            olvid_dot_daemon_dot_command_dot_v1_dot_identity__commands__pb2.IdentityDownloadPhotoRequest.SerializeToString,
            olvid_dot_daemon_dot_command_dot_v1_dot_identity__commands__pb2.IdentityDownloadPhotoResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def IdentityGetApiKeyStatus(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,
            '/olvid.daemon.services.v1.IdentityCommandService/IdentityGetApiKeyStatus',
            olvid_dot_daemon_dot_command_dot_v1_dot_identity__commands__pb2.IdentityGetApiKeyStatusRequest.SerializeToString,
            olvid_dot_daemon_dot_command_dot_v1_dot_identity__commands__pb2.IdentityGetApiKeyStatusResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def IdentitySetApiKey(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,
            '/olvid.daemon.services.v1.IdentityCommandService/IdentitySetApiKey',
            olvid_dot_daemon_dot_command_dot_v1_dot_identity__commands__pb2.IdentitySetApiKeyRequest.SerializeToString,
            olvid_dot_daemon_dot_command_dot_v1_dot_identity__commands__pb2.IdentitySetApiKeyResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def IdentitySetConfigurationLink(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,
            '/olvid.daemon.services.v1.IdentityCommandService/IdentitySetConfigurationLink',
            olvid_dot_daemon_dot_command_dot_v1_dot_identity__commands__pb2.IdentitySetConfigurationLinkRequest.SerializeToString,
            olvid_dot_daemon_dot_command_dot_v1_dot_identity__commands__pb2.IdentitySetConfigurationLinkResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)


class InvitationCommandServiceStub(object):
    """Invitation
    """

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

        Args:
            channel: A grpc.Channel.
        """
        self.InvitationList = channel.unary_stream(
                '/olvid.daemon.services.v1.InvitationCommandService/InvitationList',
                request_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_invitation__commands__pb2.InvitationListRequest.SerializeToString,
                response_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_invitation__commands__pb2.InvitationListResponse.FromString,
                _registered_method=True)
        self.InvitationGet = channel.unary_unary(
                '/olvid.daemon.services.v1.InvitationCommandService/InvitationGet',
                request_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_invitation__commands__pb2.InvitationGetRequest.SerializeToString,
                response_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_invitation__commands__pb2.InvitationGetResponse.FromString,
                _registered_method=True)
        self.InvitationNew = channel.unary_unary(
                '/olvid.daemon.services.v1.InvitationCommandService/InvitationNew',
                request_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_invitation__commands__pb2.InvitationNewRequest.SerializeToString,
                response_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_invitation__commands__pb2.InvitationNewResponse.FromString,
                _registered_method=True)
        self.InvitationAccept = channel.unary_unary(
                '/olvid.daemon.services.v1.InvitationCommandService/InvitationAccept',
                request_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_invitation__commands__pb2.InvitationAcceptRequest.SerializeToString,
                response_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_invitation__commands__pb2.InvitationAcceptResponse.FromString,
                _registered_method=True)
        self.InvitationDecline = channel.unary_unary(
                '/olvid.daemon.services.v1.InvitationCommandService/InvitationDecline',
                request_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_invitation__commands__pb2.InvitationDeclineRequest.SerializeToString,
                response_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_invitation__commands__pb2.InvitationDeclineResponse.FromString,
                _registered_method=True)
        self.InvitationSas = channel.unary_unary(
                '/olvid.daemon.services.v1.InvitationCommandService/InvitationSas',
                request_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_invitation__commands__pb2.InvitationSasRequest.SerializeToString,
                response_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_invitation__commands__pb2.InvitationSasResponse.FromString,
                _registered_method=True)
        self.InvitationDelete = channel.unary_unary(
                '/olvid.daemon.services.v1.InvitationCommandService/InvitationDelete',
                request_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_invitation__commands__pb2.InvitationDeleteRequest.SerializeToString,
                response_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_invitation__commands__pb2.InvitationDeleteResponse.FromString,
                _registered_method=True)


class InvitationCommandServiceServicer(object):
    """Invitation
    """

    def InvitationList(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 InvitationGet(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 InvitationNew(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 InvitationAccept(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 InvitationDecline(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 InvitationSas(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 InvitationDelete(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_InvitationCommandServiceServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'InvitationList': grpc.unary_stream_rpc_method_handler(
                    servicer.InvitationList,
                    request_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_invitation__commands__pb2.InvitationListRequest.FromString,
                    response_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_invitation__commands__pb2.InvitationListResponse.SerializeToString,
            ),
            'InvitationGet': grpc.unary_unary_rpc_method_handler(
                    servicer.InvitationGet,
                    request_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_invitation__commands__pb2.InvitationGetRequest.FromString,
                    response_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_invitation__commands__pb2.InvitationGetResponse.SerializeToString,
            ),
            'InvitationNew': grpc.unary_unary_rpc_method_handler(
                    servicer.InvitationNew,
                    request_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_invitation__commands__pb2.InvitationNewRequest.FromString,
                    response_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_invitation__commands__pb2.InvitationNewResponse.SerializeToString,
            ),
            'InvitationAccept': grpc.unary_unary_rpc_method_handler(
                    servicer.InvitationAccept,
                    request_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_invitation__commands__pb2.InvitationAcceptRequest.FromString,
                    response_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_invitation__commands__pb2.InvitationAcceptResponse.SerializeToString,
            ),
            'InvitationDecline': grpc.unary_unary_rpc_method_handler(
                    servicer.InvitationDecline,
                    request_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_invitation__commands__pb2.InvitationDeclineRequest.FromString,
                    response_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_invitation__commands__pb2.InvitationDeclineResponse.SerializeToString,
            ),
            'InvitationSas': grpc.unary_unary_rpc_method_handler(
                    servicer.InvitationSas,
                    request_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_invitation__commands__pb2.InvitationSasRequest.FromString,
                    response_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_invitation__commands__pb2.InvitationSasResponse.SerializeToString,
            ),
            'InvitationDelete': grpc.unary_unary_rpc_method_handler(
                    servicer.InvitationDelete,
                    request_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_invitation__commands__pb2.InvitationDeleteRequest.FromString,
                    response_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_invitation__commands__pb2.InvitationDeleteResponse.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'olvid.daemon.services.v1.InvitationCommandService', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))
    server.add_registered_method_handlers('olvid.daemon.services.v1.InvitationCommandService', rpc_method_handlers)


 # This class is part of an EXPERIMENTAL API.
class InvitationCommandService(object):
    """Invitation
    """

    @staticmethod
    def InvitationList(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,
            '/olvid.daemon.services.v1.InvitationCommandService/InvitationList',
            olvid_dot_daemon_dot_command_dot_v1_dot_invitation__commands__pb2.InvitationListRequest.SerializeToString,
            olvid_dot_daemon_dot_command_dot_v1_dot_invitation__commands__pb2.InvitationListResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def InvitationGet(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,
            '/olvid.daemon.services.v1.InvitationCommandService/InvitationGet',
            olvid_dot_daemon_dot_command_dot_v1_dot_invitation__commands__pb2.InvitationGetRequest.SerializeToString,
            olvid_dot_daemon_dot_command_dot_v1_dot_invitation__commands__pb2.InvitationGetResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def InvitationNew(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,
            '/olvid.daemon.services.v1.InvitationCommandService/InvitationNew',
            olvid_dot_daemon_dot_command_dot_v1_dot_invitation__commands__pb2.InvitationNewRequest.SerializeToString,
            olvid_dot_daemon_dot_command_dot_v1_dot_invitation__commands__pb2.InvitationNewResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def InvitationAccept(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,
            '/olvid.daemon.services.v1.InvitationCommandService/InvitationAccept',
            olvid_dot_daemon_dot_command_dot_v1_dot_invitation__commands__pb2.InvitationAcceptRequest.SerializeToString,
            olvid_dot_daemon_dot_command_dot_v1_dot_invitation__commands__pb2.InvitationAcceptResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def InvitationDecline(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,
            '/olvid.daemon.services.v1.InvitationCommandService/InvitationDecline',
            olvid_dot_daemon_dot_command_dot_v1_dot_invitation__commands__pb2.InvitationDeclineRequest.SerializeToString,
            olvid_dot_daemon_dot_command_dot_v1_dot_invitation__commands__pb2.InvitationDeclineResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def InvitationSas(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,
            '/olvid.daemon.services.v1.InvitationCommandService/InvitationSas',
            olvid_dot_daemon_dot_command_dot_v1_dot_invitation__commands__pb2.InvitationSasRequest.SerializeToString,
            olvid_dot_daemon_dot_command_dot_v1_dot_invitation__commands__pb2.InvitationSasResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def InvitationDelete(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,
            '/olvid.daemon.services.v1.InvitationCommandService/InvitationDelete',
            olvid_dot_daemon_dot_command_dot_v1_dot_invitation__commands__pb2.InvitationDeleteRequest.SerializeToString,
            olvid_dot_daemon_dot_command_dot_v1_dot_invitation__commands__pb2.InvitationDeleteResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)


class ContactCommandServiceStub(object):
    """Contact
    """

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

        Args:
            channel: A grpc.Channel.
        """
        self.ContactList = channel.unary_stream(
                '/olvid.daemon.services.v1.ContactCommandService/ContactList',
                request_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_contact__commands__pb2.ContactListRequest.SerializeToString,
                response_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_contact__commands__pb2.ContactListResponse.FromString,
                _registered_method=True)
        self.ContactGet = channel.unary_unary(
                '/olvid.daemon.services.v1.ContactCommandService/ContactGet',
                request_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_contact__commands__pb2.ContactGetRequest.SerializeToString,
                response_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_contact__commands__pb2.ContactGetResponse.FromString,
                _registered_method=True)
        self.ContactGetBytesIdentifier = channel.unary_unary(
                '/olvid.daemon.services.v1.ContactCommandService/ContactGetBytesIdentifier',
                request_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_contact__commands__pb2.ContactGetBytesIdentifierRequest.SerializeToString,
                response_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_contact__commands__pb2.ContactGetBytesIdentifierResponse.FromString,
                _registered_method=True)
        self.ContactGetInvitationLink = channel.unary_unary(
                '/olvid.daemon.services.v1.ContactCommandService/ContactGetInvitationLink',
                request_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_contact__commands__pb2.ContactGetInvitationLinkRequest.SerializeToString,
                response_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_contact__commands__pb2.ContactGetInvitationLinkResponse.FromString,
                _registered_method=True)
        self.ContactDelete = channel.unary_unary(
                '/olvid.daemon.services.v1.ContactCommandService/ContactDelete',
                request_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_contact__commands__pb2.ContactDeleteRequest.SerializeToString,
                response_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_contact__commands__pb2.ContactDeleteResponse.FromString,
                _registered_method=True)
        self.ContactIntroduction = channel.unary_unary(
                '/olvid.daemon.services.v1.ContactCommandService/ContactIntroduction',
                request_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_contact__commands__pb2.ContactIntroductionRequest.SerializeToString,
                response_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_contact__commands__pb2.ContactIntroductionResponse.FromString,
                _registered_method=True)
        self.ContactDownloadPhoto = channel.unary_unary(
                '/olvid.daemon.services.v1.ContactCommandService/ContactDownloadPhoto',
                request_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_contact__commands__pb2.ContactDownloadPhotoRequest.SerializeToString,
                response_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_contact__commands__pb2.ContactDownloadPhotoResponse.FromString,
                _registered_method=True)
        self.ContactRecreateChannels = channel.unary_unary(
                '/olvid.daemon.services.v1.ContactCommandService/ContactRecreateChannels',
                request_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_contact__commands__pb2.ContactRecreateChannelsRequest.SerializeToString,
                response_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_contact__commands__pb2.ContactRecreateChannelsResponse.FromString,
                _registered_method=True)
        self.ContactInviteToOneToOneDiscussion = channel.unary_unary(
                '/olvid.daemon.services.v1.ContactCommandService/ContactInviteToOneToOneDiscussion',
                request_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_contact__commands__pb2.ContactInviteToOneToOneDiscussionRequest.SerializeToString,
                response_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_contact__commands__pb2.ContactInviteToOneToOneDiscussionResponse.FromString,
                _registered_method=True)
        self.ContactDowngradeOneToOneDiscussion = channel.unary_unary(
                '/olvid.daemon.services.v1.ContactCommandService/ContactDowngradeOneToOneDiscussion',
                request_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_contact__commands__pb2.ContactDowngradeOneToOneDiscussionRequest.SerializeToString,
                response_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_contact__commands__pb2.ContactDowngradeOneToOneDiscussionResponse.FromString,
                _registered_method=True)


class ContactCommandServiceServicer(object):
    """Contact
    """

    def ContactList(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 ContactGet(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 ContactGetBytesIdentifier(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 ContactGetInvitationLink(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 ContactDelete(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 ContactIntroduction(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 ContactDownloadPhoto(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 ContactRecreateChannels(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 ContactInviteToOneToOneDiscussion(self, request, context):
        """collected contacts
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ContactDowngradeOneToOneDiscussion(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_ContactCommandServiceServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'ContactList': grpc.unary_stream_rpc_method_handler(
                    servicer.ContactList,
                    request_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_contact__commands__pb2.ContactListRequest.FromString,
                    response_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_contact__commands__pb2.ContactListResponse.SerializeToString,
            ),
            'ContactGet': grpc.unary_unary_rpc_method_handler(
                    servicer.ContactGet,
                    request_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_contact__commands__pb2.ContactGetRequest.FromString,
                    response_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_contact__commands__pb2.ContactGetResponse.SerializeToString,
            ),
            'ContactGetBytesIdentifier': grpc.unary_unary_rpc_method_handler(
                    servicer.ContactGetBytesIdentifier,
                    request_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_contact__commands__pb2.ContactGetBytesIdentifierRequest.FromString,
                    response_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_contact__commands__pb2.ContactGetBytesIdentifierResponse.SerializeToString,
            ),
            'ContactGetInvitationLink': grpc.unary_unary_rpc_method_handler(
                    servicer.ContactGetInvitationLink,
                    request_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_contact__commands__pb2.ContactGetInvitationLinkRequest.FromString,
                    response_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_contact__commands__pb2.ContactGetInvitationLinkResponse.SerializeToString,
            ),
            'ContactDelete': grpc.unary_unary_rpc_method_handler(
                    servicer.ContactDelete,
                    request_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_contact__commands__pb2.ContactDeleteRequest.FromString,
                    response_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_contact__commands__pb2.ContactDeleteResponse.SerializeToString,
            ),
            'ContactIntroduction': grpc.unary_unary_rpc_method_handler(
                    servicer.ContactIntroduction,
                    request_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_contact__commands__pb2.ContactIntroductionRequest.FromString,
                    response_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_contact__commands__pb2.ContactIntroductionResponse.SerializeToString,
            ),
            'ContactDownloadPhoto': grpc.unary_unary_rpc_method_handler(
                    servicer.ContactDownloadPhoto,
                    request_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_contact__commands__pb2.ContactDownloadPhotoRequest.FromString,
                    response_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_contact__commands__pb2.ContactDownloadPhotoResponse.SerializeToString,
            ),
            'ContactRecreateChannels': grpc.unary_unary_rpc_method_handler(
                    servicer.ContactRecreateChannels,
                    request_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_contact__commands__pb2.ContactRecreateChannelsRequest.FromString,
                    response_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_contact__commands__pb2.ContactRecreateChannelsResponse.SerializeToString,
            ),
            'ContactInviteToOneToOneDiscussion': grpc.unary_unary_rpc_method_handler(
                    servicer.ContactInviteToOneToOneDiscussion,
                    request_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_contact__commands__pb2.ContactInviteToOneToOneDiscussionRequest.FromString,
                    response_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_contact__commands__pb2.ContactInviteToOneToOneDiscussionResponse.SerializeToString,
            ),
            'ContactDowngradeOneToOneDiscussion': grpc.unary_unary_rpc_method_handler(
                    servicer.ContactDowngradeOneToOneDiscussion,
                    request_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_contact__commands__pb2.ContactDowngradeOneToOneDiscussionRequest.FromString,
                    response_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_contact__commands__pb2.ContactDowngradeOneToOneDiscussionResponse.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'olvid.daemon.services.v1.ContactCommandService', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))
    server.add_registered_method_handlers('olvid.daemon.services.v1.ContactCommandService', rpc_method_handlers)


 # This class is part of an EXPERIMENTAL API.
class ContactCommandService(object):
    """Contact
    """

    @staticmethod
    def ContactList(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,
            '/olvid.daemon.services.v1.ContactCommandService/ContactList',
            olvid_dot_daemon_dot_command_dot_v1_dot_contact__commands__pb2.ContactListRequest.SerializeToString,
            olvid_dot_daemon_dot_command_dot_v1_dot_contact__commands__pb2.ContactListResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def ContactGet(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,
            '/olvid.daemon.services.v1.ContactCommandService/ContactGet',
            olvid_dot_daemon_dot_command_dot_v1_dot_contact__commands__pb2.ContactGetRequest.SerializeToString,
            olvid_dot_daemon_dot_command_dot_v1_dot_contact__commands__pb2.ContactGetResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def ContactGetBytesIdentifier(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,
            '/olvid.daemon.services.v1.ContactCommandService/ContactGetBytesIdentifier',
            olvid_dot_daemon_dot_command_dot_v1_dot_contact__commands__pb2.ContactGetBytesIdentifierRequest.SerializeToString,
            olvid_dot_daemon_dot_command_dot_v1_dot_contact__commands__pb2.ContactGetBytesIdentifierResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def ContactGetInvitationLink(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,
            '/olvid.daemon.services.v1.ContactCommandService/ContactGetInvitationLink',
            olvid_dot_daemon_dot_command_dot_v1_dot_contact__commands__pb2.ContactGetInvitationLinkRequest.SerializeToString,
            olvid_dot_daemon_dot_command_dot_v1_dot_contact__commands__pb2.ContactGetInvitationLinkResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def ContactDelete(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,
            '/olvid.daemon.services.v1.ContactCommandService/ContactDelete',
            olvid_dot_daemon_dot_command_dot_v1_dot_contact__commands__pb2.ContactDeleteRequest.SerializeToString,
            olvid_dot_daemon_dot_command_dot_v1_dot_contact__commands__pb2.ContactDeleteResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def ContactIntroduction(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,
            '/olvid.daemon.services.v1.ContactCommandService/ContactIntroduction',
            olvid_dot_daemon_dot_command_dot_v1_dot_contact__commands__pb2.ContactIntroductionRequest.SerializeToString,
            olvid_dot_daemon_dot_command_dot_v1_dot_contact__commands__pb2.ContactIntroductionResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def ContactDownloadPhoto(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,
            '/olvid.daemon.services.v1.ContactCommandService/ContactDownloadPhoto',
            olvid_dot_daemon_dot_command_dot_v1_dot_contact__commands__pb2.ContactDownloadPhotoRequest.SerializeToString,
            olvid_dot_daemon_dot_command_dot_v1_dot_contact__commands__pb2.ContactDownloadPhotoResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def ContactRecreateChannels(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,
            '/olvid.daemon.services.v1.ContactCommandService/ContactRecreateChannels',
            olvid_dot_daemon_dot_command_dot_v1_dot_contact__commands__pb2.ContactRecreateChannelsRequest.SerializeToString,
            olvid_dot_daemon_dot_command_dot_v1_dot_contact__commands__pb2.ContactRecreateChannelsResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def ContactInviteToOneToOneDiscussion(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,
            '/olvid.daemon.services.v1.ContactCommandService/ContactInviteToOneToOneDiscussion',
            olvid_dot_daemon_dot_command_dot_v1_dot_contact__commands__pb2.ContactInviteToOneToOneDiscussionRequest.SerializeToString,
            olvid_dot_daemon_dot_command_dot_v1_dot_contact__commands__pb2.ContactInviteToOneToOneDiscussionResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def ContactDowngradeOneToOneDiscussion(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,
            '/olvid.daemon.services.v1.ContactCommandService/ContactDowngradeOneToOneDiscussion',
            olvid_dot_daemon_dot_command_dot_v1_dot_contact__commands__pb2.ContactDowngradeOneToOneDiscussionRequest.SerializeToString,
            olvid_dot_daemon_dot_command_dot_v1_dot_contact__commands__pb2.ContactDowngradeOneToOneDiscussionResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)


class KeycloakCommandServiceStub(object):
    """Keycloak
    """

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

        Args:
            channel: A grpc.Channel.
        """
        self.KeycloakBindIdentity = channel.unary_unary(
                '/olvid.daemon.services.v1.KeycloakCommandService/KeycloakBindIdentity',
                request_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_keycloak__commands__pb2.KeycloakBindIdentityRequest.SerializeToString,
                response_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_keycloak__commands__pb2.KeycloakBindIdentityResponse.FromString,
                _registered_method=True)
        self.KeycloakUnbindIdentity = channel.unary_unary(
                '/olvid.daemon.services.v1.KeycloakCommandService/KeycloakUnbindIdentity',
                request_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_keycloak__commands__pb2.KeycloakUnbindIdentityRequest.SerializeToString,
                response_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_keycloak__commands__pb2.KeycloakUnbindIdentityResponse.FromString,
                _registered_method=True)
        self.KeycloakUserList = channel.unary_stream(
                '/olvid.daemon.services.v1.KeycloakCommandService/KeycloakUserList',
                request_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_keycloak__commands__pb2.KeycloakUserListRequest.SerializeToString,
                response_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_keycloak__commands__pb2.KeycloakUserListResponse.FromString,
                _registered_method=True)
        self.KeycloakAddUserAsContact = channel.unary_unary(
                '/olvid.daemon.services.v1.KeycloakCommandService/KeycloakAddUserAsContact',
                request_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_keycloak__commands__pb2.KeycloakAddUserAsContactRequest.SerializeToString,
                response_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_keycloak__commands__pb2.KeycloakAddUserAsContactResponse.FromString,
                _registered_method=True)
        self.KeycloakGetApiCredentials = channel.unary_unary(
                '/olvid.daemon.services.v1.KeycloakCommandService/KeycloakGetApiCredentials',
                request_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_keycloak__commands__pb2.KeycloakGetApiCredentialsRequest.SerializeToString,
                response_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_keycloak__commands__pb2.KeycloakGetApiCredentialsResponse.FromString,
                _registered_method=True)


class KeycloakCommandServiceServicer(object):
    """Keycloak
    """

    def KeycloakBindIdentity(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 KeycloakUnbindIdentity(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 KeycloakUserList(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 KeycloakAddUserAsContact(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 KeycloakGetApiCredentials(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_KeycloakCommandServiceServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'KeycloakBindIdentity': grpc.unary_unary_rpc_method_handler(
                    servicer.KeycloakBindIdentity,
                    request_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_keycloak__commands__pb2.KeycloakBindIdentityRequest.FromString,
                    response_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_keycloak__commands__pb2.KeycloakBindIdentityResponse.SerializeToString,
            ),
            'KeycloakUnbindIdentity': grpc.unary_unary_rpc_method_handler(
                    servicer.KeycloakUnbindIdentity,
                    request_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_keycloak__commands__pb2.KeycloakUnbindIdentityRequest.FromString,
                    response_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_keycloak__commands__pb2.KeycloakUnbindIdentityResponse.SerializeToString,
            ),
            'KeycloakUserList': grpc.unary_stream_rpc_method_handler(
                    servicer.KeycloakUserList,
                    request_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_keycloak__commands__pb2.KeycloakUserListRequest.FromString,
                    response_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_keycloak__commands__pb2.KeycloakUserListResponse.SerializeToString,
            ),
            'KeycloakAddUserAsContact': grpc.unary_unary_rpc_method_handler(
                    servicer.KeycloakAddUserAsContact,
                    request_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_keycloak__commands__pb2.KeycloakAddUserAsContactRequest.FromString,
                    response_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_keycloak__commands__pb2.KeycloakAddUserAsContactResponse.SerializeToString,
            ),
            'KeycloakGetApiCredentials': grpc.unary_unary_rpc_method_handler(
                    servicer.KeycloakGetApiCredentials,
                    request_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_keycloak__commands__pb2.KeycloakGetApiCredentialsRequest.FromString,
                    response_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_keycloak__commands__pb2.KeycloakGetApiCredentialsResponse.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'olvid.daemon.services.v1.KeycloakCommandService', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))
    server.add_registered_method_handlers('olvid.daemon.services.v1.KeycloakCommandService', rpc_method_handlers)


 # This class is part of an EXPERIMENTAL API.
class KeycloakCommandService(object):
    """Keycloak
    """

    @staticmethod
    def KeycloakBindIdentity(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,
            '/olvid.daemon.services.v1.KeycloakCommandService/KeycloakBindIdentity',
            olvid_dot_daemon_dot_command_dot_v1_dot_keycloak__commands__pb2.KeycloakBindIdentityRequest.SerializeToString,
            olvid_dot_daemon_dot_command_dot_v1_dot_keycloak__commands__pb2.KeycloakBindIdentityResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def KeycloakUnbindIdentity(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,
            '/olvid.daemon.services.v1.KeycloakCommandService/KeycloakUnbindIdentity',
            olvid_dot_daemon_dot_command_dot_v1_dot_keycloak__commands__pb2.KeycloakUnbindIdentityRequest.SerializeToString,
            olvid_dot_daemon_dot_command_dot_v1_dot_keycloak__commands__pb2.KeycloakUnbindIdentityResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def KeycloakUserList(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,
            '/olvid.daemon.services.v1.KeycloakCommandService/KeycloakUserList',
            olvid_dot_daemon_dot_command_dot_v1_dot_keycloak__commands__pb2.KeycloakUserListRequest.SerializeToString,
            olvid_dot_daemon_dot_command_dot_v1_dot_keycloak__commands__pb2.KeycloakUserListResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def KeycloakAddUserAsContact(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,
            '/olvid.daemon.services.v1.KeycloakCommandService/KeycloakAddUserAsContact',
            olvid_dot_daemon_dot_command_dot_v1_dot_keycloak__commands__pb2.KeycloakAddUserAsContactRequest.SerializeToString,
            olvid_dot_daemon_dot_command_dot_v1_dot_keycloak__commands__pb2.KeycloakAddUserAsContactResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def KeycloakGetApiCredentials(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,
            '/olvid.daemon.services.v1.KeycloakCommandService/KeycloakGetApiCredentials',
            olvid_dot_daemon_dot_command_dot_v1_dot_keycloak__commands__pb2.KeycloakGetApiCredentialsRequest.SerializeToString,
            olvid_dot_daemon_dot_command_dot_v1_dot_keycloak__commands__pb2.KeycloakGetApiCredentialsResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)


class GroupCommandServiceStub(object):
    """Group
    """

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

        Args:
            channel: A grpc.Channel.
        """
        self.GroupList = channel.unary_stream(
                '/olvid.daemon.services.v1.GroupCommandService/GroupList',
                request_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_group__commands__pb2.GroupListRequest.SerializeToString,
                response_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_group__commands__pb2.GroupListResponse.FromString,
                _registered_method=True)
        self.GroupGet = channel.unary_unary(
                '/olvid.daemon.services.v1.GroupCommandService/GroupGet',
                request_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_group__commands__pb2.GroupGetRequest.SerializeToString,
                response_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_group__commands__pb2.GroupGetResponse.FromString,
                _registered_method=True)
        self.GroupGetBytesIdentifier = channel.unary_unary(
                '/olvid.daemon.services.v1.GroupCommandService/GroupGetBytesIdentifier',
                request_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_group__commands__pb2.GroupGetBytesIdentifierRequest.SerializeToString,
                response_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_group__commands__pb2.GroupGetBytesIdentifierResponse.FromString,
                _registered_method=True)
        self.GroupNewStandardGroup = channel.unary_unary(
                '/olvid.daemon.services.v1.GroupCommandService/GroupNewStandardGroup',
                request_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_group__commands__pb2.GroupNewStandardGroupRequest.SerializeToString,
                response_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_group__commands__pb2.GroupNewStandardGroupResponse.FromString,
                _registered_method=True)
        self.GroupNewControlledGroup = channel.unary_unary(
                '/olvid.daemon.services.v1.GroupCommandService/GroupNewControlledGroup',
                request_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_group__commands__pb2.GroupNewControlledGroupRequest.SerializeToString,
                response_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_group__commands__pb2.GroupNewControlledGroupResponse.FromString,
                _registered_method=True)
        self.GroupNewReadOnlyGroup = channel.unary_unary(
                '/olvid.daemon.services.v1.GroupCommandService/GroupNewReadOnlyGroup',
                request_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_group__commands__pb2.GroupNewReadOnlyGroupRequest.SerializeToString,
                response_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_group__commands__pb2.GroupNewReadOnlyGroupResponse.FromString,
                _registered_method=True)
        self.GroupNewAdvancedGroup = channel.unary_unary(
                '/olvid.daemon.services.v1.GroupCommandService/GroupNewAdvancedGroup',
                request_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_group__commands__pb2.GroupNewAdvancedGroupRequest.SerializeToString,
                response_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_group__commands__pb2.GroupNewAdvancedGroupResponse.FromString,
                _registered_method=True)
        self.GroupDisband = channel.unary_unary(
                '/olvid.daemon.services.v1.GroupCommandService/GroupDisband',
                request_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_group__commands__pb2.GroupDisbandRequest.SerializeToString,
                response_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_group__commands__pb2.GroupDisbandResponse.FromString,
                _registered_method=True)
        self.GroupLeave = channel.unary_unary(
                '/olvid.daemon.services.v1.GroupCommandService/GroupLeave',
                request_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_group__commands__pb2.GroupLeaveRequest.SerializeToString,
                response_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_group__commands__pb2.GroupLeaveResponse.FromString,
                _registered_method=True)
        self.GroupUpdate = channel.unary_unary(
                '/olvid.daemon.services.v1.GroupCommandService/GroupUpdate',
                request_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_group__commands__pb2.GroupUpdateRequest.SerializeToString,
                response_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_group__commands__pb2.GroupUpdateResponse.FromString,
                _registered_method=True)
        self.GroupUnsetPhoto = channel.unary_unary(
                '/olvid.daemon.services.v1.GroupCommandService/GroupUnsetPhoto',
                request_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_group__commands__pb2.GroupUnsetPhotoRequest.SerializeToString,
                response_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_group__commands__pb2.GroupUnsetPhotoResponse.FromString,
                _registered_method=True)
        self.GroupSetPhoto = channel.stream_unary(
                '/olvid.daemon.services.v1.GroupCommandService/GroupSetPhoto',
                request_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_group__commands__pb2.GroupSetPhotoRequest.SerializeToString,
                response_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_group__commands__pb2.GroupSetPhotoResponse.FromString,
                _registered_method=True)
        self.GroupDownloadPhoto = channel.unary_unary(
                '/olvid.daemon.services.v1.GroupCommandService/GroupDownloadPhoto',
                request_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_group__commands__pb2.GroupDownloadPhotoRequest.SerializeToString,
                response_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_group__commands__pb2.GroupDownloadPhotoResponse.FromString,
                _registered_method=True)


class GroupCommandServiceServicer(object):
    """Group
    """

    def GroupList(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 GroupGet(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 GroupGetBytesIdentifier(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 GroupNewStandardGroup(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 GroupNewControlledGroup(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 GroupNewReadOnlyGroup(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 GroupNewAdvancedGroup(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 GroupDisband(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 GroupLeave(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 GroupUpdate(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 GroupUnsetPhoto(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 GroupSetPhoto(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 GroupDownloadPhoto(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_GroupCommandServiceServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'GroupList': grpc.unary_stream_rpc_method_handler(
                    servicer.GroupList,
                    request_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_group__commands__pb2.GroupListRequest.FromString,
                    response_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_group__commands__pb2.GroupListResponse.SerializeToString,
            ),
            'GroupGet': grpc.unary_unary_rpc_method_handler(
                    servicer.GroupGet,
                    request_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_group__commands__pb2.GroupGetRequest.FromString,
                    response_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_group__commands__pb2.GroupGetResponse.SerializeToString,
            ),
            'GroupGetBytesIdentifier': grpc.unary_unary_rpc_method_handler(
                    servicer.GroupGetBytesIdentifier,
                    request_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_group__commands__pb2.GroupGetBytesIdentifierRequest.FromString,
                    response_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_group__commands__pb2.GroupGetBytesIdentifierResponse.SerializeToString,
            ),
            'GroupNewStandardGroup': grpc.unary_unary_rpc_method_handler(
                    servicer.GroupNewStandardGroup,
                    request_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_group__commands__pb2.GroupNewStandardGroupRequest.FromString,
                    response_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_group__commands__pb2.GroupNewStandardGroupResponse.SerializeToString,
            ),
            'GroupNewControlledGroup': grpc.unary_unary_rpc_method_handler(
                    servicer.GroupNewControlledGroup,
                    request_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_group__commands__pb2.GroupNewControlledGroupRequest.FromString,
                    response_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_group__commands__pb2.GroupNewControlledGroupResponse.SerializeToString,
            ),
            'GroupNewReadOnlyGroup': grpc.unary_unary_rpc_method_handler(
                    servicer.GroupNewReadOnlyGroup,
                    request_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_group__commands__pb2.GroupNewReadOnlyGroupRequest.FromString,
                    response_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_group__commands__pb2.GroupNewReadOnlyGroupResponse.SerializeToString,
            ),
            'GroupNewAdvancedGroup': grpc.unary_unary_rpc_method_handler(
                    servicer.GroupNewAdvancedGroup,
                    request_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_group__commands__pb2.GroupNewAdvancedGroupRequest.FromString,
                    response_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_group__commands__pb2.GroupNewAdvancedGroupResponse.SerializeToString,
            ),
            'GroupDisband': grpc.unary_unary_rpc_method_handler(
                    servicer.GroupDisband,
                    request_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_group__commands__pb2.GroupDisbandRequest.FromString,
                    response_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_group__commands__pb2.GroupDisbandResponse.SerializeToString,
            ),
            'GroupLeave': grpc.unary_unary_rpc_method_handler(
                    servicer.GroupLeave,
                    request_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_group__commands__pb2.GroupLeaveRequest.FromString,
                    response_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_group__commands__pb2.GroupLeaveResponse.SerializeToString,
            ),
            'GroupUpdate': grpc.unary_unary_rpc_method_handler(
                    servicer.GroupUpdate,
                    request_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_group__commands__pb2.GroupUpdateRequest.FromString,
                    response_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_group__commands__pb2.GroupUpdateResponse.SerializeToString,
            ),
            'GroupUnsetPhoto': grpc.unary_unary_rpc_method_handler(
                    servicer.GroupUnsetPhoto,
                    request_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_group__commands__pb2.GroupUnsetPhotoRequest.FromString,
                    response_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_group__commands__pb2.GroupUnsetPhotoResponse.SerializeToString,
            ),
            'GroupSetPhoto': grpc.stream_unary_rpc_method_handler(
                    servicer.GroupSetPhoto,
                    request_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_group__commands__pb2.GroupSetPhotoRequest.FromString,
                    response_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_group__commands__pb2.GroupSetPhotoResponse.SerializeToString,
            ),
            'GroupDownloadPhoto': grpc.unary_unary_rpc_method_handler(
                    servicer.GroupDownloadPhoto,
                    request_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_group__commands__pb2.GroupDownloadPhotoRequest.FromString,
                    response_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_group__commands__pb2.GroupDownloadPhotoResponse.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'olvid.daemon.services.v1.GroupCommandService', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))
    server.add_registered_method_handlers('olvid.daemon.services.v1.GroupCommandService', rpc_method_handlers)


 # This class is part of an EXPERIMENTAL API.
class GroupCommandService(object):
    """Group
    """

    @staticmethod
    def GroupList(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,
            '/olvid.daemon.services.v1.GroupCommandService/GroupList',
            olvid_dot_daemon_dot_command_dot_v1_dot_group__commands__pb2.GroupListRequest.SerializeToString,
            olvid_dot_daemon_dot_command_dot_v1_dot_group__commands__pb2.GroupListResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GroupGet(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,
            '/olvid.daemon.services.v1.GroupCommandService/GroupGet',
            olvid_dot_daemon_dot_command_dot_v1_dot_group__commands__pb2.GroupGetRequest.SerializeToString,
            olvid_dot_daemon_dot_command_dot_v1_dot_group__commands__pb2.GroupGetResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GroupGetBytesIdentifier(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,
            '/olvid.daemon.services.v1.GroupCommandService/GroupGetBytesIdentifier',
            olvid_dot_daemon_dot_command_dot_v1_dot_group__commands__pb2.GroupGetBytesIdentifierRequest.SerializeToString,
            olvid_dot_daemon_dot_command_dot_v1_dot_group__commands__pb2.GroupGetBytesIdentifierResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GroupNewStandardGroup(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,
            '/olvid.daemon.services.v1.GroupCommandService/GroupNewStandardGroup',
            olvid_dot_daemon_dot_command_dot_v1_dot_group__commands__pb2.GroupNewStandardGroupRequest.SerializeToString,
            olvid_dot_daemon_dot_command_dot_v1_dot_group__commands__pb2.GroupNewStandardGroupResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GroupNewControlledGroup(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,
            '/olvid.daemon.services.v1.GroupCommandService/GroupNewControlledGroup',
            olvid_dot_daemon_dot_command_dot_v1_dot_group__commands__pb2.GroupNewControlledGroupRequest.SerializeToString,
            olvid_dot_daemon_dot_command_dot_v1_dot_group__commands__pb2.GroupNewControlledGroupResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GroupNewReadOnlyGroup(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,
            '/olvid.daemon.services.v1.GroupCommandService/GroupNewReadOnlyGroup',
            olvid_dot_daemon_dot_command_dot_v1_dot_group__commands__pb2.GroupNewReadOnlyGroupRequest.SerializeToString,
            olvid_dot_daemon_dot_command_dot_v1_dot_group__commands__pb2.GroupNewReadOnlyGroupResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GroupNewAdvancedGroup(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,
            '/olvid.daemon.services.v1.GroupCommandService/GroupNewAdvancedGroup',
            olvid_dot_daemon_dot_command_dot_v1_dot_group__commands__pb2.GroupNewAdvancedGroupRequest.SerializeToString,
            olvid_dot_daemon_dot_command_dot_v1_dot_group__commands__pb2.GroupNewAdvancedGroupResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GroupDisband(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,
            '/olvid.daemon.services.v1.GroupCommandService/GroupDisband',
            olvid_dot_daemon_dot_command_dot_v1_dot_group__commands__pb2.GroupDisbandRequest.SerializeToString,
            olvid_dot_daemon_dot_command_dot_v1_dot_group__commands__pb2.GroupDisbandResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GroupLeave(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,
            '/olvid.daemon.services.v1.GroupCommandService/GroupLeave',
            olvid_dot_daemon_dot_command_dot_v1_dot_group__commands__pb2.GroupLeaveRequest.SerializeToString,
            olvid_dot_daemon_dot_command_dot_v1_dot_group__commands__pb2.GroupLeaveResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GroupUpdate(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,
            '/olvid.daemon.services.v1.GroupCommandService/GroupUpdate',
            olvid_dot_daemon_dot_command_dot_v1_dot_group__commands__pb2.GroupUpdateRequest.SerializeToString,
            olvid_dot_daemon_dot_command_dot_v1_dot_group__commands__pb2.GroupUpdateResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GroupUnsetPhoto(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,
            '/olvid.daemon.services.v1.GroupCommandService/GroupUnsetPhoto',
            olvid_dot_daemon_dot_command_dot_v1_dot_group__commands__pb2.GroupUnsetPhotoRequest.SerializeToString,
            olvid_dot_daemon_dot_command_dot_v1_dot_group__commands__pb2.GroupUnsetPhotoResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GroupSetPhoto(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,
            '/olvid.daemon.services.v1.GroupCommandService/GroupSetPhoto',
            olvid_dot_daemon_dot_command_dot_v1_dot_group__commands__pb2.GroupSetPhotoRequest.SerializeToString,
            olvid_dot_daemon_dot_command_dot_v1_dot_group__commands__pb2.GroupSetPhotoResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GroupDownloadPhoto(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,
            '/olvid.daemon.services.v1.GroupCommandService/GroupDownloadPhoto',
            olvid_dot_daemon_dot_command_dot_v1_dot_group__commands__pb2.GroupDownloadPhotoRequest.SerializeToString,
            olvid_dot_daemon_dot_command_dot_v1_dot_group__commands__pb2.GroupDownloadPhotoResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)


class DiscussionCommandServiceStub(object):
    """Discussion
    """

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

        Args:
            channel: A grpc.Channel.
        """
        self.DiscussionList = channel.unary_stream(
                '/olvid.daemon.services.v1.DiscussionCommandService/DiscussionList',
                request_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_discussion__commands__pb2.DiscussionListRequest.SerializeToString,
                response_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_discussion__commands__pb2.DiscussionListResponse.FromString,
                _registered_method=True)
        self.DiscussionGet = channel.unary_unary(
                '/olvid.daemon.services.v1.DiscussionCommandService/DiscussionGet',
                request_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_discussion__commands__pb2.DiscussionGetRequest.SerializeToString,
                response_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_discussion__commands__pb2.DiscussionGetResponse.FromString,
                _registered_method=True)
        self.DiscussionGetBytesIdentifier = channel.unary_unary(
                '/olvid.daemon.services.v1.DiscussionCommandService/DiscussionGetBytesIdentifier',
                request_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_discussion__commands__pb2.DiscussionGetBytesIdentifierRequest.SerializeToString,
                response_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_discussion__commands__pb2.DiscussionGetBytesIdentifierResponse.FromString,
                _registered_method=True)
        self.DiscussionGetByContact = channel.unary_unary(
                '/olvid.daemon.services.v1.DiscussionCommandService/DiscussionGetByContact',
                request_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_discussion__commands__pb2.DiscussionGetByContactRequest.SerializeToString,
                response_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_discussion__commands__pb2.DiscussionGetByContactResponse.FromString,
                _registered_method=True)
        self.DiscussionGetByGroup = channel.unary_unary(
                '/olvid.daemon.services.v1.DiscussionCommandService/DiscussionGetByGroup',
                request_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_discussion__commands__pb2.DiscussionGetByGroupRequest.SerializeToString,
                response_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_discussion__commands__pb2.DiscussionGetByGroupResponse.FromString,
                _registered_method=True)
        self.DiscussionEmpty = channel.unary_unary(
                '/olvid.daemon.services.v1.DiscussionCommandService/DiscussionEmpty',
                request_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_discussion__commands__pb2.DiscussionEmptyRequest.SerializeToString,
                response_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_discussion__commands__pb2.DiscussionEmptyResponse.FromString,
                _registered_method=True)
        self.DiscussionDownloadPhoto = channel.unary_unary(
                '/olvid.daemon.services.v1.DiscussionCommandService/DiscussionDownloadPhoto',
                request_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_discussion__commands__pb2.DiscussionDownloadPhotoRequest.SerializeToString,
                response_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_discussion__commands__pb2.DiscussionDownloadPhotoResponse.FromString,
                _registered_method=True)
        self.DiscussionLockedList = channel.unary_stream(
                '/olvid.daemon.services.v1.DiscussionCommandService/DiscussionLockedList',
                request_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_discussion__commands__pb2.DiscussionLockedListRequest.SerializeToString,
                response_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_discussion__commands__pb2.DiscussionLockedListResponse.FromString,
                _registered_method=True)
        self.DiscussionLockedDelete = channel.unary_unary(
                '/olvid.daemon.services.v1.DiscussionCommandService/DiscussionLockedDelete',
                request_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_discussion__commands__pb2.DiscussionLockedDeleteRequest.SerializeToString,
                response_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_discussion__commands__pb2.DiscussionLockedDeleteResponse.FromString,
                _registered_method=True)


class DiscussionCommandServiceServicer(object):
    """Discussion
    """

    def DiscussionList(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 DiscussionGet(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 DiscussionGetBytesIdentifier(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 DiscussionGetByContact(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 DiscussionGetByGroup(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 DiscussionEmpty(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 DiscussionDownloadPhoto(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 DiscussionLockedList(self, request, context):
        """locked discussions
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def DiscussionLockedDelete(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_DiscussionCommandServiceServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'DiscussionList': grpc.unary_stream_rpc_method_handler(
                    servicer.DiscussionList,
                    request_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_discussion__commands__pb2.DiscussionListRequest.FromString,
                    response_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_discussion__commands__pb2.DiscussionListResponse.SerializeToString,
            ),
            'DiscussionGet': grpc.unary_unary_rpc_method_handler(
                    servicer.DiscussionGet,
                    request_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_discussion__commands__pb2.DiscussionGetRequest.FromString,
                    response_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_discussion__commands__pb2.DiscussionGetResponse.SerializeToString,
            ),
            'DiscussionGetBytesIdentifier': grpc.unary_unary_rpc_method_handler(
                    servicer.DiscussionGetBytesIdentifier,
                    request_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_discussion__commands__pb2.DiscussionGetBytesIdentifierRequest.FromString,
                    response_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_discussion__commands__pb2.DiscussionGetBytesIdentifierResponse.SerializeToString,
            ),
            'DiscussionGetByContact': grpc.unary_unary_rpc_method_handler(
                    servicer.DiscussionGetByContact,
                    request_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_discussion__commands__pb2.DiscussionGetByContactRequest.FromString,
                    response_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_discussion__commands__pb2.DiscussionGetByContactResponse.SerializeToString,
            ),
            'DiscussionGetByGroup': grpc.unary_unary_rpc_method_handler(
                    servicer.DiscussionGetByGroup,
                    request_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_discussion__commands__pb2.DiscussionGetByGroupRequest.FromString,
                    response_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_discussion__commands__pb2.DiscussionGetByGroupResponse.SerializeToString,
            ),
            'DiscussionEmpty': grpc.unary_unary_rpc_method_handler(
                    servicer.DiscussionEmpty,
                    request_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_discussion__commands__pb2.DiscussionEmptyRequest.FromString,
                    response_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_discussion__commands__pb2.DiscussionEmptyResponse.SerializeToString,
            ),
            'DiscussionDownloadPhoto': grpc.unary_unary_rpc_method_handler(
                    servicer.DiscussionDownloadPhoto,
                    request_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_discussion__commands__pb2.DiscussionDownloadPhotoRequest.FromString,
                    response_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_discussion__commands__pb2.DiscussionDownloadPhotoResponse.SerializeToString,
            ),
            'DiscussionLockedList': grpc.unary_stream_rpc_method_handler(
                    servicer.DiscussionLockedList,
                    request_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_discussion__commands__pb2.DiscussionLockedListRequest.FromString,
                    response_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_discussion__commands__pb2.DiscussionLockedListResponse.SerializeToString,
            ),
            'DiscussionLockedDelete': grpc.unary_unary_rpc_method_handler(
                    servicer.DiscussionLockedDelete,
                    request_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_discussion__commands__pb2.DiscussionLockedDeleteRequest.FromString,
                    response_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_discussion__commands__pb2.DiscussionLockedDeleteResponse.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'olvid.daemon.services.v1.DiscussionCommandService', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))
    server.add_registered_method_handlers('olvid.daemon.services.v1.DiscussionCommandService', rpc_method_handlers)


 # This class is part of an EXPERIMENTAL API.
class DiscussionCommandService(object):
    """Discussion
    """

    @staticmethod
    def DiscussionList(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,
            '/olvid.daemon.services.v1.DiscussionCommandService/DiscussionList',
            olvid_dot_daemon_dot_command_dot_v1_dot_discussion__commands__pb2.DiscussionListRequest.SerializeToString,
            olvid_dot_daemon_dot_command_dot_v1_dot_discussion__commands__pb2.DiscussionListResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def DiscussionGet(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,
            '/olvid.daemon.services.v1.DiscussionCommandService/DiscussionGet',
            olvid_dot_daemon_dot_command_dot_v1_dot_discussion__commands__pb2.DiscussionGetRequest.SerializeToString,
            olvid_dot_daemon_dot_command_dot_v1_dot_discussion__commands__pb2.DiscussionGetResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def DiscussionGetBytesIdentifier(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,
            '/olvid.daemon.services.v1.DiscussionCommandService/DiscussionGetBytesIdentifier',
            olvid_dot_daemon_dot_command_dot_v1_dot_discussion__commands__pb2.DiscussionGetBytesIdentifierRequest.SerializeToString,
            olvid_dot_daemon_dot_command_dot_v1_dot_discussion__commands__pb2.DiscussionGetBytesIdentifierResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def DiscussionGetByContact(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,
            '/olvid.daemon.services.v1.DiscussionCommandService/DiscussionGetByContact',
            olvid_dot_daemon_dot_command_dot_v1_dot_discussion__commands__pb2.DiscussionGetByContactRequest.SerializeToString,
            olvid_dot_daemon_dot_command_dot_v1_dot_discussion__commands__pb2.DiscussionGetByContactResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def DiscussionGetByGroup(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,
            '/olvid.daemon.services.v1.DiscussionCommandService/DiscussionGetByGroup',
            olvid_dot_daemon_dot_command_dot_v1_dot_discussion__commands__pb2.DiscussionGetByGroupRequest.SerializeToString,
            olvid_dot_daemon_dot_command_dot_v1_dot_discussion__commands__pb2.DiscussionGetByGroupResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def DiscussionEmpty(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,
            '/olvid.daemon.services.v1.DiscussionCommandService/DiscussionEmpty',
            olvid_dot_daemon_dot_command_dot_v1_dot_discussion__commands__pb2.DiscussionEmptyRequest.SerializeToString,
            olvid_dot_daemon_dot_command_dot_v1_dot_discussion__commands__pb2.DiscussionEmptyResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def DiscussionDownloadPhoto(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,
            '/olvid.daemon.services.v1.DiscussionCommandService/DiscussionDownloadPhoto',
            olvid_dot_daemon_dot_command_dot_v1_dot_discussion__commands__pb2.DiscussionDownloadPhotoRequest.SerializeToString,
            olvid_dot_daemon_dot_command_dot_v1_dot_discussion__commands__pb2.DiscussionDownloadPhotoResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def DiscussionLockedList(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,
            '/olvid.daemon.services.v1.DiscussionCommandService/DiscussionLockedList',
            olvid_dot_daemon_dot_command_dot_v1_dot_discussion__commands__pb2.DiscussionLockedListRequest.SerializeToString,
            olvid_dot_daemon_dot_command_dot_v1_dot_discussion__commands__pb2.DiscussionLockedListResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def DiscussionLockedDelete(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,
            '/olvid.daemon.services.v1.DiscussionCommandService/DiscussionLockedDelete',
            olvid_dot_daemon_dot_command_dot_v1_dot_discussion__commands__pb2.DiscussionLockedDeleteRequest.SerializeToString,
            olvid_dot_daemon_dot_command_dot_v1_dot_discussion__commands__pb2.DiscussionLockedDeleteResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)


class MessageCommandServiceStub(object):
    """Message
    """

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

        Args:
            channel: A grpc.Channel.
        """
        self.MessageList = channel.unary_stream(
                '/olvid.daemon.services.v1.MessageCommandService/MessageList',
                request_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_message__commands__pb2.MessageListRequest.SerializeToString,
                response_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_message__commands__pb2.MessageListResponse.FromString,
                _registered_method=True)
        self.MessageGet = channel.unary_unary(
                '/olvid.daemon.services.v1.MessageCommandService/MessageGet',
                request_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_message__commands__pb2.MessageGetRequest.SerializeToString,
                response_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_message__commands__pb2.MessageGetResponse.FromString,
                _registered_method=True)
        self.MessageRefresh = channel.unary_unary(
                '/olvid.daemon.services.v1.MessageCommandService/MessageRefresh',
                request_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_message__commands__pb2.MessageRefreshRequest.SerializeToString,
                response_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_message__commands__pb2.MessageRefreshResponse.FromString,
                _registered_method=True)
        self.MessageDelete = channel.unary_unary(
                '/olvid.daemon.services.v1.MessageCommandService/MessageDelete',
                request_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_message__commands__pb2.MessageDeleteRequest.SerializeToString,
                response_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_message__commands__pb2.MessageDeleteResponse.FromString,
                _registered_method=True)
        self.MessageSend = channel.unary_unary(
                '/olvid.daemon.services.v1.MessageCommandService/MessageSend',
                request_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_message__commands__pb2.MessageSendRequest.SerializeToString,
                response_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_message__commands__pb2.MessageSendResponse.FromString,
                _registered_method=True)
        self.MessageSendWithAttachments = channel.stream_unary(
                '/olvid.daemon.services.v1.MessageCommandService/MessageSendWithAttachments',
                request_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_message__commands__pb2.MessageSendWithAttachmentsRequest.SerializeToString,
                response_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_message__commands__pb2.MessageSendWithAttachmentsResponse.FromString,
                _registered_method=True)
        self.MessageSendLocation = channel.unary_unary(
                '/olvid.daemon.services.v1.MessageCommandService/MessageSendLocation',
                request_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_message__commands__pb2.MessageSendLocationRequest.SerializeToString,
                response_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_message__commands__pb2.MessageSendLocationResponse.FromString,
                _registered_method=True)
        self.MessageStartLocationSharing = channel.unary_unary(
                '/olvid.daemon.services.v1.MessageCommandService/MessageStartLocationSharing',
                request_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_message__commands__pb2.MessageStartLocationSharingRequest.SerializeToString,
                response_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_message__commands__pb2.MessageStartLocationSharingResponse.FromString,
                _registered_method=True)
        self.MessageUpdateLocationSharing = channel.unary_unary(
                '/olvid.daemon.services.v1.MessageCommandService/MessageUpdateLocationSharing',
                request_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_message__commands__pb2.MessageUpdateLocationSharingRequest.SerializeToString,
                response_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_message__commands__pb2.MessageUpdateLocationSharingResponse.FromString,
                _registered_method=True)
        self.MessageEndLocationSharing = channel.unary_unary(
                '/olvid.daemon.services.v1.MessageCommandService/MessageEndLocationSharing',
                request_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_message__commands__pb2.MessageEndLocationSharingRequest.SerializeToString,
                response_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_message__commands__pb2.MessageEndLocationSharingResponse.FromString,
                _registered_method=True)
        self.MessageReact = channel.unary_unary(
                '/olvid.daemon.services.v1.MessageCommandService/MessageReact',
                request_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_message__commands__pb2.MessageReactRequest.SerializeToString,
                response_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_message__commands__pb2.MessageReactResponse.FromString,
                _registered_method=True)
        self.MessageUpdateBody = channel.unary_unary(
                '/olvid.daemon.services.v1.MessageCommandService/MessageUpdateBody',
                request_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_message__commands__pb2.MessageUpdateBodyRequest.SerializeToString,
                response_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_message__commands__pb2.MessageUpdateBodyResponse.FromString,
                _registered_method=True)


class MessageCommandServiceServicer(object):
    """Message
    """

    def MessageList(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 MessageGet(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 MessageRefresh(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 MessageDelete(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 MessageSend(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 MessageSendWithAttachments(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 MessageSendLocation(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 MessageStartLocationSharing(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 MessageUpdateLocationSharing(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 MessageEndLocationSharing(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 MessageReact(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 MessageUpdateBody(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_MessageCommandServiceServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'MessageList': grpc.unary_stream_rpc_method_handler(
                    servicer.MessageList,
                    request_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_message__commands__pb2.MessageListRequest.FromString,
                    response_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_message__commands__pb2.MessageListResponse.SerializeToString,
            ),
            'MessageGet': grpc.unary_unary_rpc_method_handler(
                    servicer.MessageGet,
                    request_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_message__commands__pb2.MessageGetRequest.FromString,
                    response_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_message__commands__pb2.MessageGetResponse.SerializeToString,
            ),
            'MessageRefresh': grpc.unary_unary_rpc_method_handler(
                    servicer.MessageRefresh,
                    request_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_message__commands__pb2.MessageRefreshRequest.FromString,
                    response_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_message__commands__pb2.MessageRefreshResponse.SerializeToString,
            ),
            'MessageDelete': grpc.unary_unary_rpc_method_handler(
                    servicer.MessageDelete,
                    request_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_message__commands__pb2.MessageDeleteRequest.FromString,
                    response_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_message__commands__pb2.MessageDeleteResponse.SerializeToString,
            ),
            'MessageSend': grpc.unary_unary_rpc_method_handler(
                    servicer.MessageSend,
                    request_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_message__commands__pb2.MessageSendRequest.FromString,
                    response_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_message__commands__pb2.MessageSendResponse.SerializeToString,
            ),
            'MessageSendWithAttachments': grpc.stream_unary_rpc_method_handler(
                    servicer.MessageSendWithAttachments,
                    request_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_message__commands__pb2.MessageSendWithAttachmentsRequest.FromString,
                    response_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_message__commands__pb2.MessageSendWithAttachmentsResponse.SerializeToString,
            ),
            'MessageSendLocation': grpc.unary_unary_rpc_method_handler(
                    servicer.MessageSendLocation,
                    request_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_message__commands__pb2.MessageSendLocationRequest.FromString,
                    response_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_message__commands__pb2.MessageSendLocationResponse.SerializeToString,
            ),
            'MessageStartLocationSharing': grpc.unary_unary_rpc_method_handler(
                    servicer.MessageStartLocationSharing,
                    request_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_message__commands__pb2.MessageStartLocationSharingRequest.FromString,
                    response_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_message__commands__pb2.MessageStartLocationSharingResponse.SerializeToString,
            ),
            'MessageUpdateLocationSharing': grpc.unary_unary_rpc_method_handler(
                    servicer.MessageUpdateLocationSharing,
                    request_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_message__commands__pb2.MessageUpdateLocationSharingRequest.FromString,
                    response_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_message__commands__pb2.MessageUpdateLocationSharingResponse.SerializeToString,
            ),
            'MessageEndLocationSharing': grpc.unary_unary_rpc_method_handler(
                    servicer.MessageEndLocationSharing,
                    request_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_message__commands__pb2.MessageEndLocationSharingRequest.FromString,
                    response_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_message__commands__pb2.MessageEndLocationSharingResponse.SerializeToString,
            ),
            'MessageReact': grpc.unary_unary_rpc_method_handler(
                    servicer.MessageReact,
                    request_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_message__commands__pb2.MessageReactRequest.FromString,
                    response_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_message__commands__pb2.MessageReactResponse.SerializeToString,
            ),
            'MessageUpdateBody': grpc.unary_unary_rpc_method_handler(
                    servicer.MessageUpdateBody,
                    request_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_message__commands__pb2.MessageUpdateBodyRequest.FromString,
                    response_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_message__commands__pb2.MessageUpdateBodyResponse.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'olvid.daemon.services.v1.MessageCommandService', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))
    server.add_registered_method_handlers('olvid.daemon.services.v1.MessageCommandService', rpc_method_handlers)


 # This class is part of an EXPERIMENTAL API.
class MessageCommandService(object):
    """Message
    """

    @staticmethod
    def MessageList(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,
            '/olvid.daemon.services.v1.MessageCommandService/MessageList',
            olvid_dot_daemon_dot_command_dot_v1_dot_message__commands__pb2.MessageListRequest.SerializeToString,
            olvid_dot_daemon_dot_command_dot_v1_dot_message__commands__pb2.MessageListResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def MessageGet(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,
            '/olvid.daemon.services.v1.MessageCommandService/MessageGet',
            olvid_dot_daemon_dot_command_dot_v1_dot_message__commands__pb2.MessageGetRequest.SerializeToString,
            olvid_dot_daemon_dot_command_dot_v1_dot_message__commands__pb2.MessageGetResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def MessageRefresh(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,
            '/olvid.daemon.services.v1.MessageCommandService/MessageRefresh',
            olvid_dot_daemon_dot_command_dot_v1_dot_message__commands__pb2.MessageRefreshRequest.SerializeToString,
            olvid_dot_daemon_dot_command_dot_v1_dot_message__commands__pb2.MessageRefreshResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def MessageDelete(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,
            '/olvid.daemon.services.v1.MessageCommandService/MessageDelete',
            olvid_dot_daemon_dot_command_dot_v1_dot_message__commands__pb2.MessageDeleteRequest.SerializeToString,
            olvid_dot_daemon_dot_command_dot_v1_dot_message__commands__pb2.MessageDeleteResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def MessageSend(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,
            '/olvid.daemon.services.v1.MessageCommandService/MessageSend',
            olvid_dot_daemon_dot_command_dot_v1_dot_message__commands__pb2.MessageSendRequest.SerializeToString,
            olvid_dot_daemon_dot_command_dot_v1_dot_message__commands__pb2.MessageSendResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def MessageSendWithAttachments(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,
            '/olvid.daemon.services.v1.MessageCommandService/MessageSendWithAttachments',
            olvid_dot_daemon_dot_command_dot_v1_dot_message__commands__pb2.MessageSendWithAttachmentsRequest.SerializeToString,
            olvid_dot_daemon_dot_command_dot_v1_dot_message__commands__pb2.MessageSendWithAttachmentsResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def MessageSendLocation(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,
            '/olvid.daemon.services.v1.MessageCommandService/MessageSendLocation',
            olvid_dot_daemon_dot_command_dot_v1_dot_message__commands__pb2.MessageSendLocationRequest.SerializeToString,
            olvid_dot_daemon_dot_command_dot_v1_dot_message__commands__pb2.MessageSendLocationResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def MessageStartLocationSharing(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,
            '/olvid.daemon.services.v1.MessageCommandService/MessageStartLocationSharing',
            olvid_dot_daemon_dot_command_dot_v1_dot_message__commands__pb2.MessageStartLocationSharingRequest.SerializeToString,
            olvid_dot_daemon_dot_command_dot_v1_dot_message__commands__pb2.MessageStartLocationSharingResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def MessageUpdateLocationSharing(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,
            '/olvid.daemon.services.v1.MessageCommandService/MessageUpdateLocationSharing',
            olvid_dot_daemon_dot_command_dot_v1_dot_message__commands__pb2.MessageUpdateLocationSharingRequest.SerializeToString,
            olvid_dot_daemon_dot_command_dot_v1_dot_message__commands__pb2.MessageUpdateLocationSharingResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def MessageEndLocationSharing(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,
            '/olvid.daemon.services.v1.MessageCommandService/MessageEndLocationSharing',
            olvid_dot_daemon_dot_command_dot_v1_dot_message__commands__pb2.MessageEndLocationSharingRequest.SerializeToString,
            olvid_dot_daemon_dot_command_dot_v1_dot_message__commands__pb2.MessageEndLocationSharingResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def MessageReact(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,
            '/olvid.daemon.services.v1.MessageCommandService/MessageReact',
            olvid_dot_daemon_dot_command_dot_v1_dot_message__commands__pb2.MessageReactRequest.SerializeToString,
            olvid_dot_daemon_dot_command_dot_v1_dot_message__commands__pb2.MessageReactResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def MessageUpdateBody(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,
            '/olvid.daemon.services.v1.MessageCommandService/MessageUpdateBody',
            olvid_dot_daemon_dot_command_dot_v1_dot_message__commands__pb2.MessageUpdateBodyRequest.SerializeToString,
            olvid_dot_daemon_dot_command_dot_v1_dot_message__commands__pb2.MessageUpdateBodyResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)


class AttachmentCommandServiceStub(object):
    """Attachment
    """

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

        Args:
            channel: A grpc.Channel.
        """
        self.AttachmentList = channel.unary_stream(
                '/olvid.daemon.services.v1.AttachmentCommandService/AttachmentList',
                request_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_attachment__commands__pb2.AttachmentListRequest.SerializeToString,
                response_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_attachment__commands__pb2.AttachmentListResponse.FromString,
                _registered_method=True)
        self.AttachmentGet = channel.unary_unary(
                '/olvid.daemon.services.v1.AttachmentCommandService/AttachmentGet',
                request_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_attachment__commands__pb2.AttachmentGetRequest.SerializeToString,
                response_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_attachment__commands__pb2.AttachmentGetResponse.FromString,
                _registered_method=True)
        self.AttachmentDelete = channel.unary_unary(
                '/olvid.daemon.services.v1.AttachmentCommandService/AttachmentDelete',
                request_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_attachment__commands__pb2.AttachmentDeleteRequest.SerializeToString,
                response_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_attachment__commands__pb2.AttachmentDeleteResponse.FromString,
                _registered_method=True)
        self.AttachmentDownload = channel.unary_stream(
                '/olvid.daemon.services.v1.AttachmentCommandService/AttachmentDownload',
                request_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_attachment__commands__pb2.AttachmentDownloadRequest.SerializeToString,
                response_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_attachment__commands__pb2.AttachmentDownloadResponse.FromString,
                _registered_method=True)


class AttachmentCommandServiceServicer(object):
    """Attachment
    """

    def AttachmentList(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 AttachmentGet(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 AttachmentDelete(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 AttachmentDownload(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_AttachmentCommandServiceServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'AttachmentList': grpc.unary_stream_rpc_method_handler(
                    servicer.AttachmentList,
                    request_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_attachment__commands__pb2.AttachmentListRequest.FromString,
                    response_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_attachment__commands__pb2.AttachmentListResponse.SerializeToString,
            ),
            'AttachmentGet': grpc.unary_unary_rpc_method_handler(
                    servicer.AttachmentGet,
                    request_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_attachment__commands__pb2.AttachmentGetRequest.FromString,
                    response_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_attachment__commands__pb2.AttachmentGetResponse.SerializeToString,
            ),
            'AttachmentDelete': grpc.unary_unary_rpc_method_handler(
                    servicer.AttachmentDelete,
                    request_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_attachment__commands__pb2.AttachmentDeleteRequest.FromString,
                    response_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_attachment__commands__pb2.AttachmentDeleteResponse.SerializeToString,
            ),
            'AttachmentDownload': grpc.unary_stream_rpc_method_handler(
                    servicer.AttachmentDownload,
                    request_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_attachment__commands__pb2.AttachmentDownloadRequest.FromString,
                    response_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_attachment__commands__pb2.AttachmentDownloadResponse.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'olvid.daemon.services.v1.AttachmentCommandService', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))
    server.add_registered_method_handlers('olvid.daemon.services.v1.AttachmentCommandService', rpc_method_handlers)


 # This class is part of an EXPERIMENTAL API.
class AttachmentCommandService(object):
    """Attachment
    """

    @staticmethod
    def AttachmentList(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,
            '/olvid.daemon.services.v1.AttachmentCommandService/AttachmentList',
            olvid_dot_daemon_dot_command_dot_v1_dot_attachment__commands__pb2.AttachmentListRequest.SerializeToString,
            olvid_dot_daemon_dot_command_dot_v1_dot_attachment__commands__pb2.AttachmentListResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def AttachmentGet(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,
            '/olvid.daemon.services.v1.AttachmentCommandService/AttachmentGet',
            olvid_dot_daemon_dot_command_dot_v1_dot_attachment__commands__pb2.AttachmentGetRequest.SerializeToString,
            olvid_dot_daemon_dot_command_dot_v1_dot_attachment__commands__pb2.AttachmentGetResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def AttachmentDelete(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,
            '/olvid.daemon.services.v1.AttachmentCommandService/AttachmentDelete',
            olvid_dot_daemon_dot_command_dot_v1_dot_attachment__commands__pb2.AttachmentDeleteRequest.SerializeToString,
            olvid_dot_daemon_dot_command_dot_v1_dot_attachment__commands__pb2.AttachmentDeleteResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def AttachmentDownload(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,
            '/olvid.daemon.services.v1.AttachmentCommandService/AttachmentDownload',
            olvid_dot_daemon_dot_command_dot_v1_dot_attachment__commands__pb2.AttachmentDownloadRequest.SerializeToString,
            olvid_dot_daemon_dot_command_dot_v1_dot_attachment__commands__pb2.AttachmentDownloadResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)


class StorageCommandServiceStub(object):
    """Storage
    """

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

        Args:
            channel: A grpc.Channel.
        """
        self.StorageList = channel.unary_stream(
                '/olvid.daemon.services.v1.StorageCommandService/StorageList',
                request_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_storage__commands__pb2.StorageListRequest.SerializeToString,
                response_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_storage__commands__pb2.StorageListResponse.FromString,
                _registered_method=True)
        self.StorageGet = channel.unary_unary(
                '/olvid.daemon.services.v1.StorageCommandService/StorageGet',
                request_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_storage__commands__pb2.StorageGetRequest.SerializeToString,
                response_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_storage__commands__pb2.StorageGetResponse.FromString,
                _registered_method=True)
        self.StorageSet = channel.unary_unary(
                '/olvid.daemon.services.v1.StorageCommandService/StorageSet',
                request_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_storage__commands__pb2.StorageSetRequest.SerializeToString,
                response_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_storage__commands__pb2.StorageSetResponse.FromString,
                _registered_method=True)
        self.StorageUnset = channel.unary_unary(
                '/olvid.daemon.services.v1.StorageCommandService/StorageUnset',
                request_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_storage__commands__pb2.StorageUnsetRequest.SerializeToString,
                response_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_storage__commands__pb2.StorageUnsetResponse.FromString,
                _registered_method=True)


class StorageCommandServiceServicer(object):
    """Storage
    """

    def StorageList(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 StorageGet(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 StorageSet(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 StorageUnset(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_StorageCommandServiceServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'StorageList': grpc.unary_stream_rpc_method_handler(
                    servicer.StorageList,
                    request_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_storage__commands__pb2.StorageListRequest.FromString,
                    response_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_storage__commands__pb2.StorageListResponse.SerializeToString,
            ),
            'StorageGet': grpc.unary_unary_rpc_method_handler(
                    servicer.StorageGet,
                    request_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_storage__commands__pb2.StorageGetRequest.FromString,
                    response_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_storage__commands__pb2.StorageGetResponse.SerializeToString,
            ),
            'StorageSet': grpc.unary_unary_rpc_method_handler(
                    servicer.StorageSet,
                    request_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_storage__commands__pb2.StorageSetRequest.FromString,
                    response_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_storage__commands__pb2.StorageSetResponse.SerializeToString,
            ),
            'StorageUnset': grpc.unary_unary_rpc_method_handler(
                    servicer.StorageUnset,
                    request_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_storage__commands__pb2.StorageUnsetRequest.FromString,
                    response_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_storage__commands__pb2.StorageUnsetResponse.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'olvid.daemon.services.v1.StorageCommandService', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))
    server.add_registered_method_handlers('olvid.daemon.services.v1.StorageCommandService', rpc_method_handlers)


 # This class is part of an EXPERIMENTAL API.
class StorageCommandService(object):
    """Storage
    """

    @staticmethod
    def StorageList(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,
            '/olvid.daemon.services.v1.StorageCommandService/StorageList',
            olvid_dot_daemon_dot_command_dot_v1_dot_storage__commands__pb2.StorageListRequest.SerializeToString,
            olvid_dot_daemon_dot_command_dot_v1_dot_storage__commands__pb2.StorageListResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def StorageGet(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,
            '/olvid.daemon.services.v1.StorageCommandService/StorageGet',
            olvid_dot_daemon_dot_command_dot_v1_dot_storage__commands__pb2.StorageGetRequest.SerializeToString,
            olvid_dot_daemon_dot_command_dot_v1_dot_storage__commands__pb2.StorageGetResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def StorageSet(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,
            '/olvid.daemon.services.v1.StorageCommandService/StorageSet',
            olvid_dot_daemon_dot_command_dot_v1_dot_storage__commands__pb2.StorageSetRequest.SerializeToString,
            olvid_dot_daemon_dot_command_dot_v1_dot_storage__commands__pb2.StorageSetResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def StorageUnset(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,
            '/olvid.daemon.services.v1.StorageCommandService/StorageUnset',
            olvid_dot_daemon_dot_command_dot_v1_dot_storage__commands__pb2.StorageUnsetRequest.SerializeToString,
            olvid_dot_daemon_dot_command_dot_v1_dot_storage__commands__pb2.StorageUnsetResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)


class DiscussionStorageCommandServiceStub(object):
    """DiscussionStorage
    """

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

        Args:
            channel: A grpc.Channel.
        """
        self.DiscussionStorageList = channel.unary_stream(
                '/olvid.daemon.services.v1.DiscussionStorageCommandService/DiscussionStorageList',
                request_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_storage__commands__pb2.DiscussionStorageListRequest.SerializeToString,
                response_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_storage__commands__pb2.DiscussionStorageListResponse.FromString,
                _registered_method=True)
        self.DiscussionStorageGet = channel.unary_unary(
                '/olvid.daemon.services.v1.DiscussionStorageCommandService/DiscussionStorageGet',
                request_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_storage__commands__pb2.DiscussionStorageGetRequest.SerializeToString,
                response_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_storage__commands__pb2.DiscussionStorageGetResponse.FromString,
                _registered_method=True)
        self.DiscussionStorageSet = channel.unary_unary(
                '/olvid.daemon.services.v1.DiscussionStorageCommandService/DiscussionStorageSet',
                request_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_storage__commands__pb2.DiscussionStorageSetRequest.SerializeToString,
                response_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_storage__commands__pb2.DiscussionStorageSetResponse.FromString,
                _registered_method=True)
        self.DiscussionStorageUnset = channel.unary_unary(
                '/olvid.daemon.services.v1.DiscussionStorageCommandService/DiscussionStorageUnset',
                request_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_storage__commands__pb2.DiscussionStorageUnsetRequest.SerializeToString,
                response_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_storage__commands__pb2.DiscussionStorageUnsetResponse.FromString,
                _registered_method=True)


class DiscussionStorageCommandServiceServicer(object):
    """DiscussionStorage
    """

    def DiscussionStorageList(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 DiscussionStorageGet(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 DiscussionStorageSet(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 DiscussionStorageUnset(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_DiscussionStorageCommandServiceServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'DiscussionStorageList': grpc.unary_stream_rpc_method_handler(
                    servicer.DiscussionStorageList,
                    request_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_storage__commands__pb2.DiscussionStorageListRequest.FromString,
                    response_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_storage__commands__pb2.DiscussionStorageListResponse.SerializeToString,
            ),
            'DiscussionStorageGet': grpc.unary_unary_rpc_method_handler(
                    servicer.DiscussionStorageGet,
                    request_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_storage__commands__pb2.DiscussionStorageGetRequest.FromString,
                    response_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_storage__commands__pb2.DiscussionStorageGetResponse.SerializeToString,
            ),
            'DiscussionStorageSet': grpc.unary_unary_rpc_method_handler(
                    servicer.DiscussionStorageSet,
                    request_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_storage__commands__pb2.DiscussionStorageSetRequest.FromString,
                    response_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_storage__commands__pb2.DiscussionStorageSetResponse.SerializeToString,
            ),
            'DiscussionStorageUnset': grpc.unary_unary_rpc_method_handler(
                    servicer.DiscussionStorageUnset,
                    request_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_storage__commands__pb2.DiscussionStorageUnsetRequest.FromString,
                    response_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_storage__commands__pb2.DiscussionStorageUnsetResponse.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'olvid.daemon.services.v1.DiscussionStorageCommandService', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))
    server.add_registered_method_handlers('olvid.daemon.services.v1.DiscussionStorageCommandService', rpc_method_handlers)


 # This class is part of an EXPERIMENTAL API.
class DiscussionStorageCommandService(object):
    """DiscussionStorage
    """

    @staticmethod
    def DiscussionStorageList(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,
            '/olvid.daemon.services.v1.DiscussionStorageCommandService/DiscussionStorageList',
            olvid_dot_daemon_dot_command_dot_v1_dot_storage__commands__pb2.DiscussionStorageListRequest.SerializeToString,
            olvid_dot_daemon_dot_command_dot_v1_dot_storage__commands__pb2.DiscussionStorageListResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def DiscussionStorageGet(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,
            '/olvid.daemon.services.v1.DiscussionStorageCommandService/DiscussionStorageGet',
            olvid_dot_daemon_dot_command_dot_v1_dot_storage__commands__pb2.DiscussionStorageGetRequest.SerializeToString,
            olvid_dot_daemon_dot_command_dot_v1_dot_storage__commands__pb2.DiscussionStorageGetResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def DiscussionStorageSet(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,
            '/olvid.daemon.services.v1.DiscussionStorageCommandService/DiscussionStorageSet',
            olvid_dot_daemon_dot_command_dot_v1_dot_storage__commands__pb2.DiscussionStorageSetRequest.SerializeToString,
            olvid_dot_daemon_dot_command_dot_v1_dot_storage__commands__pb2.DiscussionStorageSetResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def DiscussionStorageUnset(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,
            '/olvid.daemon.services.v1.DiscussionStorageCommandService/DiscussionStorageUnset',
            olvid_dot_daemon_dot_command_dot_v1_dot_storage__commands__pb2.DiscussionStorageUnsetRequest.SerializeToString,
            olvid_dot_daemon_dot_command_dot_v1_dot_storage__commands__pb2.DiscussionStorageUnsetResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)


class CallCommandServiceStub(object):
    """Call
    """

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

        Args:
            channel: A grpc.Channel.
        """
        self.CallStartDiscussionCall = channel.unary_unary(
                '/olvid.daemon.services.v1.CallCommandService/CallStartDiscussionCall',
                request_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_call__commands__pb2.CallStartDiscussionCallRequest.SerializeToString,
                response_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_call__commands__pb2.CallStartDiscussionCallResponse.FromString,
                _registered_method=True)
        self.CallStartCustomCall = channel.unary_unary(
                '/olvid.daemon.services.v1.CallCommandService/CallStartCustomCall',
                request_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_call__commands__pb2.CallStartCustomCallRequest.SerializeToString,
                response_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_call__commands__pb2.CallStartCustomCallResponse.FromString,
                _registered_method=True)


class CallCommandServiceServicer(object):
    """Call
    """

    def CallStartDiscussionCall(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 CallStartCustomCall(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_CallCommandServiceServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'CallStartDiscussionCall': grpc.unary_unary_rpc_method_handler(
                    servicer.CallStartDiscussionCall,
                    request_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_call__commands__pb2.CallStartDiscussionCallRequest.FromString,
                    response_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_call__commands__pb2.CallStartDiscussionCallResponse.SerializeToString,
            ),
            'CallStartCustomCall': grpc.unary_unary_rpc_method_handler(
                    servicer.CallStartCustomCall,
                    request_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_call__commands__pb2.CallStartCustomCallRequest.FromString,
                    response_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_call__commands__pb2.CallStartCustomCallResponse.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'olvid.daemon.services.v1.CallCommandService', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))
    server.add_registered_method_handlers('olvid.daemon.services.v1.CallCommandService', rpc_method_handlers)


 # This class is part of an EXPERIMENTAL API.
class CallCommandService(object):
    """Call
    """

    @staticmethod
    def CallStartDiscussionCall(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,
            '/olvid.daemon.services.v1.CallCommandService/CallStartDiscussionCall',
            olvid_dot_daemon_dot_command_dot_v1_dot_call__commands__pb2.CallStartDiscussionCallRequest.SerializeToString,
            olvid_dot_daemon_dot_command_dot_v1_dot_call__commands__pb2.CallStartDiscussionCallResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def CallStartCustomCall(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,
            '/olvid.daemon.services.v1.CallCommandService/CallStartCustomCall',
            olvid_dot_daemon_dot_command_dot_v1_dot_call__commands__pb2.CallStartCustomCallRequest.SerializeToString,
            olvid_dot_daemon_dot_command_dot_v1_dot_call__commands__pb2.CallStartCustomCallResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)


class SettingsCommandServiceStub(object):
    """Settings
    """

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

        Args:
            channel: A grpc.Channel.
        """
        self.SettingsIdentityGet = channel.unary_unary(
                '/olvid.daemon.services.v1.SettingsCommandService/SettingsIdentityGet',
                request_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_settings__commands__pb2.SettingsIdentityGetRequest.SerializeToString,
                response_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_settings__commands__pb2.SettingsIdentityGetResponse.FromString,
                _registered_method=True)
        self.SettingsIdentitySet = channel.unary_unary(
                '/olvid.daemon.services.v1.SettingsCommandService/SettingsIdentitySet',
                request_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_settings__commands__pb2.SettingsIdentitySetRequest.SerializeToString,
                response_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_settings__commands__pb2.SettingsIdentitySetResponse.FromString,
                _registered_method=True)
        self.SettingsDiscussionGet = channel.unary_unary(
                '/olvid.daemon.services.v1.SettingsCommandService/SettingsDiscussionGet',
                request_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_settings__commands__pb2.SettingsDiscussionGetRequest.SerializeToString,
                response_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_settings__commands__pb2.SettingsDiscussionGetResponse.FromString,
                _registered_method=True)
        self.SettingsDiscussionSet = channel.unary_unary(
                '/olvid.daemon.services.v1.SettingsCommandService/SettingsDiscussionSet',
                request_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_settings__commands__pb2.SettingsDiscussionSetRequest.SerializeToString,
                response_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_settings__commands__pb2.SettingsDiscussionSetResponse.FromString,
                _registered_method=True)


class SettingsCommandServiceServicer(object):
    """Settings
    """

    def SettingsIdentityGet(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 SettingsIdentitySet(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 SettingsDiscussionGet(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 SettingsDiscussionSet(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_SettingsCommandServiceServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'SettingsIdentityGet': grpc.unary_unary_rpc_method_handler(
                    servicer.SettingsIdentityGet,
                    request_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_settings__commands__pb2.SettingsIdentityGetRequest.FromString,
                    response_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_settings__commands__pb2.SettingsIdentityGetResponse.SerializeToString,
            ),
            'SettingsIdentitySet': grpc.unary_unary_rpc_method_handler(
                    servicer.SettingsIdentitySet,
                    request_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_settings__commands__pb2.SettingsIdentitySetRequest.FromString,
                    response_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_settings__commands__pb2.SettingsIdentitySetResponse.SerializeToString,
            ),
            'SettingsDiscussionGet': grpc.unary_unary_rpc_method_handler(
                    servicer.SettingsDiscussionGet,
                    request_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_settings__commands__pb2.SettingsDiscussionGetRequest.FromString,
                    response_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_settings__commands__pb2.SettingsDiscussionGetResponse.SerializeToString,
            ),
            'SettingsDiscussionSet': grpc.unary_unary_rpc_method_handler(
                    servicer.SettingsDiscussionSet,
                    request_deserializer=olvid_dot_daemon_dot_command_dot_v1_dot_settings__commands__pb2.SettingsDiscussionSetRequest.FromString,
                    response_serializer=olvid_dot_daemon_dot_command_dot_v1_dot_settings__commands__pb2.SettingsDiscussionSetResponse.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'olvid.daemon.services.v1.SettingsCommandService', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))
    server.add_registered_method_handlers('olvid.daemon.services.v1.SettingsCommandService', rpc_method_handlers)


 # This class is part of an EXPERIMENTAL API.
class SettingsCommandService(object):
    """Settings
    """

    @staticmethod
    def SettingsIdentityGet(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,
            '/olvid.daemon.services.v1.SettingsCommandService/SettingsIdentityGet',
            olvid_dot_daemon_dot_command_dot_v1_dot_settings__commands__pb2.SettingsIdentityGetRequest.SerializeToString,
            olvid_dot_daemon_dot_command_dot_v1_dot_settings__commands__pb2.SettingsIdentityGetResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def SettingsIdentitySet(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,
            '/olvid.daemon.services.v1.SettingsCommandService/SettingsIdentitySet',
            olvid_dot_daemon_dot_command_dot_v1_dot_settings__commands__pb2.SettingsIdentitySetRequest.SerializeToString,
            olvid_dot_daemon_dot_command_dot_v1_dot_settings__commands__pb2.SettingsIdentitySetResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def SettingsDiscussionGet(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,
            '/olvid.daemon.services.v1.SettingsCommandService/SettingsDiscussionGet',
            olvid_dot_daemon_dot_command_dot_v1_dot_settings__commands__pb2.SettingsDiscussionGetRequest.SerializeToString,
            olvid_dot_daemon_dot_command_dot_v1_dot_settings__commands__pb2.SettingsDiscussionGetResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def SettingsDiscussionSet(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,
            '/olvid.daemon.services.v1.SettingsCommandService/SettingsDiscussionSet',
            olvid_dot_daemon_dot_command_dot_v1_dot_settings__commands__pb2.SettingsDiscussionSetRequest.SerializeToString,
            olvid_dot_daemon_dot_command_dot_v1_dot_settings__commands__pb2.SettingsDiscussionSetResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)
