# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: droneconnect.proto

import sys
_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))
from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message
from google.protobuf import reflection as _reflection
from google.protobuf import symbol_database as _symbol_database
from google.protobuf import descriptor_pb2
# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()




DESCRIPTOR = _descriptor.FileDescriptor(
  name='droneconnect.proto',
  package='droneconnect',
  syntax='proto3',
  serialized_pb=_b('\n\x12\x64roneconnect.proto\x12\x0c\x64roneconnect\"\x06\n\x04Null\"#\n\rUavIdentifier\x12\x12\n\nidentifier\x18\x01 \x01(\x05\"\xe8\x01\n\rAutopilotInfo\x12\x12\n\nidentifier\x18\x01 \x01(\x05\x12\"\n\x1a\x61utopilot_firmware_version\x18\x02 \x01(\t\x12\x1c\n\x14major_version_number\x18\x03 \x01(\x05\x12\x1c\n\x14minor_version_number\x18\x04 \x01(\x05\x12\x1c\n\x14patch_version_number\x18\x05 \x01(\x05\x12\x14\n\x0crelease_type\x18\x06 \x01(\t\x12\x17\n\x0frelease_version\x18\x07 \x01(\x05\x12\x16\n\x0estable_release\x18\x08 \x01(\x08\"p\n\x08Position\x12\x0b\n\x03lat\x18\x01 \x01(\x01\x12\x0b\n\x03lon\x18\x02 \x01(\x01\x12\x13\n\x0bgpsAltitude\x18\x03 \x01(\x01\x12\x18\n\x10relativeAltitude\x18\x04 \x01(\x01\x12\x1b\n\x13useRelativeAltitude\x18\x05 \x01(\x08\"\x14\n\x04Mode\x12\x0c\n\x04mode\x18\x01 \x01(\t\"\x14\n\x05\x41rmed\x12\x0b\n\x03\x61rm\x18\x01 \x01(\x08\"\x18\n\x06Safety\x12\x0e\n\x06safety\x18\x01 \x01(\x08\"%\n\x11TakeoffToAltitude\x12\x10\n\x08\x61ltitude\x18\x01 \x01(\x01\x32\xe5\x04\n\x0c\x44roneConnect\x12N\n\x10getAutopilotInfo\x12\x1b.droneconnect.UavIdentifier\x1a\x1b.droneconnect.AutopilotInfo\"\x00\x12;\n\x0bgetPosition\x12\x12.droneconnect.Null\x1a\x16.droneconnect.Position\"\x00\x12\x33\n\x07setMode\x12\x12.droneconnect.Mode\x1a\x12.droneconnect.Null\"\x00\x12\x33\n\x07hasMode\x12\x12.droneconnect.Null\x1a\x12.droneconnect.Mode\"\x00\x12\x35\n\x08setArmed\x12\x13.droneconnect.Armed\x1a\x12.droneconnect.Null\"\x00\x12\x34\n\x07isArmed\x12\x12.droneconnect.Null\x1a\x13.droneconnect.Armed\"\x00\x12\x37\n\tsetSafety\x12\x14.droneconnect.Safety\x1a\x12.droneconnect.Null\"\x00\x12\x37\n\tgetSafety\x12\x12.droneconnect.Null\x1a\x14.droneconnect.Safety\"\x00\x12\x44\n\x07takeoff\x12\x1f.droneconnect.TakeoffToAltitude\x1a\x16.droneconnect.Position\"\x00\x12\x39\n\x07setPath\x12\x16.droneconnect.Position\x1a\x12.droneconnect.Null\"\x00(\x01\x42\x36\n\x1f\x63om.uvic-cfar.swim.droneconnectB\x11\x44roneConnectProtoP\x01\x62\x06proto3')
)
_sym_db.RegisterFileDescriptor(DESCRIPTOR)




_NULL = _descriptor.Descriptor(
  name='Null',
  full_name='droneconnect.Null',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=36,
  serialized_end=42,
)


_UAVIDENTIFIER = _descriptor.Descriptor(
  name='UavIdentifier',
  full_name='droneconnect.UavIdentifier',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='identifier', full_name='droneconnect.UavIdentifier.identifier', index=0,
      number=1, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=44,
  serialized_end=79,
)


