Imported Upstream version 0.48
[platform/upstream/libical.git] / src / java / jniICalTimeType_cxx.cpp
1 /* -*- Mode: C -*- */
2 /*======================================================================
3  FILE: jniICalTimeType_cxx.cpp
4  CREATOR: structConverter
5  (C) COPYRIGHT 2002, Critical Path
6 ======================================================================*/
7
8 #include <jni.h>
9
10 #ifndef _jni_ICalTimeType_H
11 #include "jniICalTimeType_cxx.h"
12 #endif
13
14 static jfieldID ICalTimeType_Year_FID;
15 static jfieldID ICalTimeType_Month_FID;
16 static jfieldID ICalTimeType_Day_FID;
17 static jfieldID ICalTimeType_Hour_FID;
18 static jfieldID ICalTimeType_Minute_FID;
19 static jfieldID ICalTimeType_Second_FID;
20 static jfieldID ICalTimeType_Is_utc_FID;
21 static jfieldID ICalTimeType_Is_date_FID;
22 static jfieldID ICalTimeType_Zone_FID;
23
24
25 void initICalTimeTypeFieldIDs(JNIEnv* env, jclass clazz)
26 {
27         ICalTimeType_Year_FID = env->GetFieldID(clazz, "year", "I");
28         ICalTimeType_Month_FID = env->GetFieldID(clazz, "month", "I");
29         ICalTimeType_Day_FID = env->GetFieldID(clazz, "day", "I");
30         ICalTimeType_Hour_FID = env->GetFieldID(clazz, "hour", "I");
31         ICalTimeType_Minute_FID = env->GetFieldID(clazz, "minute", "I");
32         ICalTimeType_Second_FID = env->GetFieldID(clazz, "second", "I");
33         ICalTimeType_Is_utc_FID = env->GetFieldID(clazz, "is_utc", "I");
34         ICalTimeType_Is_date_FID = env->GetFieldID(clazz, "is_date", "I");
35         ICalTimeType_Zone_FID = env->GetFieldID(clazz, "zone", "Ljava/lang/String;");
36 }
37
38 void  jni_SetYear_in_ICalTimeType(struct ICalTimeType* __ICalTimeType_, JNIEnv *env, jobject thisICalTimeType)
39 {
40         env->SetIntField(thisICalTimeType, ICalTimeType_Year_FID, (jint) __ICalTimeType_->year);
41 }
42
43 void jni_GetYear_from_ICalTimeType(struct ICalTimeType* __ICalTimeType_, JNIEnv *env, jobject thisICalTimeType)
44 {
45         __ICalTimeType_->year = env->GetIntField(thisICalTimeType, ICalTimeType_Year_FID);
46 }
47
48 void  jni_SetMonth_in_ICalTimeType(struct ICalTimeType* __ICalTimeType_, JNIEnv *env, jobject thisICalTimeType)
49 {
50         env->SetIntField(thisICalTimeType, ICalTimeType_Month_FID, (jint) __ICalTimeType_->month);
51 }
52
53 void jni_GetMonth_from_ICalTimeType(struct ICalTimeType* __ICalTimeType_, JNIEnv *env, jobject thisICalTimeType)
54 {
55         __ICalTimeType_->month = env->GetIntField(thisICalTimeType, ICalTimeType_Month_FID);
56 }
57
58 void  jni_SetDay_in_ICalTimeType(struct ICalTimeType* __ICalTimeType_, JNIEnv *env, jobject thisICalTimeType)
59 {
60         env->SetIntField(thisICalTimeType, ICalTimeType_Day_FID, (jint) __ICalTimeType_->day);
61 }
62
63 void jni_GetDay_from_ICalTimeType(struct ICalTimeType* __ICalTimeType_, JNIEnv *env, jobject thisICalTimeType)
64 {
65         __ICalTimeType_->day = env->GetIntField(thisICalTimeType, ICalTimeType_Day_FID);
66 }
67
68 void  jni_SetHour_in_ICalTimeType(struct ICalTimeType* __ICalTimeType_, JNIEnv *env, jobject thisICalTimeType)
69 {
70         env->SetIntField(thisICalTimeType, ICalTimeType_Hour_FID, (jint) __ICalTimeType_->hour);
71 }
72
73 void jni_GetHour_from_ICalTimeType(struct ICalTimeType* __ICalTimeType_, JNIEnv *env, jobject thisICalTimeType)
74 {
75         __ICalTimeType_->hour = env->GetIntField(thisICalTimeType, ICalTimeType_Hour_FID);
76 }
77
78 void  jni_SetMinute_in_ICalTimeType(struct ICalTimeType* __ICalTimeType_, JNIEnv *env, jobject thisICalTimeType)
79 {
80         env->SetIntField(thisICalTimeType, ICalTimeType_Minute_FID, (jint) __ICalTimeType_->minute);
81 }
82
83 void jni_GetMinute_from_ICalTimeType(struct ICalTimeType* __ICalTimeType_, JNIEnv *env, jobject thisICalTimeType)
84 {
85         __ICalTimeType_->minute = env->GetIntField(thisICalTimeType, ICalTimeType_Minute_FID);
86 }
87
88 void  jni_SetSecond_in_ICalTimeType(struct ICalTimeType* __ICalTimeType_, JNIEnv *env, jobject thisICalTimeType)
89 {
90         env->SetIntField(thisICalTimeType, ICalTimeType_Second_FID, (jint) __ICalTimeType_->second);
91 }
92
93 void jni_GetSecond_from_ICalTimeType(struct ICalTimeType* __ICalTimeType_, JNIEnv *env, jobject thisICalTimeType)
94 {
95         __ICalTimeType_->second = env->GetIntField(thisICalTimeType, ICalTimeType_Second_FID);
96 }
97
98 void  jni_SetIs_utc_in_ICalTimeType(struct ICalTimeType* __ICalTimeType_, JNIEnv *env, jobject thisICalTimeType)
99 {
100         env->SetIntField(thisICalTimeType, ICalTimeType_Is_utc_FID, (jint) __ICalTimeType_->is_utc);
101 }
102
103 void jni_GetIs_utc_from_ICalTimeType(struct ICalTimeType* __ICalTimeType_, JNIEnv *env, jobject thisICalTimeType)
104 {
105         __ICalTimeType_->is_utc = env->GetIntField(thisICalTimeType, ICalTimeType_Is_utc_FID);
106 }
107
108 void  jni_SetIs_date_in_ICalTimeType(struct ICalTimeType* __ICalTimeType_, JNIEnv *env, jobject thisICalTimeType)
109 {
110         env->SetIntField(thisICalTimeType, ICalTimeType_Is_date_FID, (jint) __ICalTimeType_->is_date);
111 }
112
113 void jni_GetIs_date_from_ICalTimeType(struct ICalTimeType* __ICalTimeType_, JNIEnv *env, jobject thisICalTimeType)
114 {
115         __ICalTimeType_->is_date = env->GetIntField(thisICalTimeType, ICalTimeType_Is_date_FID);
116 }
117
118 void  jni_SetZone_in_ICalTimeType(struct ICalTimeType* __ICalTimeType_, JNIEnv *env, jobject thisICalTimeType)
119 {
120         env->SetObjectField(thisICalTimeType, ICalTimeType_Zone_FID, env->NewStringUTF(icaltime_get_tzid(*__ICalTimeType_)));
121 }
122
123 void jni_GetZone_from_ICalTimeType(struct ICalTimeType* __ICalTimeType_, JNIEnv *env, jobject thisICalTimeType)
124 {
125         __ICalTimeType_->zone = icaltimezone_get_builtin_timezone_from_tzid((char*) env->GetStringUTFChars((jstring) env->GetObjectField(thisICalTimeType, ICalTimeType_Zone_FID), NULL));
126 }
127
128 // copy all fields from the c struct (__ICalTimeType_) to the java object (thisICalTimeType).
129 void jni_SetAll_in_ICalTimeType(struct ICalTimeType* __ICalTimeType_, JNIEnv* env, jobject thisICalTimeType)
130 {
131         jni_SetYear_in_ICalTimeType(__ICalTimeType_, env, thisICalTimeType);
132         jni_SetMonth_in_ICalTimeType(__ICalTimeType_, env, thisICalTimeType);
133         jni_SetDay_in_ICalTimeType(__ICalTimeType_, env, thisICalTimeType);
134         jni_SetHour_in_ICalTimeType(__ICalTimeType_, env, thisICalTimeType);
135         jni_SetMinute_in_ICalTimeType(__ICalTimeType_, env, thisICalTimeType);
136         jni_SetSecond_in_ICalTimeType(__ICalTimeType_, env, thisICalTimeType);
137         jni_SetIs_utc_in_ICalTimeType(__ICalTimeType_, env, thisICalTimeType);
138         jni_SetIs_date_in_ICalTimeType(__ICalTimeType_, env, thisICalTimeType);
139         jni_SetZone_in_ICalTimeType(__ICalTimeType_, env, thisICalTimeType);
140 }
141
142 // copy all fields from the java object (thisICalTimeType) to the c struct (__ICalTimeType_).
143 void jni_GetAll_from_ICalTimeType(struct ICalTimeType* __ICalTimeType_, JNIEnv* env, jobject thisICalTimeType)
144 {
145         jni_GetYear_from_ICalTimeType(__ICalTimeType_, env, thisICalTimeType);
146         jni_GetMonth_from_ICalTimeType(__ICalTimeType_, env, thisICalTimeType);
147         jni_GetDay_from_ICalTimeType(__ICalTimeType_, env, thisICalTimeType);
148         jni_GetHour_from_ICalTimeType(__ICalTimeType_, env, thisICalTimeType);
149         jni_GetMinute_from_ICalTimeType(__ICalTimeType_, env, thisICalTimeType);
150         jni_GetSecond_from_ICalTimeType(__ICalTimeType_, env, thisICalTimeType);
151         jni_GetIs_utc_from_ICalTimeType(__ICalTimeType_, env, thisICalTimeType);
152         jni_GetIs_date_from_ICalTimeType(__ICalTimeType_, env, thisICalTimeType);
153         jni_GetZone_from_ICalTimeType(__ICalTimeType_, env, thisICalTimeType);
154 }
155
156 /*
157  * Class:     net_cp_jlibical_ICalTimeType
158  * Method:    init
159  * Signature: (J)V
160  */
161 JNIEXPORT void JNICALL Java_net_cp_jlibical_ICalTimeType_init__J
162   (JNIEnv* env, jobject thisICalTimeType, jlong data)
163 {
164         // copy all fields from the c struct (data) to the java object (thisICalTimeType). 
165         jni_SetAll_in_ICalTimeType((ICalTimeType*)data,env,thisICalTimeType);
166 }
167
168 /*
169  * Class:     net_cp_jlibical_ICalTimeType
170  * Method:    initFIDs
171  * Signature: ()V
172  */
173 JNIEXPORT void JNICALL Java_net_cp_jlibical_ICalTimeType_initFIDs(JNIEnv *env, jclass clazz) 
174 {
175         initICalTimeTypeFieldIDs(env, clazz);
176 }