PUD: add timezone offset parameter to getPositionUpdateTime method
authorFerry Huberts <f.huberts@mindef.nl>
Thu, 8 Sep 2011 13:19:54 +0000 (15:19 +0200)
committerFerry Huberts <f.huberts@mindef.nl>
Tue, 18 Oct 2011 10:08:27 +0000 (12:08 +0200)
Signed-off-by: Ferry Huberts <f.huberts@mindef.nl>
lib/pud/wireformat-java/src/main/c/org_olsr_plugin_pud_PositionUpdate.c
lib/pud/wireformat-java/src/main/java/org/olsr/plugin/pud/PositionUpdate.java

index a634dee..305af67 100644 (file)
@@ -112,10 +112,10 @@ JNIEXPORT jint JNICALL Java_org_olsr_plugin_pud_PositionUpdate_getPositionUpdate
 /*
  * Class:     org_olsr_plugin_pud_PositionUpdate
  * Method:    getPositionUpdateTime
- * Signature: (J)J
+ * Signature: (JJ)J
  */
 JNIEXPORT jlong JNICALL Java_org_olsr_plugin_pud_PositionUpdate_getPositionUpdateTime
-  (JNIEnv * env, jobject this, jlong baseDate) {
+  (JNIEnv * env, jobject this, jlong baseDate, jlong timezoneOffset) {
        jobject dataObject;
        jboolean isCopy;
        UplinkMessage * uplinkMessage = getUplinkMessage(env, this, &dataObject,
@@ -133,7 +133,7 @@ JNIEXPORT jlong JNICALL Java_org_olsr_plugin_pud_PositionUpdate_getPositionUpdat
        releaseUplinkMessage(env, uplinkMessage, dataObject, isCopy, JNI_ABORT);
 
        updateTimeSeconds = mktime(&timeStruct);
-       return (updateTimeSeconds * 1000) + baseDateMilliSeconds;
+       return (updateTimeSeconds * 1000) + baseDateMilliSeconds - timezoneOffset;
 }
 
 /*
index 26b65d7..b576c6c 100644 (file)
@@ -65,10 +65,14 @@ public class PositionUpdate extends UplinkMessage {
         * @param baseDate
         *            the base date relative to which the time of the position
         *            update message must be determined (milliseconds since Epoch)
+        * @param timezoneOffset
+        *            the offset (in milliseconds) of the local timezone to UTC. A
+        *            positive value means 'west of UTC', a negative value means
+        *            'east of UTC'. For CET, this value is -3600000.
         * @return the time of the position update message (milliseconds since
         *         Epoch, UTC)
         */
-       public native long getPositionUpdateTime(long baseDate);
+       public native long getPositionUpdateTime(long baseDate, long timezoneOffset);
 
        /**
         * @return the latitude (in degrees) of the position update message