]> rtime.felk.cvut.cz Git - orte.git/blob - orte/libjorte/getNtpTime.c
New ORTE version 0.3.0 committed
[orte.git] / orte / libjorte / getNtpTime.c
1 /* getNtpTime.c */
2
3 /**
4   * This code provides conversion between JAVA a C environments.
5   * The C functions are calling here and results are send to JAVA
6   * native functions. It uses the header pregenerated by JAVA
7   * (by command 'javah -jni class_with_native_function')
8   *
9   * @author Lukas Pokorny (lukas_pokorny@centrum.cz)
10   * @author CTU FEE Prague - Department of Control Engineering (dce.felk.cvut.cz)
11   * @author Project ORTE - OCERA Real Time Ethernet (www.ocera.org)
12   * @author dedication to Kj
13   * @version 0.1
14   *
15   *
16   * This program is free software; you can redistribute it and/or modify
17   * it under the terms of the GNU General Public License as published by
18   * the Free Software Foundation; either version 2 of the License, or
19   * (at your option) any later version.
20   *
21   * This program is distributed in the hope that it will be useful,
22   * but WITHOUT ANY WARRANTY; without even the implied warranty of
23   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
24   * GNU General Public License for more details.
25   *
26   */
27
28 #include  "jorte/getNtpTime.h"
29
30
31 NtpTime getNtpTime(JNIEnv *env, jobject obj)
32 {
33   NtpTime          time;
34   jfieldID         fieldID;
35   jclass           ntpTimeClass;
36
37   /* get object's class */
38   ntpTimeClass = (*env)->GetObjectClass(env, obj);
39
40   /* get object field ID - NtpTime.seconds */
41   fieldID = (*env)->GetFieldID(env,ntpTimeClass,"seconds","I");
42 // if(fieldID == NULL) return(NTPTIME_ZERO(time)); // NEFUNGUJE
43   /* get objects value */
44   time.seconds = (int32_t) (*env)->GetIntField(env,obj,fieldID);
45
46   /* reset pointer  */
47   fieldID = NULL;
48
49   /* get object field ID  - NtpTime.fraction */
50   fieldID = (*env)->GetFieldID(env,ntpTimeClass,"fraction","J");
51 //  if(fieldID == NULL) return(NTPTIME_ZERO(time)); // NEFUNGUJE
52   /* get object's value */
53   time.fraction = (uint32_t) (*env)->GetIntField(env,obj,fieldID);
54
55   return(time);
56
57 }