PUD: add timezone offset parameter to getPositionUpdateTime method
[olsrd.git] / lib / pud / wireformat-java / src / main / java / org / olsr / plugin / pud / PositionUpdate.java
1 package org.olsr.plugin.pud;
2
3 import java.net.InetAddress;
4 import java.util.Date;
5
6 /**
7  * This class represents an uplink message, type position update.
8  */
9 public class PositionUpdate extends UplinkMessage {
10         private static final long serialVersionUID = -7253852907534653248L;
11
12         /**
13          * Default constructor
14          */
15         public PositionUpdate() {
16                 super();
17         }
18
19         /**
20          * Constructor
21          * 
22          * @param data
23          *            the received message
24          * @param dataSize
25          *            the number of bytes in the received message
26          */
27         public PositionUpdate(byte[] data, int dataSize) {
28                 super(data, dataSize);
29         }
30
31         /*
32          * OLSR header
33          */
34
35         /**
36          * @return the (OLSR main) IP address of the OLSR node that sent the uplink
37          *         message
38          */
39         public native InetAddress getOlsrMessageOriginator();
40
41         /*
42          * PudOlsrPositionUpdate
43          */
44
45         /**
46          * @return the version of the position update message
47          */
48         public native int getPositionUpdateVersion();
49
50         /**
51          * @return the validity time (in seconds) the position update message
52          */
53         public native long getPositionUpdateValidityTime();
54
55         /**
56          * @return the content mask the position update message
57          */
58         public native int getPositionUpdateSMask();
59
60         /*
61          * GpsInfo
62          */
63
64         /**
65          * @param baseDate
66          *            the base date relative to which the time of the position
67          *            update message must be determined (milliseconds since Epoch)
68          * @param timezoneOffset
69          *            the offset (in milliseconds) of the local timezone to UTC. A
70          *            positive value means 'west of UTC', a negative value means
71          *            'east of UTC'. For CET, this value is -3600000.
72          * @return the time of the position update message (milliseconds since
73          *         Epoch, UTC)
74          */
75         public native long getPositionUpdateTime(long baseDate, long timezoneOffset);
76
77         /**
78          * @return the latitude (in degrees) of the position update message
79          */
80         public native double getPositionUpdateLatitude();
81
82         /**
83          * @return the longitude (in degrees) of the position update message
84          */
85         public native double getPositionUpdateLongitude();
86
87         /**
88          * @return the altitude (in meters) of the position update message
89          */
90         public native long getPositionUpdateAltitude();
91
92         /**
93          * @return the speed (in kph) of the the position update message
94          */
95         public native long getPositionUpdateSpeed();
96
97         /**
98          * @return the track angle (in degrees) of the position update message
99          */
100         public native long getPositionUpdateTrack();
101
102         /**
103          * @return the HDOP of the position update message
104          */
105         public native double getPositionUpdateHdop();
106
107         /*
108          * NodeInfo
109          */
110
111         /**
112          * @return the nodeIdType of the position update message
113          */
114         public native int getPositionUpdateNodeIdType();
115
116         /**
117          * @return the nodeId of the position update message
118          */
119         public native String getPositionUpdateNodeId();
120 }