_AUTOPILOTINFO = _descriptor.Descriptor(
  name='AutopilotInfo',
  full_name='droneconnect.AutopilotInfo',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='identifier', full_name='droneconnect.AutopilotInfo.identifier', index=0,
      number=1, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='autopilot_firmware_version', full_name='droneconnect.AutopilotInfo.autopilot_firmware_version', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='major_version_number', full_name='droneconnect.AutopilotInfo.major_version_number', index=2,
      number=3, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='minor_version_number', full_name='droneconnect.AutopilotInfo.minor_version_number', index=3,
      number=4, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='patch_version_number', full_name='droneconnect.AutopilotInfo.patch_version_number', index=4,
      number=5, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='release_type', full_name='droneconnect.AutopilotInfo.release_type', index=5,
      number=6, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='release_version', full_name='droneconnect.AutopilotInfo.release_version', index=6,
      number=7, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='stable_release', full_name='droneconnect.AutopilotInfo.stable_release', index=7,
      number=8, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=82,
  serialized_end=314,
)


_POSITION = _descriptor.Descriptor(
  name='Position',
  full_name='droneconnect.Position',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='lat', full_name='droneconnect.Position.lat', index=0,
      number=1, type=1, cpp_type=5, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='lon', full_name='droneconnect.Position.lon', index=1,
      number=2, type=1, cpp_type=5, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='gpsAltitude', full_name='droneconnect.Position.gpsAltitude', index=2,
      number=3, type=1, cpp_type=5, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='relativeAltitude', full_name='droneconnect.Position.relativeAltitude', index=3,
      number=4, type=1, cpp_type=5, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='useRelativeAltitude', full_name='droneconnect.Position.useRelativeAltitude', index=4,
      number=5, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=316,
  serialized_end=428,
)


_MODE = _descriptor.Descriptor(
  name='Mode',
  full_name='droneconnect.Mode',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='mode', full_name='droneconnect.Mode.mode', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=430,
  serialized_end=450,
)


_ARMED = _descriptor.Descriptor(
  name='Armed',
  full_name='droneconnect.Armed',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='arm', full_name='droneconnect.Armed.arm', index=0,
      number=1, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=452,
  serialized_end=472,
)


_SAFETY = _descriptor.Descriptor(
  name='Safety',
  full_name='droneconnect.Safety',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='safety', full_name='droneconnect.Safety.safety', index=0,
      number=1, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=474,
  serialized_end=498,
)


_TAKEOFFTOALTITUDE = _descriptor.Descriptor(
  name='TakeoffToAltitude',
  full_name='droneconnect.TakeoffToAltitude',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='altitude', full_name='droneconnect.TakeoffToAltitude.altitude', index=0,
      number=1, type=1, cpp_type=5, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=500,
  serialized_end=537,
)

DESCRIPTOR.message_types_by_name['Null'] = _NULL
DESCRIPTOR.message_types_by_name['UavIdentifier'] = _UAVIDENTIFIER
DESCRIPTOR.message_types_by_name['AutopilotInfo'] = _AUTOPILOTINFO
DESCRIPTOR.message_types_by_name['Position'] = _POSITION
DESCRIPTOR.message_types_by_name['Mode'] = _MODE
DESCRIPTOR.message_types_by_name['Armed'] = _ARMED
DESCRIPTOR.message_types_by_name['Safety'] = _SAFETY
DESCRIPTOR.message_types_by_name['TakeoffToAltitude'] = _TAKEOFFTOALTITUDE

Null = _reflection.GeneratedProtocolMessageType('Null', (_message.Message,), dict(
  DESCRIPTOR = _NULL,
  __module__ = 'droneconnect_pb2'
  # @@protoc_insertion_point(class_scope:droneconnect.Null)
  ))
_sym_db.RegisterMessage(Null)

UavIdentifier = _reflection.GeneratedProtocolMessageType('UavIdentifier', (_message.Message,), dict(
  DESCRIPTOR = _UAVIDENTIFIER,
  __module__ = 'droneconnect_pb2'
  # @@protoc_insertion_point(class_scope:droneconnect.UavIdentifier)
  ))
