# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
import grpc
from grpc.framework.common import cardinality
from grpc.framework.interfaces.face import utilities as face_utilities

import mc_rpc_pb2 as mc__rpc__pb2


class FCStub(object):

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

    Args:
      channel: A grpc.Channel.
    """
    self.ResetLoiter = channel.unary_unary(
        '/mc_rpc.FC/ResetLoiter',
        request_serializer=mc__rpc__pb2.id.SerializeToString,
        response_deserializer=mc__rpc__pb2.response.FromString,
        )
    self.ControlFRU = channel.unary_unary(
        '/mc_rpc.FC/ControlFRU',
        request_serializer=mc__rpc__pb2.movement.SerializeToString,
        response_deserializer=mc__rpc__pb2.response.FromString,
        )
    self.SetGear = channel.unary_unary(
        '/mc_rpc.FC/SetGear',
        request_serializer=mc__rpc__pb2.Gear.SerializeToString,
        response_deserializer=mc__rpc__pb2.response.FromString,
        )
    self.TargetByMetres = channel.unary_unary(
        '/mc_rpc.FC/TargetByMetres',
        request_serializer=mc__rpc__pb2.DistanceMetres.SerializeToString,
        response_deserializer=mc__rpc__pb2.response.FromString,
        )
    self.TargetByAngle = channel.unary_unary(
        '/mc_rpc.FC/TargetByAngle',
        request_serializer=mc__rpc__pb2.DistanceAngle.SerializeToString,
        response_deserializer=mc__rpc__pb2.response.FromString,
        )
    self.PlanRoute = channel.unary_unary(
        '/mc_rpc.FC/PlanRoute',
        request_serializer=mc__rpc__pb2.waypoints.SerializeToString,
        response_deserializer=mc__rpc__pb2.response.FromString,
        )
    self.Guided = channel.unary_unary(
        '/mc_rpc.FC/Guided',
        request_serializer=mc__rpc__pb2.id.SerializeToString,
        response_deserializer=mc__rpc__pb2.response.FromString,
        )
    self.RTL = channel.unary_unary(
        '/mc_rpc.FC/RTL',
        request_serializer=mc__rpc__pb2.id.SerializeToString,
        response_deserializer=mc__rpc__pb2.response.FromString,
        )
    self.Auto = channel.unary_unary(
        '/mc_rpc.FC/Auto',
        request_serializer=mc__rpc__pb2.id.SerializeToString,
        response_deserializer=mc__rpc__pb2.response.FromString,
        )
    self.AI_Guided = channel.unary_unary(
        '/mc_rpc.FC/AI_Guided',
        request_serializer=mc__rpc__pb2.id.SerializeToString,
        response_deserializer=mc__rpc__pb2.response.FromString,
        )
    self.AI_RTL = channel.unary_unary(
        '/mc_rpc.FC/AI_RTL',
        request_serializer=mc__rpc__pb2.id.SerializeToString,
        response_deserializer=mc__rpc__pb2.response.FromString,
        )
    self.AI_Auto = channel.unary_unary(
        '/mc_rpc.FC/AI_Auto',
        request_serializer=mc__rpc__pb2.id.SerializeToString,
        response_deserializer=mc__rpc__pb2.response.FromString,
        )


class FCServicer(object):

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

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

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

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

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

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

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

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

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

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

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

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


def add_FCServicer_to_server(servicer, server):
  rpc_method_handlers = {
      'ResetLoiter': grpc.unary_unary_rpc_method_handler(
          servicer.ResetLoiter,
          request_deserializer=mc__rpc__pb2.id.FromString,
          response_serializer=mc__rpc__pb2.response.SerializeToString,
      ),
      'ControlFRU': grpc.unary_unary_rpc_method_handler(
          servicer.ControlFRU,
          request_deserializer=mc__rpc__pb2.movement.FromString,
          response_serializer=mc__rpc__pb2.response.SerializeToString,
      ),
      'SetGear': grpc.unary_unary_rpc_method_handler(
          servicer.SetGear,
          request_deserializer=mc__rpc__pb2.Gear.FromString,
          response_serializer=mc__rpc__pb2.response.SerializeToString,
      ),
      'TargetByMetres': grpc.unary_unary_rpc_method_handler(
          servicer.TargetByMetres,
          request_deserializer=mc__rpc__pb2.DistanceMetres.FromString,
          response_serializer=mc__rpc__pb2.response.SerializeToString,
      ),
      'TargetByAngle': grpc.unary_unary_rpc_method_handler(
          servicer.TargetByAngle,
          request_deserializer=mc__rpc__pb2.DistanceAngle.FromString,
          response_serializer=mc__rpc__pb2.response.SerializeToString,
      ),
      'PlanRoute': grpc.unary_unary_rpc_method_handler(
          servicer.PlanRoute,
          request_deserializer=mc__rpc__pb2.waypoints.FromString,
          response_serializer=mc__rpc__pb2.response.SerializeToString,
      ),
      'Guided': grpc.unary_unary_rpc_method_handler(
          servicer.Guided,
          request_deserializer=mc__rpc__pb2.id.FromString,
          response_serializer=mc__rpc__pb2.response.SerializeToString,
      ),
      'RTL': grpc.unary_unary_rpc_method_handler(
          servicer.RTL,
          request_deserializer=mc__rpc__pb2.id.FromString,
          response_serializer=mc__rpc__pb2.response.SerializeToString,
      ),
      'Auto': grpc.unary_unary_rpc_method_handler(
          servicer.Auto,
          request_deserializer=mc__rpc__pb2.id.FromString,
          response_serializer=mc__rpc__pb2.response.SerializeToString,
      ),
      'AI_Guided': grpc.unary_unary_rpc_method_handler(
          servicer.AI_Guided,
          request_deserializer=mc__rpc__pb2.id.FromString,
          response_serializer=mc__rpc__pb2.response.SerializeToString,
      ),
      'AI_RTL': grpc.unary_unary_rpc_method_handler(
          servicer.AI_RTL,
          request_deserializer=mc__rpc__pb2.id.FromString,
          response_serializer=mc__rpc__pb2.response.SerializeToString,
      ),
      'AI_Auto': grpc.unary_unary_rpc_method_handler(
          servicer.AI_Auto,
          request_deserializer=mc__rpc__pb2.id.FromString,
          response_serializer=mc__rpc__pb2.response.SerializeToString,
      ),
  }
  generic_handler = grpc.method_handlers_generic_handler(
      'mc_rpc.FC', rpc_method_handlers)
  server.add_generic_rpc_handlers((generic_handler,))
