# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
import grpc

from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
from . import miscellaneous_pb2 as miscellaneous__pb2
from . import sequence_and_updates_pb2 as sequence__and__updates__pb2


class SequenceAndUpdatesStub(object):
  # missing associated documentation comment in .proto file
  pass

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

    Args:
      channel: A grpc.Channel.
    """
    self.GetState = channel.unary_unary(
        '/dialog.SequenceAndUpdates/GetState',
        request_serializer=sequence__and__updates__pb2.RequestGetState.SerializeToString,
        response_deserializer=miscellaneous__pb2.ResponseSeq.FromString,
        )
    self.GetDifference = channel.unary_unary(
        '/dialog.SequenceAndUpdates/GetDifference',
        request_serializer=sequence__and__updates__pb2.RequestGetDifference.SerializeToString,
        response_deserializer=sequence__and__updates__pb2.ResponseGetDifference.FromString,
        )
    self.GetDialogsDifference = channel.unary_unary(
        '/dialog.SequenceAndUpdates/GetDialogsDifference',
        request_serializer=sequence__and__updates__pb2.RequestGetDialogsDifference.SerializeToString,
        response_deserializer=sequence__and__updates__pb2.ResponseGetDialogsDifference.FromString,
        )
    self.GetReferencedEntitites = channel.unary_unary(
        '/dialog.SequenceAndUpdates/GetReferencedEntitites',
        request_serializer=sequence__and__updates__pb2.RequestGetReferencedEntitites.SerializeToString,
        response_deserializer=sequence__and__updates__pb2.ResponseGetReferencedEntitites.FromString,
        )
    self.SubscribeToOnline = channel.unary_unary(
        '/dialog.SequenceAndUpdates/SubscribeToOnline',
        request_serializer=sequence__and__updates__pb2.RequestSubscribeToOnline.SerializeToString,
        response_deserializer=miscellaneous__pb2.ResponseVoid.FromString,
        )
    self.SubscribeFromOnline = channel.unary_unary(
        '/dialog.SequenceAndUpdates/SubscribeFromOnline',
        request_serializer=sequence__and__updates__pb2.RequestSubscribeFromOnline.SerializeToString,
        response_deserializer=miscellaneous__pb2.ResponseVoid.FromString,
        )
    self.SubscribeToGroupOnline = channel.unary_unary(
        '/dialog.SequenceAndUpdates/SubscribeToGroupOnline',
        request_serializer=sequence__and__updates__pb2.RequestSubscribeToGroupOnline.SerializeToString,
        response_deserializer=miscellaneous__pb2.ResponseVoid.FromString,
        )
    self.SubscribeFromGroupOnline = channel.unary_unary(
        '/dialog.SequenceAndUpdates/SubscribeFromGroupOnline',
        request_serializer=sequence__and__updates__pb2.RequestSubscribeFromGroupOnline.SerializeToString,
        response_deserializer=miscellaneous__pb2.ResponseVoid.FromString,
        )
    self.SeqUpdates = channel.unary_stream(
        '/dialog.SequenceAndUpdates/SeqUpdates',
        request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
        response_deserializer=sequence__and__updates__pb2.SeqUpdateBox.FromString,
        )


class SequenceAndUpdatesServicer(object):
  # missing associated documentation comment in .proto file
  pass

  def GetState(self, request, context):
    """/ Get last seq number
    """
    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
    context.set_details('Method not implemented!')
    raise NotImplementedError('Method not implemented!')

  def GetDifference(self, request, context):
    """/ Get all update that happens after given seq number
    """
    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
    context.set_details('Method not implemented!')
    raise NotImplementedError('Method not implemented!')

  def GetDialogsDifference(self, request, context):
    """/ Load all dialogs that changed after given date
    """
    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
    context.set_details('Method not implemented!')
    raise NotImplementedError('Method not implemented!')

  def GetReferencedEntitites(self, request, context):
    """/ Load some required entities
    """
    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
    context.set_details('Method not implemented!')
    raise NotImplementedError('Method not implemented!')

  def SubscribeToOnline(self, request, context):
    # missing associated documentation comment in .proto file
    pass
    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
    context.set_details('Method not implemented!')
    raise NotImplementedError('Method not implemented!')

  def SubscribeFromOnline(self, request, context):
    # missing associated documentation comment in .proto file
    pass
    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
    context.set_details('Method not implemented!')
    raise NotImplementedError('Method not implemented!')

  def SubscribeToGroupOnline(self, request, context):
    # missing associated documentation comment in .proto file
    pass
    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
    context.set_details('Method not implemented!')
    raise NotImplementedError('Method not implemented!')

  def SubscribeFromGroupOnline(self, request, context):
    # missing associated documentation comment in .proto file
    pass
    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
    context.set_details('Method not implemented!')
    raise NotImplementedError('Method not implemented!')

  def SeqUpdates(self, request, context):
    """/ Get stream of the user's updates
    """
    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
    context.set_details('Method not implemented!')
    raise NotImplementedError('Method not implemented!')


def add_SequenceAndUpdatesServicer_to_server(servicer, server):
  rpc_method_handlers = {
      'GetState': grpc.unary_unary_rpc_method_handler(
          servicer.GetState,
          request_deserializer=sequence__and__updates__pb2.RequestGetState.FromString,
          response_serializer=miscellaneous__pb2.ResponseSeq.SerializeToString,
      ),
      'GetDifference': grpc.unary_unary_rpc_method_handler(
          servicer.GetDifference,
          request_deserializer=sequence__and__updates__pb2.RequestGetDifference.FromString,
          response_serializer=sequence__and__updates__pb2.ResponseGetDifference.SerializeToString,
      ),
      'GetDialogsDifference': grpc.unary_unary_rpc_method_handler(
          servicer.GetDialogsDifference,
          request_deserializer=sequence__and__updates__pb2.RequestGetDialogsDifference.FromString,
          response_serializer=sequence__and__updates__pb2.ResponseGetDialogsDifference.SerializeToString,
      ),
      'GetReferencedEntitites': grpc.unary_unary_rpc_method_handler(
          servicer.GetReferencedEntitites,
          request_deserializer=sequence__and__updates__pb2.RequestGetReferencedEntitites.FromString,
          response_serializer=sequence__and__updates__pb2.ResponseGetReferencedEntitites.SerializeToString,
      ),
      'SubscribeToOnline': grpc.unary_unary_rpc_method_handler(
          servicer.SubscribeToOnline,
          request_deserializer=sequence__and__updates__pb2.RequestSubscribeToOnline.FromString,
          response_serializer=miscellaneous__pb2.ResponseVoid.SerializeToString,
      ),
      'SubscribeFromOnline': grpc.unary_unary_rpc_method_handler(
          servicer.SubscribeFromOnline,
          request_deserializer=sequence__and__updates__pb2.RequestSubscribeFromOnline.FromString,
          response_serializer=miscellaneous__pb2.ResponseVoid.SerializeToString,
      ),
      'SubscribeToGroupOnline': grpc.unary_unary_rpc_method_handler(
          servicer.SubscribeToGroupOnline,
          request_deserializer=sequence__and__updates__pb2.RequestSubscribeToGroupOnline.FromString,
          response_serializer=miscellaneous__pb2.ResponseVoid.SerializeToString,
      ),
      'SubscribeFromGroupOnline': grpc.unary_unary_rpc_method_handler(
          servicer.SubscribeFromGroupOnline,
          request_deserializer=sequence__and__updates__pb2.RequestSubscribeFromGroupOnline.FromString,
          response_serializer=miscellaneous__pb2.ResponseVoid.SerializeToString,
      ),
      'SeqUpdates': grpc.unary_stream_rpc_method_handler(
          servicer.SeqUpdates,
          request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
          response_serializer=sequence__and__updates__pb2.SeqUpdateBox.SerializeToString,
      ),
  }
  generic_handler = grpc.method_handlers_generic_handler(
      'dialog.SequenceAndUpdates', rpc_method_handlers)
  server.add_generic_rpc_handlers((generic_handler,))
