blob: 282532482237fc90eec8fd353fdc34fa05b65e27 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
|
# Copyright (c) Twisted Matrix Laboratories.
# See LICENSE for details.
"""
Positioning interfaces.
@since: 14.0
"""
from __future__ import absolute_import, division
from zope.interface import Attribute, Interface
class IPositioningReceiver(Interface):
"""
An interface for positioning providers.
"""
def positionReceived(latitude, longitude):
"""
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}
"""
def positionErrorReceived(positionError):
"""
Method called when position error is received.
@param positioningError: The position error.
@type positioningError: L{twisted.positioning.base.PositionError}
"""
def timeReceived(time):
"""
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}
"""
def headingReceived(heading):
"""
Method called when a true heading is received.
@param heading: The heading.
@type heading: L{twisted.positioning.base.Heading}
"""
def altitudeReceived(altitude):
"""
Method called when an altitude is received.
@param altitude: The altitude.
@type altitude: L{twisted.positioning.base.Altitude}
"""
def speedReceived(speed):
"""
Method called when the speed is received.
@param speed: The speed of a mobile object.
@type speed: L{twisted.positioning.base.Speed}
"""
def climbReceived(climb):
"""
Method called when the climb is received.
@param climb: The climb of the mobile object.
@type climb: L{twisted.positioning.base.Climb}
"""
def beaconInformationReceived(beaconInformation):
"""
Method called when positioning beacon information is received.
@param beaconInformation: The beacon information.
@type beaconInformation: L{twisted.positioning.base.BeaconInformation}
"""
class IPositioningBeacon(Interface):
"""
A positioning beacon.
"""
identifier = Attribute(
"""
A unique identifier for this beacon. The type is dependent on the
implementation, but must be immutable.
""")
class INMEAReceiver(Interface):
"""
An object that can receive NMEA data.
"""
def sentenceReceived(sentence):
"""
Method called when a sentence is received.
@param sentence: The received NMEA sentence.
@type L{twisted.positioning.nmea.NMEASentence}
"""
__all__ = [
"IPositioningReceiver",
"IPositioningBeacon",
"INMEAReceiver"
]
|