
    Ϫf                     b    d Z ddlmZmZ  G d de      Z G d de      Z G d de      Zg d	Zy
)z'
Positioning interfaces.

@since: 14.0
    )	Attribute	Interfacec                   @    e Zd ZdZd Zd Zd Zd Zd Zd Z	d Z
d	 Zy
)IPositioningReceiverz1
    An interface for positioning providers.
    c                      y)a>  
        Method called when a position is received.

        @param latitude: The latitude of the received position.
        @type latitude: L{twisted.positioning.base.Coordinate}
        @param longitude: The longitude of the received position.
        @type longitude: L{twisted.positioning.base.Coordinate}
        N )latitude	longitudes     B/usr/lib/python3/dist-packages/twisted/positioning/ipositioning.pypositionReceivedz%IPositioningReceiver.positionReceived           c                      y)z
        Method called when position error is received.

        @param positionError: The position error.
        @type positionError: L{twisted.positioning.base.PositionError}
        Nr   )positionErrors    r   positionErrorReceivedz*IPositioningReceiver.positionErrorReceived   r   r   c                      y)z
        Method called when time and date information arrives.

        @param time: The date and time (expressed in UTC unless otherwise
            specified).
        @type time: L{datetime.datetime}
        Nr   )times    r   timeReceivedz!IPositioningReceiver.timeReceived$   r   r   c                      y)z
        Method called when a true heading is received.

        @param heading: The heading.
        @type heading: L{twisted.positioning.base.Heading}
        Nr   )headings    r   headingReceivedz$IPositioningReceiver.headingReceived-   r   r   c                      y)z
        Method called when an altitude is received.

        @param altitude: The altitude.
        @type altitude: L{twisted.positioning.base.Altitude}
        Nr   )altitudes    r   altitudeReceivedz%IPositioningReceiver.altitudeReceived5   r   r   c                      y)z
        Method called when the speed is received.

        @param speed: The speed of a mobile object.
        @type speed: L{twisted.positioning.base.Speed}
        Nr   )speeds    r   speedReceivedz"IPositioningReceiver.speedReceived=   r   r   c                      y)z
        Method called when the climb is received.

        @param climb: The climb of the mobile object.
        @type climb: L{twisted.positioning.base.Climb}
        Nr   )climbs    r   climbReceivedz"IPositioningReceiver.climbReceivedE   r   r   c                      y)z
        Method called when positioning beacon information is received.

        @param beaconInformation: The beacon information.
        @type beaconInformation: L{twisted.positioning.base.BeaconInformation}
        Nr   )beaconInformations    r   beaconInformationReceivedz.IPositioningReceiver.beaconInformationReceivedM   r   r   N)__name__
__module____qualname____doc__r   r   r   r   r   r   r    r#   r   r   r   r   r      s/    r   r   c                        e Zd ZdZ ed      Zy)IPositioningBeaconz
    A positioning beacon.
    z
        A unique identifier for this beacon. The type is dependent on the
        implementation, but must be immutable.
        N)r$   r%   r&   r'   r   
identifierr   r   r   r)   r)   V   s     	Jr   r)   c                       e Zd ZdZd Zy)INMEAReceiverz/
    An object that can receive NMEA data.
    c                      y)z
        Method called when a sentence is received.

        @param sentence: The received NMEA sentence.
        @type L{twisted.positioning.nmea.NMEASentence}
        Nr   )sentences    r   sentenceReceivedzINMEAReceiver.sentenceReceivedh   r   r   N)r$   r%   r&   r'   r/   r   r   r   r,   r,   c   s    r   r,   )r   r)   r,   N)r'   zope.interfacer   r   r   r)   r,   __all__r   r   r   <module>r2      s>    0F9 FR
 
I  Jr   