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

from . import messaging_pb2 as messaging__pb2
from . import miscellaneous_pb2 as miscellaneous__pb2


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

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

        Args:
            channel: A grpc.Channel.
        """
        self.DoInteractiveMediaAction = channel.unary_unary(
                '/dialog.Messaging/DoInteractiveMediaAction',
                request_serializer=messaging__pb2.RequestDoInteractiveMediaAction.SerializeToString,
                response_deserializer=miscellaneous__pb2.ResponseVoid.FromString,
                )
        self.SendMessage = channel.unary_unary(
                '/dialog.Messaging/SendMessage',
                request_serializer=messaging__pb2.RequestSendMessage.SerializeToString,
                response_deserializer=messaging__pb2.ResponseSendMessage.FromString,
                )
        self.UpdateMessage = channel.unary_unary(
                '/dialog.Messaging/UpdateMessage',
                request_serializer=messaging__pb2.RequestUpdateMessage.SerializeToString,
                response_deserializer=miscellaneous__pb2.ResponseSeqDate.FromString,
                )
        self.MessageReceived = channel.unary_unary(
                '/dialog.Messaging/MessageReceived',
                request_serializer=messaging__pb2.RequestMessageReceived.SerializeToString,
                response_deserializer=miscellaneous__pb2.ResponseVoid.FromString,
                )
        self.MessageRead = channel.unary_unary(
                '/dialog.Messaging/MessageRead',
                request_serializer=messaging__pb2.RequestMessageRead.SerializeToString,
                response_deserializer=miscellaneous__pb2.ResponseVoid.FromString,
                )
        self.DeleteMessageObsolete = channel.unary_unary(
                '/dialog.Messaging/DeleteMessageObsolete',
                request_serializer=messaging__pb2.RequestDeleteMessageObsolete.SerializeToString,
                response_deserializer=miscellaneous__pb2.ResponseSeq.FromString,
                )
        self.DeleteMessage = channel.unary_unary(
                '/dialog.Messaging/DeleteMessage',
                request_serializer=messaging__pb2.RequestDeleteMessage.SerializeToString,
                response_deserializer=miscellaneous__pb2.ResponseVoid.FromString,
                )
        self.ClearChat = channel.unary_unary(
                '/dialog.Messaging/ClearChat',
                request_serializer=messaging__pb2.RequestClearChat.SerializeToString,
                response_deserializer=miscellaneous__pb2.ResponseSeq.FromString,
                )
        self.DeleteChat = channel.unary_unary(
                '/dialog.Messaging/DeleteChat',
                request_serializer=messaging__pb2.RequestDeleteChat.SerializeToString,
                response_deserializer=miscellaneous__pb2.ResponseSeq.FromString,
                )
        self.ArchiveChat = channel.unary_unary(
                '/dialog.Messaging/ArchiveChat',
                request_serializer=messaging__pb2.RequestArchiveChat.SerializeToString,
                response_deserializer=miscellaneous__pb2.ResponseSeq.FromString,
                )
        self.MessageSetReaction = channel.unary_unary(
                '/dialog.Messaging/MessageSetReaction',
                request_serializer=messaging__pb2.RequestMessageSetReaction.SerializeToString,
                response_deserializer=messaging__pb2.ResponseReactionsResponse.FromString,
                )
        self.MessageRemoveReaction = channel.unary_unary(
                '/dialog.Messaging/MessageRemoveReaction',
                request_serializer=messaging__pb2.RequestMessageRemoveReaction.SerializeToString,
                response_deserializer=messaging__pb2.ResponseReactionsResponse.FromString,
                )
        self.LoadHistory = channel.unary_unary(
                '/dialog.Messaging/LoadHistory',
                request_serializer=messaging__pb2.RequestLoadHistory.SerializeToString,
                response_deserializer=messaging__pb2.ResponseLoadHistory.FromString,
                )
        self.HistoryDifference = channel.unary_unary(
                '/dialog.Messaging/HistoryDifference',
                request_serializer=messaging__pb2.RequestHistoryDifference.SerializeToString,
                response_deserializer=messaging__pb2.ResponseHistoryDifference.FromString,
                )
        self.LoadDialogs = channel.unary_unary(
                '/dialog.Messaging/LoadDialogs',
                request_serializer=messaging__pb2.RequestLoadDialogs.SerializeToString,
                response_deserializer=messaging__pb2.ResponseLoadDialogs.FromString,
                )
        self.FetchDialogIndex = channel.unary_unary(
                '/dialog.Messaging/FetchDialogIndex',
                request_serializer=messaging__pb2.RequestFetchDialogIndex.SerializeToString,
                response_deserializer=messaging__pb2.ResponseFetchDialogIndex.FromString,
                )
        self.DialogListDifference = channel.unary_unary(
                '/dialog.Messaging/DialogListDifference',
                request_serializer=messaging__pb2.RequestDialogListDifference.SerializeToString,
                response_deserializer=messaging__pb2.ResponseDialogListDifference.FromString,
                )
        self.GetLastConversationMessages = channel.unary_unary(
                '/dialog.Messaging/GetLastConversationMessages',
                request_serializer=messaging__pb2.RequestGetLastConversationMessages.SerializeToString,
                response_deserializer=messaging__pb2.ResponseGetLastConversationMessages.FromString,
                )
        self.LoadArchived = channel.unary_unary(
                '/dialog.Messaging/LoadArchived',
                request_serializer=messaging__pb2.RequestLoadArchived.SerializeToString,
                response_deserializer=messaging__pb2.ResponseLoadArchived.FromString,
                )
        self.LoadGroupedDialogs = channel.unary_unary(
                '/dialog.Messaging/LoadGroupedDialogs',
                request_serializer=messaging__pb2.RequestLoadGroupedDialogs.SerializeToString,
                response_deserializer=messaging__pb2.ResponseLoadGroupedDialogs.FromString,
                )
        self.HideDialog = channel.unary_unary(
                '/dialog.Messaging/HideDialog',
                request_serializer=messaging__pb2.RequestHideDialog.SerializeToString,
                response_deserializer=messaging__pb2.ResponseDialogsOrder.FromString,
                )
        self.ShowDialog = channel.unary_unary(
                '/dialog.Messaging/ShowDialog',
                request_serializer=messaging__pb2.RequestShowDialog.SerializeToString,
                response_deserializer=messaging__pb2.ResponseDialogsOrder.FromString,
                )
        self.FavouriteDialog = channel.unary_unary(
                '/dialog.Messaging/FavouriteDialog',
                request_serializer=messaging__pb2.RequestFavouriteDialog.SerializeToString,
                response_deserializer=messaging__pb2.ResponseDialogsOrder.FromString,
                )
        self.UnfavouriteDialog = channel.unary_unary(
                '/dialog.Messaging/UnfavouriteDialog',
                request_serializer=messaging__pb2.RequestUnfavouriteDialog.SerializeToString,
                response_deserializer=messaging__pb2.ResponseDialogsOrder.FromString,
                )
        self.NotifyDialogOpened = channel.unary_unary(
                '/dialog.Messaging/NotifyDialogOpened',
                request_serializer=messaging__pb2.RequestNotifyDialogOpened.SerializeToString,
                response_deserializer=miscellaneous__pb2.ResponseVoid.FromString,
                )
        self.PinMessage = channel.unary_unary(
                '/dialog.Messaging/PinMessage',
                request_serializer=messaging__pb2.RequestPinMessage.SerializeToString,
                response_deserializer=miscellaneous__pb2.ResponseSeqDate.FromString,
                )
        self.UnpinMessage = channel.unary_unary(
                '/dialog.Messaging/UnpinMessage',
                request_serializer=messaging__pb2.RequestUnpinMessage.SerializeToString,
                response_deserializer=miscellaneous__pb2.ResponseSeqDate.FromString,
                )
        self.GetUpdatedMessages = channel.unary_unary(
                '/dialog.Messaging/GetUpdatedMessages',
                request_serializer=messaging__pb2.RequestGetUpdatedMessages.SerializeToString,
                response_deserializer=messaging__pb2.ResponseGetUpdatedMessages.FromString,
                )
        self.GetMessageReads = channel.unary_unary(
                '/dialog.Messaging/GetMessageReads',
                request_serializer=messaging__pb2.RequestMessageReads.SerializeToString,
                response_deserializer=messaging__pb2.ResponseMessageReads.FromString,
                )
        self.GetMessageReceives = channel.unary_unary(
                '/dialog.Messaging/GetMessageReceives',
                request_serializer=messaging__pb2.RequestMessageReceives.SerializeToString,
                response_deserializer=messaging__pb2.ResponseMessageReceives.FromString,
                )
        self.ReadDialogLater = channel.unary_unary(
                '/dialog.Messaging/ReadDialogLater',
                request_serializer=messaging__pb2.RequestReadDialogLater.SerializeToString,
                response_deserializer=miscellaneous__pb2.ResponseVoid.FromString,
                )


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

    def DoInteractiveMediaAction(self, request, context):
        """/ Interact with a message media (click on button for example)
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def SendMessage(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 UpdateMessage(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 MessageReceived(self, request, context):
        """/ Mark message as received by self
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def MessageRead(self, request, context):
        """/ Mark message as read by self
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def DeleteMessageObsolete(self, request, context):
        """/ deprecated
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def DeleteMessage(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 ClearChat(self, request, context):
        """/ Clear chat history
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def DeleteChat(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 ArchiveChat(self, request, context):
        """/ deprecated
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def MessageSetReaction(self, request, context):
        """/ Add reaction on message (emoji)
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def MessageRemoveReaction(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 LoadHistory(self, request, context):
        """/ Load conversation history
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def HistoryDifference(self, request, context):
        """/ Load total history difference for all user's conversations
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def LoadDialogs(self, request, context):
        """/ Load user's dialogs
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def FetchDialogIndex(self, request, context):
        """/ Load short info about all user's dialogs
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def DialogListDifference(self, request, context):
        """/ Load dialogs by peers
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetLastConversationMessages(self, request, context):
        """/ Load last messages of the given conversations
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def LoadArchived(self, request, context):
        """/ deprecated
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def LoadGroupedDialogs(self, request, context):
        """/ deprecated
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def HideDialog(self, request, context):
        """/ deprecated
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ShowDialog(self, request, context):
        """/ deprecated
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def FavouriteDialog(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 UnfavouriteDialog(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 NotifyDialogOpened(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 PinMessage(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 UnpinMessage(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 GetUpdatedMessages(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 GetMessageReads(self, request, context):
        """Returns read status of the message per user
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetMessageReceives(self, request, context):
        """Returns receive status of the message per user
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ReadDialogLater(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_MessagingServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'DoInteractiveMediaAction': grpc.unary_unary_rpc_method_handler(
                    servicer.DoInteractiveMediaAction,
                    request_deserializer=messaging__pb2.RequestDoInteractiveMediaAction.FromString,
                    response_serializer=miscellaneous__pb2.ResponseVoid.SerializeToString,
            ),
            'SendMessage': grpc.unary_unary_rpc_method_handler(
                    servicer.SendMessage,
                    request_deserializer=messaging__pb2.RequestSendMessage.FromString,
                    response_serializer=messaging__pb2.ResponseSendMessage.SerializeToString,
            ),
            'UpdateMessage': grpc.unary_unary_rpc_method_handler(
                    servicer.UpdateMessage,
                    request_deserializer=messaging__pb2.RequestUpdateMessage.FromString,
                    response_serializer=miscellaneous__pb2.ResponseSeqDate.SerializeToString,
            ),
            'MessageReceived': grpc.unary_unary_rpc_method_handler(
                    servicer.MessageReceived,
                    request_deserializer=messaging__pb2.RequestMessageReceived.FromString,
                    response_serializer=miscellaneous__pb2.ResponseVoid.SerializeToString,
            ),
            'MessageRead': grpc.unary_unary_rpc_method_handler(
                    servicer.MessageRead,
                    request_deserializer=messaging__pb2.RequestMessageRead.FromString,
                    response_serializer=miscellaneous__pb2.ResponseVoid.SerializeToString,
            ),
            'DeleteMessageObsolete': grpc.unary_unary_rpc_method_handler(
                    servicer.DeleteMessageObsolete,
                    request_deserializer=messaging__pb2.RequestDeleteMessageObsolete.FromString,
                    response_serializer=miscellaneous__pb2.ResponseSeq.SerializeToString,
            ),
            'DeleteMessage': grpc.unary_unary_rpc_method_handler(
                    servicer.DeleteMessage,
                    request_deserializer=messaging__pb2.RequestDeleteMessage.FromString,
                    response_serializer=miscellaneous__pb2.ResponseVoid.SerializeToString,
            ),
            'ClearChat': grpc.unary_unary_rpc_method_handler(
                    servicer.ClearChat,
                    request_deserializer=messaging__pb2.RequestClearChat.FromString,
                    response_serializer=miscellaneous__pb2.ResponseSeq.SerializeToString,
            ),
            'DeleteChat': grpc.unary_unary_rpc_method_handler(
                    servicer.DeleteChat,
                    request_deserializer=messaging__pb2.RequestDeleteChat.FromString,
                    response_serializer=miscellaneous__pb2.ResponseSeq.SerializeToString,
            ),
            'ArchiveChat': grpc.unary_unary_rpc_method_handler(
                    servicer.ArchiveChat,
                    request_deserializer=messaging__pb2.RequestArchiveChat.FromString,
                    response_serializer=miscellaneous__pb2.ResponseSeq.SerializeToString,
            ),
            'MessageSetReaction': grpc.unary_unary_rpc_method_handler(
                    servicer.MessageSetReaction,
                    request_deserializer=messaging__pb2.RequestMessageSetReaction.FromString,
                    response_serializer=messaging__pb2.ResponseReactionsResponse.SerializeToString,
            ),
            'MessageRemoveReaction': grpc.unary_unary_rpc_method_handler(
                    servicer.MessageRemoveReaction,
                    request_deserializer=messaging__pb2.RequestMessageRemoveReaction.FromString,
                    response_serializer=messaging__pb2.ResponseReactionsResponse.SerializeToString,
            ),
            'LoadHistory': grpc.unary_unary_rpc_method_handler(
                    servicer.LoadHistory,
                    request_deserializer=messaging__pb2.RequestLoadHistory.FromString,
                    response_serializer=messaging__pb2.ResponseLoadHistory.SerializeToString,
            ),
            'HistoryDifference': grpc.unary_unary_rpc_method_handler(
                    servicer.HistoryDifference,
                    request_deserializer=messaging__pb2.RequestHistoryDifference.FromString,
                    response_serializer=messaging__pb2.ResponseHistoryDifference.SerializeToString,
            ),
            'LoadDialogs': grpc.unary_unary_rpc_method_handler(
                    servicer.LoadDialogs,
                    request_deserializer=messaging__pb2.RequestLoadDialogs.FromString,
                    response_serializer=messaging__pb2.ResponseLoadDialogs.SerializeToString,
            ),
            'FetchDialogIndex': grpc.unary_unary_rpc_method_handler(
                    servicer.FetchDialogIndex,
                    request_deserializer=messaging__pb2.RequestFetchDialogIndex.FromString,
                    response_serializer=messaging__pb2.ResponseFetchDialogIndex.SerializeToString,
            ),
            'DialogListDifference': grpc.unary_unary_rpc_method_handler(
                    servicer.DialogListDifference,
                    request_deserializer=messaging__pb2.RequestDialogListDifference.FromString,
                    response_serializer=messaging__pb2.ResponseDialogListDifference.SerializeToString,
            ),
            'GetLastConversationMessages': grpc.unary_unary_rpc_method_handler(
                    servicer.GetLastConversationMessages,
                    request_deserializer=messaging__pb2.RequestGetLastConversationMessages.FromString,
                    response_serializer=messaging__pb2.ResponseGetLastConversationMessages.SerializeToString,
            ),
            'LoadArchived': grpc.unary_unary_rpc_method_handler(
                    servicer.LoadArchived,
                    request_deserializer=messaging__pb2.RequestLoadArchived.FromString,
                    response_serializer=messaging__pb2.ResponseLoadArchived.SerializeToString,
            ),
            'LoadGroupedDialogs': grpc.unary_unary_rpc_method_handler(
                    servicer.LoadGroupedDialogs,
                    request_deserializer=messaging__pb2.RequestLoadGroupedDialogs.FromString,
                    response_serializer=messaging__pb2.ResponseLoadGroupedDialogs.SerializeToString,
            ),
            'HideDialog': grpc.unary_unary_rpc_method_handler(
                    servicer.HideDialog,
                    request_deserializer=messaging__pb2.RequestHideDialog.FromString,
                    response_serializer=messaging__pb2.ResponseDialogsOrder.SerializeToString,
            ),
            'ShowDialog': grpc.unary_unary_rpc_method_handler(
                    servicer.ShowDialog,
                    request_deserializer=messaging__pb2.RequestShowDialog.FromString,
                    response_serializer=messaging__pb2.ResponseDialogsOrder.SerializeToString,
            ),
            'FavouriteDialog': grpc.unary_unary_rpc_method_handler(
                    servicer.FavouriteDialog,
                    request_deserializer=messaging__pb2.RequestFavouriteDialog.FromString,
                    response_serializer=messaging__pb2.ResponseDialogsOrder.SerializeToString,
            ),
            'UnfavouriteDialog': grpc.unary_unary_rpc_method_handler(
                    servicer.UnfavouriteDialog,
                    request_deserializer=messaging__pb2.RequestUnfavouriteDialog.FromString,
                    response_serializer=messaging__pb2.ResponseDialogsOrder.SerializeToString,
            ),
            'NotifyDialogOpened': grpc.unary_unary_rpc_method_handler(
                    servicer.NotifyDialogOpened,
                    request_deserializer=messaging__pb2.RequestNotifyDialogOpened.FromString,
                    response_serializer=miscellaneous__pb2.ResponseVoid.SerializeToString,
            ),
            'PinMessage': grpc.unary_unary_rpc_method_handler(
                    servicer.PinMessage,
                    request_deserializer=messaging__pb2.RequestPinMessage.FromString,
                    response_serializer=miscellaneous__pb2.ResponseSeqDate.SerializeToString,
            ),
            'UnpinMessage': grpc.unary_unary_rpc_method_handler(
                    servicer.UnpinMessage,
                    request_deserializer=messaging__pb2.RequestUnpinMessage.FromString,
                    response_serializer=miscellaneous__pb2.ResponseSeqDate.SerializeToString,
            ),
            'GetUpdatedMessages': grpc.unary_unary_rpc_method_handler(
                    servicer.GetUpdatedMessages,
                    request_deserializer=messaging__pb2.RequestGetUpdatedMessages.FromString,
                    response_serializer=messaging__pb2.ResponseGetUpdatedMessages.SerializeToString,
            ),
            'GetMessageReads': grpc.unary_unary_rpc_method_handler(
                    servicer.GetMessageReads,
                    request_deserializer=messaging__pb2.RequestMessageReads.FromString,
                    response_serializer=messaging__pb2.ResponseMessageReads.SerializeToString,
            ),
            'GetMessageReceives': grpc.unary_unary_rpc_method_handler(
                    servicer.GetMessageReceives,
                    request_deserializer=messaging__pb2.RequestMessageReceives.FromString,
                    response_serializer=messaging__pb2.ResponseMessageReceives.SerializeToString,
            ),
            'ReadDialogLater': grpc.unary_unary_rpc_method_handler(
                    servicer.ReadDialogLater,
                    request_deserializer=messaging__pb2.RequestReadDialogLater.FromString,
                    response_serializer=miscellaneous__pb2.ResponseVoid.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'dialog.Messaging', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))


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

    @staticmethod
    def DoInteractiveMediaAction(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, '/dialog.Messaging/DoInteractiveMediaAction',
            messaging__pb2.RequestDoInteractiveMediaAction.SerializeToString,
            miscellaneous__pb2.ResponseVoid.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def SendMessage(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, '/dialog.Messaging/SendMessage',
            messaging__pb2.RequestSendMessage.SerializeToString,
            messaging__pb2.ResponseSendMessage.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def UpdateMessage(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, '/dialog.Messaging/UpdateMessage',
            messaging__pb2.RequestUpdateMessage.SerializeToString,
            miscellaneous__pb2.ResponseSeqDate.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def MessageReceived(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, '/dialog.Messaging/MessageReceived',
            messaging__pb2.RequestMessageReceived.SerializeToString,
            miscellaneous__pb2.ResponseVoid.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def MessageRead(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, '/dialog.Messaging/MessageRead',
            messaging__pb2.RequestMessageRead.SerializeToString,
            miscellaneous__pb2.ResponseVoid.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def DeleteMessageObsolete(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, '/dialog.Messaging/DeleteMessageObsolete',
            messaging__pb2.RequestDeleteMessageObsolete.SerializeToString,
            miscellaneous__pb2.ResponseSeq.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def DeleteMessage(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, '/dialog.Messaging/DeleteMessage',
            messaging__pb2.RequestDeleteMessage.SerializeToString,
            miscellaneous__pb2.ResponseVoid.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ClearChat(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, '/dialog.Messaging/ClearChat',
            messaging__pb2.RequestClearChat.SerializeToString,
            miscellaneous__pb2.ResponseSeq.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def DeleteChat(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, '/dialog.Messaging/DeleteChat',
            messaging__pb2.RequestDeleteChat.SerializeToString,
            miscellaneous__pb2.ResponseSeq.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ArchiveChat(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, '/dialog.Messaging/ArchiveChat',
            messaging__pb2.RequestArchiveChat.SerializeToString,
            miscellaneous__pb2.ResponseSeq.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def MessageSetReaction(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, '/dialog.Messaging/MessageSetReaction',
            messaging__pb2.RequestMessageSetReaction.SerializeToString,
            messaging__pb2.ResponseReactionsResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def MessageRemoveReaction(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, '/dialog.Messaging/MessageRemoveReaction',
            messaging__pb2.RequestMessageRemoveReaction.SerializeToString,
            messaging__pb2.ResponseReactionsResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def LoadHistory(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, '/dialog.Messaging/LoadHistory',
            messaging__pb2.RequestLoadHistory.SerializeToString,
            messaging__pb2.ResponseLoadHistory.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def HistoryDifference(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, '/dialog.Messaging/HistoryDifference',
            messaging__pb2.RequestHistoryDifference.SerializeToString,
            messaging__pb2.ResponseHistoryDifference.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def LoadDialogs(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, '/dialog.Messaging/LoadDialogs',
            messaging__pb2.RequestLoadDialogs.SerializeToString,
            messaging__pb2.ResponseLoadDialogs.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def FetchDialogIndex(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, '/dialog.Messaging/FetchDialogIndex',
            messaging__pb2.RequestFetchDialogIndex.SerializeToString,
            messaging__pb2.ResponseFetchDialogIndex.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def DialogListDifference(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, '/dialog.Messaging/DialogListDifference',
            messaging__pb2.RequestDialogListDifference.SerializeToString,
            messaging__pb2.ResponseDialogListDifference.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetLastConversationMessages(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, '/dialog.Messaging/GetLastConversationMessages',
            messaging__pb2.RequestGetLastConversationMessages.SerializeToString,
            messaging__pb2.ResponseGetLastConversationMessages.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def LoadArchived(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, '/dialog.Messaging/LoadArchived',
            messaging__pb2.RequestLoadArchived.SerializeToString,
            messaging__pb2.ResponseLoadArchived.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def LoadGroupedDialogs(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, '/dialog.Messaging/LoadGroupedDialogs',
            messaging__pb2.RequestLoadGroupedDialogs.SerializeToString,
            messaging__pb2.ResponseLoadGroupedDialogs.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def HideDialog(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, '/dialog.Messaging/HideDialog',
            messaging__pb2.RequestHideDialog.SerializeToString,
            messaging__pb2.ResponseDialogsOrder.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ShowDialog(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, '/dialog.Messaging/ShowDialog',
            messaging__pb2.RequestShowDialog.SerializeToString,
            messaging__pb2.ResponseDialogsOrder.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def FavouriteDialog(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, '/dialog.Messaging/FavouriteDialog',
            messaging__pb2.RequestFavouriteDialog.SerializeToString,
            messaging__pb2.ResponseDialogsOrder.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def UnfavouriteDialog(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, '/dialog.Messaging/UnfavouriteDialog',
            messaging__pb2.RequestUnfavouriteDialog.SerializeToString,
            messaging__pb2.ResponseDialogsOrder.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def NotifyDialogOpened(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, '/dialog.Messaging/NotifyDialogOpened',
            messaging__pb2.RequestNotifyDialogOpened.SerializeToString,
            miscellaneous__pb2.ResponseVoid.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def PinMessage(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, '/dialog.Messaging/PinMessage',
            messaging__pb2.RequestPinMessage.SerializeToString,
            miscellaneous__pb2.ResponseSeqDate.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def UnpinMessage(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, '/dialog.Messaging/UnpinMessage',
            messaging__pb2.RequestUnpinMessage.SerializeToString,
            miscellaneous__pb2.ResponseSeqDate.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetUpdatedMessages(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, '/dialog.Messaging/GetUpdatedMessages',
            messaging__pb2.RequestGetUpdatedMessages.SerializeToString,
            messaging__pb2.ResponseGetUpdatedMessages.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetMessageReads(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, '/dialog.Messaging/GetMessageReads',
            messaging__pb2.RequestMessageReads.SerializeToString,
            messaging__pb2.ResponseMessageReads.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetMessageReceives(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, '/dialog.Messaging/GetMessageReceives',
            messaging__pb2.RequestMessageReceives.SerializeToString,
            messaging__pb2.ResponseMessageReceives.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ReadDialogLater(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, '/dialog.Messaging/ReadDialogLater',
            messaging__pb2.RequestReadDialogLater.SerializeToString,
            miscellaneous__pb2.ResponseVoid.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