_sym_db.RegisterMessage(UavIdentifier)

AutopilotInfo = _reflection.GeneratedProtocolMessageType('AutopilotInfo', (_message.Message,), dict(
  DESCRIPTOR = _AUTOPILOTINFO,
  __module__ = 'droneconnect_pb2'
  # @@protoc_insertion_point(class_scope:droneconnect.AutopilotInfo)
  ))
_sym_db.RegisterMessage(AutopilotInfo)

Position = _reflection.GeneratedProtocolMessageType('Position', (_message.Message,), dict(
  DESCRIPTOR = _POSITION,
  __module__ = 'droneconnect_pb2'
  # @@protoc_insertion_point(class_scope:droneconnect.Position)
  ))
_sym_db.RegisterMessage(Position)

Mode = _reflection.GeneratedProtocolMessageType('Mode', (_message.Message,), dict(
  DESCRIPTOR = _MODE,
  __module__ = 'droneconnect_pb2'
  # @@protoc_insertion_point(class_scope:droneconnect.Mode)
  ))
_sym_db.RegisterMessage(Mode)

Armed = _reflection.GeneratedProtocolMessageType('Armed', (_message.Message,), dict(
  DESCRIPTOR = _ARMED,
  __module__ = 'droneconnect_pb2'
  # @@protoc_insertion_point(class_scope:droneconnect.Armed)
  ))
_sym_db.RegisterMessage(Armed)

Safety = _reflection.GeneratedProtocolMessageType('Safety', (_message.Message,), dict(
  DESCRIPTOR = _SAFETY,
  __module__ = 'droneconnect_pb2'
  # @@protoc_insertion_point(class_scope:droneconnect.Safety)
  ))
_sym_db.RegisterMessage(Safety)

TakeoffToAltitude = _reflection.GeneratedProtocolMessageType('TakeoffToAltitude', (_message.Message,), dict(
  DESCRIPTOR = _TAKEOFFTOALTITUDE,
  __module__ = 'droneconnect_pb2'
  # @@protoc_insertion_point(class_scope:droneconnect.TakeoffToAltitude)
  ))
_sym_db.RegisterMessage(TakeoffToAltitude)


DESCRIPTOR.has_options = True
DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('\n\037com.uvic-cfar.swim.droneconnectB\021DroneConnectProtoP\001'))
import grpc
from grpc.beta import implementations as beta_implementations
from grpc.beta import interfaces as beta_interfaces
from grpc.framework.common import cardinality
from grpc.framework.interfaces.face import utilities as face_utilities


