]> rtime.felk.cvut.cz Git - orte.git/blob - orte/libjorte/getNtpTime.c
Reformat the sources with orte/uncrustify script
[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/jorte_protos_api.h"
29
30
31 NtpTime
32 getNtpTime(JNIEnv *env, jobject obj)
33 {
34   NtpTime          time;
35   jfieldID         fieldID;
36   jclass           ntpTimeClass;
37
38   /* get object's class */
39   ntpTimeClass = (*env)->GetObjectClass(env, obj);
40
41   /* get object field ID - NtpTime.seconds */
42   fieldID = (*env)->GetFieldID(env, ntpTimeClass, "seconds", "I");
43 // if(fieldID == NULL) return(NTPTIME_ZERO(time)); // NEFUNGUJE
44 /* get objects value */
45   time.seconds = (int32_t)(*env)->GetIntField(env, obj, fieldID);
46
47   /* reset pointer  */
48   fieldID = NULL;
49
50   /* get object field ID  - NtpTime.fraction */
51   fieldID = (*env)->GetFieldID(env, ntpTimeClass, "fraction", "J");
52 //  if(fieldID == NULL) return(NTPTIME_ZERO(time)); // NEFUNGUJE
53 /* get object's value */
54   time.fraction = (uint32_t)(*env)->GetLongField(env, obj, fieldID);
55
56   return(time);
57
58 }