bump to 1.0.0 and clean up spec file
[platform/upstream/libical.git] / src / java / net_cp_jlibical_ICalValue_cxx.cpp
1 /* -*- Mode: C -*- */
2 /*======================================================================
3  FILE: net_cp_jlibical_ICalValue_cxx.cpp
4  CREATOR: gnorman 1/10/02
5  (C) COPYRIGHT 2002, Critical Path
6 ======================================================================*/
7
8 #ifndef NET_CP_JLIBICAL_ICALVALUE_CXX_H
9 #include "net_cp_jlibical_ICalValue_cxx.h"
10 #endif
11
12 #ifndef JLIBICAL_CONSTS_CXX_H
13 #include "jlibical_consts_cxx.h"
14 #endif
15
16 #ifndef JLIBICAL_UTILS_CXX_H
17 #include "jlibical_utils_cxx.h"
18 #endif
19
20 #ifndef ICALVALUE_CXX_H
21 #include "icalvalue_cxx.h"
22 #endif
23
24 /*
25  * Class:     net_cp_jlibical_ICalValue
26  * Method:    as_ical_string
27  * Signature: ()Ljava/lang/String;
28  */
29 JNIEXPORT jstring JNICALL Java_net_cp_jlibical_ICalValue_as_1ical_1string
30   (JNIEnv *env, jobject jobj)
31 {
32         jstring result = NULL;
33         ICalValue* cObj = getSubjectAsICalValue(env,jobj,JLIBICAL_ERR_CLIENT_INTERNAL);
34
35         if (cObj != NULL)
36         {
37                 char* icalStr = cObj->as_ical_string();
38
39                 if (icalStr == NULL)
40                 {
41                         icalStr = "";
42                 }
43
44                 result = env->NewStringUTF(icalStr);
45         }
46
47         return(result);
48 }
49
50 /*
51  * Class:     net_cp_jlibical_ICalValue
52  * Method:    isa
53  * Signature: ()I
54  */
55 JNIEXPORT jint JNICALL Java_net_cp_jlibical_ICalValue_isa
56   (JNIEnv *env, jobject jobj)
57 {
58         jint result = 0;
59         ICalValue* cObj = getSubjectAsICalValue(env,jobj,JLIBICAL_ERR_CLIENT_INTERNAL);
60
61         if (cObj != NULL)
62         {
63                 result = cObj->isa();
64         }
65
66         return(result);
67 }
68
69 /*
70  * Class:     net_cp_jlibical_ICalValue
71  * Method:    isa_value
72  * Signature: (Ljava/lang/Object;)Z
73  */
74 JNIEXPORT jboolean JNICALL Java_net_cp_jlibical_ICalValue_isa_1value
75   (JNIEnv *env, jobject jobj, jobject arg)
76 {
77         jboolean result = 0;
78
79         // get the c++ object from the jobj
80         ICalValue* cObj = getSubjectAsICalValue(env,jobj,JLIBICAL_ERR_CLIENT_INTERNAL);
81         if (cObj != NULL)
82         {
83                 // get the c++ object from arg
84                 void* argObjPtr = 0;
85
86                 if (arg != NULL)
87                 {
88                         argObjPtr = getCObjectPtr(env,jobj);
89                 }
90
91                 // get the result from the c++ object
92                 result = cObj->isa_value(argObjPtr) != 0;
93         }
94
95         return(result);
96 }
97
98 /*
99  * Class:     net_cp_jlibical_ICalValue
100  * Method:    set_trigger
101  * Signature: (Lnet/cp/jlibical/ICalTriggerType;)V
102  */
103 JNIEXPORT void JNICALL Java_net_cp_jlibical_ICalValue_set_1trigger
104   (JNIEnv *env, jobject jobj, jobject arg)
105 {
106         // get the c++ object from the jobj
107         ICalValue* cObj = getSubjectAsICalValue(env,jobj,JLIBICAL_ERR_CLIENT_INTERNAL);
108         if (cObj != NULL)
109         {
110                 icaltriggertype aTrigger; 
111
112                 if (copyObjToicaltriggertype(env,arg,&aTrigger))
113                 {
114                         cObj->set_trigger(aTrigger);
115                 }
116         }
117 }
118
119 /*
120  * Class:     net_cp_jlibical_ICalValue
121  * Method:    get_trigger
122  * Signature: ()Lnet/cp/jlibical/ICalTriggerType;
123  */
124 JNIEXPORT jobject JNICALL Java_net_cp_jlibical_ICalValue_get_1trigger
125   (JNIEnv *env, jobject jobj)
126 {
127         jobject result = 0;
128
129         // get the c++ object from the jobj
130         ICalValue* cObj = getSubjectAsICalValue(env,jobj,JLIBICAL_ERR_CLIENT_INTERNAL);
131
132         if (cObj != NULL)
133         {
134                 // get the trigger from CObj
135                 icaltriggertype aTrigger = cObj->get_trigger();
136
137                 // create a new surrogate, using aTrigger as the subject.
138                 result = createNewICalTriggerType(env,&aTrigger);
139         }
140
141         return (result);
142 }
143
144 /*
145  * Class:     net_cp_jlibical_ICalValue
146  * Method:    get_method
147  * Signature: ()I
148  */
149 JNIEXPORT jint JNICALL Java_net_cp_jlibical_ICalValue_get_1method
150   (JNIEnv *env, jobject jobj)
151 {
152         jint result = 0;
153         ICalValue* cObj = getSubjectAsICalValue(env,jobj,JLIBICAL_ERR_CLIENT_INTERNAL);
154
155         if (cObj != NULL)
156         {
157                 result = cObj->get_method();
158         }
159
160         return(result);
161 }
162
163 /*
164  * Class:     net_cp_jlibical_ICalValue
165  * Method:    set_method
166  * Signature: (I)V
167  */
168 JNIEXPORT void JNICALL Java_net_cp_jlibical_ICalValue_set_1method
169   (JNIEnv *env, jobject jobj, jint value)
170 {
171         ICalValue* cObj = getSubjectAsICalValue(env,jobj,JLIBICAL_ERR_CLIENT_INTERNAL);
172
173         if (cObj != NULL)
174         {
175                 cObj->set_method((icalproperty_method)value);
176         }
177 }
178
179 /*
180  * Class:     net_cp_jlibical_ICalValue
181  * Method:    get_text
182  * Signature: ()Ljava/lang/String;
183  */
184 JNIEXPORT jstring JNICALL Java_net_cp_jlibical_ICalValue_get_1text
185   (JNIEnv *env, jobject jobj)
186 {
187         jstring result = NULL;
188         ICalValue* cObj = getSubjectAsICalValue(env,jobj,JLIBICAL_ERR_CLIENT_INTERNAL);
189
190         if (cObj != NULL)
191         {
192                 char* icalStr = cObj->get_text();
193
194                 if (icalStr == NULL)
195                 {
196                         icalStr = "";
197                 }
198
199                 result = env->NewStringUTF(icalStr);
200         }
201
202         return(result);
203 }
204
205 /*
206  * Class:     net_cp_jlibical_ICalValue
207  * Method:    set_text
208  * Signature: (Ljava/lang/String;)V
209  */
210 JNIEXPORT void JNICALL Java_net_cp_jlibical_ICalValue_set_1text
211   (JNIEnv *env, jobject jobj, jstring str)
212 {
213         ICalValue* cObj = getSubjectAsICalValue(env,jobj,JLIBICAL_ERR_CLIENT_INTERNAL);
214
215         if (cObj != NULL)
216         {
217                 const char* szTemp = env->GetStringUTFChars(str,NULL);
218
219                 cObj->set_text((char*)szTemp);                                                                                                                                                                                                                    
220                 env->ReleaseStringUTFChars(str,szTemp);
221         }
222 }
223
224 /*
225  * Class:     net_cp_jlibical_ICalValue
226  * Method:    get_duration
227  * Signature: ()Lnet/cp/jlibical/ICalDurationType;
228  */
229 JNIEXPORT jobject JNICALL Java_net_cp_jlibical_ICalValue_get_1duration
230   (JNIEnv *env, jobject jobj)
231 {
232         jobject result = 0;
233
234         // get the c++ object from the jobj
235         ICalValue* cObj = getSubjectAsICalValue(env,jobj,JLIBICAL_ERR_CLIENT_INTERNAL);
236
237         if (cObj != NULL)
238         {
239                 // get the duration from CObj
240                 icaldurationtype aDuration = cObj->get_duration();
241
242                 // create a new surrogate, using aDuration as the subject.
243                 result = createNewICalDurationType(env,&aDuration);
244         }
245
246         return (result);
247 }
248
249 /*
250  * Class:     net_cp_jlibical_ICalValue
251  * Method:    set_duration
252  * Signature: (Lnet/cp/jlibical/ICalDurationType;)V
253  */
254 JNIEXPORT void JNICALL Java_net_cp_jlibical_ICalValue_set_1duration
255   (JNIEnv *env, jobject jobj, jobject arg)
256 {
257         // get the c++ object from the jobj
258         ICalValue* cObj = getSubjectAsICalValue(env,jobj,JLIBICAL_ERR_CLIENT_INTERNAL);
259
260         if (cObj != NULL)
261         {
262                 icaldurationtype aDuration;
263
264                 if (copyObjToicaldurationtype(env,arg,&aDuration))
265                 {
266                         cObj->set_duration(aDuration);
267                 }
268         }
269 }
270
271 /*
272  * Class:     net_cp_jlibical_ICalValue
273  * Method:    get_query
274  * Signature: ()Ljava/lang/String;
275  */
276 JNIEXPORT jstring JNICALL Java_net_cp_jlibical_ICalValue_get_1query
277   (JNIEnv *env, jobject jobj)
278 {
279         jstring result = NULL;
280         ICalValue* cObj = getSubjectAsICalValue(env,jobj,JLIBICAL_ERR_CLIENT_INTERNAL);
281
282         if (cObj != NULL)
283         {
284                 char* icalStr = cObj->get_query();
285
286                 if (icalStr == NULL)
287                 {
288                         icalStr = "";
289                 }
290
291                 result = env->NewStringUTF(icalStr);
292         }
293
294         return(result);
295 }
296
297 /*
298  * Class:     net_cp_jlibical_ICalValue
299  * Method:    set_query
300  * Signature: (Ljava/lang/String;)V
301  */
302 JNIEXPORT void JNICALL Java_net_cp_jlibical_ICalValue_set_1query
303   (JNIEnv *env, jobject jobj, jstring str)
304 {
305         ICalValue* cObj = getSubjectAsICalValue(env,jobj,JLIBICAL_ERR_CLIENT_INTERNAL);
306
307         if (cObj != NULL)
308         {
309                 const char* szTemp = env->GetStringUTFChars(str,NULL);
310
311                 cObj->set_query((char*)szTemp);
312                 env->ReleaseStringUTFChars(str,szTemp);
313         }
314 }
315
316 /*
317  * Class:     net_cp_jlibical_ICalValue
318  * Method:    get_datetime
319  * Signature: ()Lnet/cp/jlibical/ICalTimeType;
320  */
321 JNIEXPORT jobject JNICALL Java_net_cp_jlibical_ICalValue_get_1datetime
322   (JNIEnv *env, jobject jobj)
323 {
324         jobject result = NULL;
325
326         // get the c++ object from the jobj
327         ICalValue* cObj = getSubjectAsICalValue(env,jobj,JLIBICAL_ERR_CLIENT_INTERNAL);
328
329         if (cObj != NULL)
330         {
331                 icaltimetype aTime = cObj->get_datetime();
332                 result = createNewICalTimeType(env,&aTime);
333         }
334
335         return (result);
336 }
337
338 /*
339  * Class:     net_cp_jlibical_ICalValue
340  * Method:    set_datetime
341  * Signature: (Lnet/cp/jlibical/ICalTimeType;)V
342  */
343 JNIEXPORT void JNICALL Java_net_cp_jlibical_ICalValue_set_1datetime
344   (JNIEnv *env, jobject jobj, jobject arg)
345 {
346         // get the c++ object from the jobj
347         ICalValue* cObj = getSubjectAsICalValue(env,jobj,JLIBICAL_ERR_CLIENT_INTERNAL);
348
349         if (cObj != NULL)
350         {
351                 icaltimetype aTime;
352
353                 if (copyObjToicaltimetype(env,arg,&aTime))
354                 {
355                         cObj->set_datetime(aTime);
356                 }
357         }
358 }
359
360 /*
361  * Class:     net_cp_jlibical_ICalValue
362  * Method:    get_action
363  * Signature: ()I
364  */
365 JNIEXPORT jint JNICALL Java_net_cp_jlibical_ICalValue_get_1action
366   (JNIEnv *env, jobject jobj)
367 {
368         jint result = 0;
369         ICalValue* cObj = getSubjectAsICalValue(env,jobj,JLIBICAL_ERR_CLIENT_INTERNAL);
370
371         if (cObj != NULL)
372         {
373                 result = cObj->get_action();
374         }
375
376         return(result);
377 }
378
379 /*
380  * Class:     net_cp_jlibical_ICalValue
381  * Method:    set_action
382  * Signature: (I)V
383  */
384 JNIEXPORT void JNICALL Java_net_cp_jlibical_ICalValue_set_1action
385   (JNIEnv *env, jobject jobj, jint value)
386 {
387         ICalValue* cObj = getSubjectAsICalValue(env,jobj,JLIBICAL_ERR_CLIENT_INTERNAL);
388
389         if (cObj != NULL)
390         {
391                 cObj->set_action((icalproperty_action)value);
392         }
393 }
394
395 /*
396  * Class:     net_cp_jlibical_ICalValue
397  * Method:    init
398  * Signature: ()V
399  */
400 JNIEXPORT void JNICALL Java_net_cp_jlibical_ICalValue_init__
401   (JNIEnv *env, jobject jobj)
402 {
403         setCObjectPtr(env,jobj,new ICalValue());
404 }
405
406 /*
407  * Class:     net_cp_jlibical_ICalValue
408  * Method:    init
409  * Signature: (ILjava/lang/String;)V
410  */
411 JNIEXPORT void JNICALL Java_net_cp_jlibical_ICalValue_init__ILjava_lang_String_2
412   (JNIEnv *env, jobject jobj, jint kind, jstring str)
413 {
414         if (str != NULL)
415         {
416                 const char* szTemp = env->GetStringUTFChars(str,NULL);
417
418                 setCObjectPtr(env,jobj,new ICalValue((icalvalue_kind)kind,(char*)szTemp));
419                 env->ReleaseStringUTFChars(str,szTemp);
420         }
421         else
422         {
423                 throwException( env, JLIBICAL_ERR_ILLEGAL_ARGUMENT );
424         }
425 }
426
427 /*
428  * Class:     net_cp_jlibical_ICalValue
429  * Method:    init
430  * Signature: (I)V
431  */
432 JNIEXPORT void JNICALL Java_net_cp_jlibical_ICalValue_init__I
433   (JNIEnv *env, jobject jobj, jint kind)
434 {
435         setCObjectPtr(env,jobj,new ICalValue((icalvalue_kind)kind));
436 }