class DroneConnectStub(object):
  """The droneconnect service definition.  Services are meant to provide a layer of abstraction for
  controlling and accessing information from the drone.
  """

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

    Args:
      channel: A grpc.Channel.
    """
    self.getAutopilotInfo = channel.unary_unary(
        '/droneconnect.DroneConnect/getAutopilotInfo',
        request_serializer=UavIdentifier.SerializeToString,
        response_deserializer=AutopilotInfo.FromString,
        )
    self.getPosition = channel.unary_unary(
        '/droneconnect.DroneConnect/getPosition',
        request_serializer=Null.SerializeToString,
        response_deserializer=Position.FromString,
        )
    self.setMode = channel.unary_unary(
        '/droneconnect.DroneConnect/setMode',
        request_serializer=Mode.SerializeToString,
        response_deserializer=Null.FromString,
        )
    self.hasMode = channel.unary_unary(
        '/droneconnect.DroneConnect/hasMode',
        request_serializer=Null.SerializeToString,
        response_deserializer=Mode.FromString,
        )
    self.setArmed = channel.unary_unary(
        '/droneconnect.DroneConnect/setArmed',
        request_serializer=Armed.SerializeToString,
        response_deserializer=Null.FromString,
        )
    self.isArmed = channel.unary_unary(
        '/droneconnect.DroneConnect/isArmed',
        request_serializer=Null.SerializeToString,
        response_deserializer=Armed.FromString,
        )
    self.setSafety = channel.unary_unary(
        '/droneconnect.DroneConnect/setSafety',
        request_serializer=Safety.SerializeToString,
        response_deserializer=Null.FromString,
        )
    self.getSafety = channel.unary_unary(
        '/droneconnect.DroneConnect/getSafety',
        request_serializer=Null.SerializeToString,
        response_deserializer=Safety.FromString,
        )
    self.takeoff = channel.unary_unary(
        '/droneconnect.DroneConnect/takeoff',
        request_serializer=TakeoffToAltitude.SerializeToString,
        response_deserializer=Position.FromString,
        )
    self.setPath = channel.stream_unary(
        '/droneconnect.DroneConnect/setPath',
        request_serializer=Position.SerializeToString,
        response_deserializer=Null.FromString,
        )


class DroneConnectServicer(object):
  """The droneconnect service definition.  Services are meant to provide a layer of abstraction for
  controlling and accessing information from the drone.
  """

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

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

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

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

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

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

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

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

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

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


def add_DroneConnectServicer_to_server(servicer, server):
  rpc_method_handlers = {
      'getAutopilotInfo': grpc.unary_unary_rpc_method_handler(
          servicer.getAutopilotInfo,
          request_deserializer=UavIdentifier.FromString,
          response_serializer=AutopilotInfo.SerializeToString,
      ),
      'getPosition': grpc.unary_unary_rpc_method_handler(
          servicer.getPosition,
          request_deserializer=Null.FromString,
          response_serializer=Position.SerializeToString,
      ),
      'setMode': grpc.unary_unary_rpc_method_handler(
          servicer.setMode,
          request_deserializer=Mode.FromString,
          response_serializer=Null.SerializeToString,
      ),
      'hasMode': grpc.unary_unary_rpc_method_handler(
          servicer.hasMode,
          request_deserializer=Null.FromString,
          response_serializer=Mode.SerializeToString,
      ),
      'setArmed': grpc.unary_unary_rpc_method_handler(
          servicer.setArmed,
          request_deserializer=Armed.FromString,
          response_serializer=Null.SerializeToString,
      ),
      'isArmed': grpc.unary_unary_rpc_method_handler(
          servicer.isArmed,
          request_deserializer=Null.FromString,
          response_serializer=Armed.SerializeToString,
      ),
      'setSafety': grpc.unary_unary_rpc_method_handler(
          servicer.setSafety,
          request_deserializer=Safety.FromString,
          response_serializer=Null.SerializeToString,
      ),
      'getSafety': grpc.unary_unary_rpc_method_handler(
          servicer.getSafety,
          request_deserializer=Null.FromString,
          response_serializer=Safety.SerializeToString,
      ),
      'takeoff': grpc.unary_unary_rpc_method_handler(
          servicer.takeoff,
          request_deserializer=TakeoffToAltitude.FromString,
          response_serializer=Position.SerializeToString,
      ),
      'setPath': grpc.stream_unary_rpc_method_handler(
          servicer.setPath,
          request_deserializer=Position.FromString,
          response_serializer=Null.SerializeToString,
      ),
  }
  generic_handler = grpc.method_handlers_generic_handler(
      'droneconnect.DroneConnect', rpc_method_handlers)
  server.add_generic_rpc_handlers((generic_handler,))


class BetaDroneConnectServicer(object):
  """The Beta API is deprecated for 0.15.0 and later.

  It is recommended to use the GA API (classes and functions in this
  file not marked beta) for all further purposes. This class was generated
  only to ease transition from grpcio<0.15.0 to grpcio>=0.15.0."""
  """The droneconnect service definition.  Services are meant to provide a layer of abstraction for
  controlling and accessing information from the drone.
  """
  def getAutopilotInfo(self, request, context):
    context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
  def getPosition(self, request, context):
    context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
  def setMode(self, request, context):
    context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
  def hasMode(self, request, context):
    context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
  def setArmed(self, request, context):
    context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
  def isArmed(self, request, context):
    context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
  def setSafety(self, request, context):
    context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
  def getSafety(self, request, context):
    context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
  def takeoff(self, request, context):
    context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
  def setPath(self, request_iterator, context):
    context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)


class BetaDroneConnectStub(object):
  """The Beta API is deprecated for 0.15.0 and later.

  It is recommended to use the GA API (classes and functions in this
  file not marked beta) for all further purposes. This class was generated
  only to ease transition from grpcio<0.15.0 to grpcio>=0.15.0."""
  """The droneconnect service definition.  Services are meant to provide a layer of abstraction for
  controlling and accessing information from the drone.
  """
  def getAutopilotInfo(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
    raise NotImplementedError()
  getAutopilotInfo.future = None
  def getPosition(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
    raise NotImplementedError()
  getPosition.future = None
  def setMode(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
    raise NotImplementedError()
  setMode.future = None
  def hasMode(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
    raise NotImplementedError()
  hasMode.future = None
  def setArmed(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
    raise NotImplementedError()
  setArmed.future = None
  def isArmed(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
    raise NotImplementedError()
  isArmed.future = None
  def setSafety(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
    raise NotImplementedError()
  setSafety.future = None
  def getSafety(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
    raise NotImplementedError()
  getSafety.future = None
  def takeoff(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
    raise NotImplementedError()
  takeoff.future = None
  def setPath(self, request_iterator, timeout, metadata=None, with_call=False, protocol_options=None):
    raise NotImplementedError()
  setPath.future = None


def beta_create_DroneConnect_server(servicer, pool=None, pool_size=None, default_timeout=None, maximum_timeout=None):
  """The Beta API is deprecated for 0.15.0 and later.

  It is recommended to use the GA API (classes and functions in this
  file not marked beta) for all further purposes. This function was
  generated only to ease transition from grpcio<0.15.0 to grpcio>=0.15.0"""
  request_deserializers = {
    ('droneconnect.DroneConnect', 'getAutopilotInfo'): UavIdentifier.FromString,
    ('droneconnect.DroneConnect', 'getPosition'): Null.FromString,
    ('droneconnect.DroneConnect', 'getSafety'): Null.FromString,
    ('droneconnect.DroneConnect', 'hasMode'): Null.FromString,
    ('droneconnect.DroneConnect', 'isArmed'): Null.FromString,
    ('droneconnect.DroneConnect', 'setArmed'): Armed.FromString,
    ('droneconnect.DroneConnect', 'setMode'): Mode.FromString,
    ('droneconnect.DroneConnect', 'setPath'): Position.FromString,
    ('droneconnect.DroneConnect', 'setSafety'): Safety.FromString,
    ('droneconnect.DroneConnect', 'takeoff'): TakeoffToAltitude.FromString,
  }
  response_serializers = {
    ('droneconnect.DroneConnect', 'getAutopilotInfo'): AutopilotInfo.SerializeToString,
    ('droneconnect.DroneConnect', 'getPosition'): Position.SerializeToString,
    ('droneconnect.DroneConnect', 'getSafety'): Safety.SerializeToString,
    ('droneconnect.DroneConnect', 'hasMode'): Mode.SerializeToString,
    ('droneconnect.DroneConnect', 'isArmed'): Armed.SerializeToString,
    ('droneconnect.DroneConnect', 'setArmed'): Null.SerializeToString,
    ('droneconnect.DroneConnect', 'setMode'): Null.SerializeToString,
    ('droneconnect.DroneConnect', 'setPath'): Null.SerializeToString,
    ('droneconnect.DroneConnect', 'setSafety'): Null.SerializeToString,
    ('droneconnect.DroneConnect', 'takeoff'): Position.SerializeToString,
  }
  method_implementations = {
    ('droneconnect.DroneConnect', 'getAutopilotInfo'): face_utilities.unary_unary_inline(servicer.getAutopilotInfo),
    ('droneconnect.DroneConnect', 'getPosition'): face_utilities.unary_unary_inline(servicer.getPosition),
    ('droneconnect.DroneConnect', 'getSafety'): face_utilities.unary_unary_inline(servicer.getSafety),
    ('droneconnect.DroneConnect', 'hasMode'): face_utilities.unary_unary_inline(servicer.hasMode),
    ('droneconnect.DroneConnect', 'isArmed'): face_utilities.unary_unary_inline(servicer.isArmed),
    ('droneconnect.DroneConnect', 'setArmed'): face_utilities.unary_unary_inline(servicer.setArmed),
    ('droneconnect.DroneConnect', 'setMode'): face_utilities.unary_unary_inline(servicer.setMode),
    ('droneconnect.DroneConnect', 'setPath'): face_utilities.stream_unary_inline(servicer.setPath),
    ('droneconnect.DroneConnect', 'setSafety'): face_utilities.unary_unary_inline(servicer.setSafety),
    ('droneconnect.DroneConnect', 'takeoff'): face_utilities.unary_unary_inline(servicer.takeoff),
  }
  server_options = beta_implementations.server_options(request_deserializers=request_deserializers, response_serializers=response_serializers, thread_pool=pool, thread_pool_size=pool_size, default_timeout=default_timeout, maximum_timeout=maximum_timeout)
  return beta_implementations.server(method_implementations, options=server_options)


def beta_create_DroneConnect_stub(channel, host=None, metadata_transformer=None, pool=None, pool_size=None):
  """The Beta API is deprecated for 0.15.0 and later.

  It is recommended to use the GA API (classes and functions in this
  file not marked beta) for all further purposes. This function was
  generated only to ease transition from grpcio<0.15.0 to grpcio>=0.15.0"""
  request_serializers = {
    ('droneconnect.DroneConnect', 'getAutopilotInfo'): UavIdentifier.SerializeToString,
    ('droneconnect.DroneConnect', 'getPosition'): Null.SerializeToString,
    ('droneconnect.DroneConnect', 'getSafety'): Null.SerializeToString,
    ('droneconnect.DroneConnect', 'hasMode'): Null.SerializeToString,
    ('droneconnect.DroneConnect', 'isArmed'): Null.SerializeToString,
    ('droneconnect.DroneConnect', 'setArmed'): Armed.SerializeToString,
    ('droneconnect.DroneConnect', 'setMode'): Mode.SerializeToString,
    ('droneconnect.DroneConnect', 'setPath'): Position.SerializeToString,
    ('droneconnect.DroneConnect', 'setSafety'): Safety.SerializeToString,
    ('droneconnect.DroneConnect', 'takeoff'): TakeoffToAltitude.SerializeToString,
  }
  response_deserializers = {
    ('droneconnect.DroneConnect', 'getAutopilotInfo'): AutopilotInfo.FromString,
    ('droneconnect.DroneConnect', 'getPosition'): Position.FromString,
    ('droneconnect.DroneConnect', 'getSafety'): Safety.FromString,
    ('droneconnect.DroneConnect', 'hasMode'): Mode.FromString,
    ('droneconnect.DroneConnect', 'isArmed'): Armed.FromString,
    ('droneconnect.DroneConnect', 'setArmed'): Null.FromString,
    ('droneconnect.DroneConnect', 'setMode'): Null.FromString,
    ('droneconnect.DroneConnect', 'setPath'): Null.FromString,
    ('droneconnect.DroneConnect', 'setSafety'): Null.FromString,
    ('droneconnect.DroneConnect', 'takeoff'): Position.FromString,
  }
  cardinalities = {
    'getAutopilotInfo': cardinality.Cardinality.UNARY_UNARY,
    'getPosition': cardinality.Cardinality.UNARY_UNARY,
    'getSafety': cardinality.Cardinality.UNARY_UNARY,
    'hasMode': cardinality.Cardinality.UNARY_UNARY,
    'isArmed': cardinality.Cardinality.UNARY_UNARY,
    'setArmed': cardinality.Cardinality.UNARY_UNARY,
    'setMode': cardinality.Cardinality.UNARY_UNARY,
    'setPath': cardinality.Cardinality.STREAM_UNARY,
    'setSafety': cardinality.Cardinality.UNARY_UNARY,
    'takeoff': cardinality.Cardinality.UNARY_UNARY,
  }
  stub_options = beta_implementations.stub_options(host=host, metadata_transformer=metadata_transformer, request_serializers=request_serializers, response_deserializers=response_deserializers, thread_pool=pool, thread_pool_size=pool_size)
  return beta_implementations.dynamic_stub(channel, 'droneconnect.DroneConnect', cardinalities, options=stub_options)
# @@protoc_insertion_point(module_scope)
