2 /*======================================================================
3 FILE: net_cp_jlibical_ICalValue_cxx.cpp
4 CREATOR: gnorman 1/10/02
5 (C) COPYRIGHT 2002, Critical Path
6 ======================================================================*/
8 #ifndef NET_CP_JLIBICAL_ICALVALUE_CXX_H
9 #include "net_cp_jlibical_ICalValue_cxx.h"
12 #ifndef JLIBICAL_CONSTS_CXX_H
13 #include "jlibical_consts_cxx.h"
16 #ifndef JLIBICAL_UTILS_CXX_H
17 #include "jlibical_utils_cxx.h"
20 #ifndef ICALVALUE_CXX_H
21 #include "icalvalue_cxx.h"
25 * Class: net_cp_jlibical_ICalValue
26 * Method: as_ical_string
27 * Signature: ()Ljava/lang/String;
29 JNIEXPORT jstring JNICALL Java_net_cp_jlibical_ICalValue_as_1ical_1string
30 (JNIEnv *env, jobject jobj)
32 jstring result = NULL;
33 ICalValue* cObj = getSubjectAsICalValue(env,jobj,JLIBICAL_ERR_CLIENT_INTERNAL);
37 char* icalStr = cObj->as_ical_string();
44 result = env->NewStringUTF(icalStr);
51 * Class: net_cp_jlibical_ICalValue
55 JNIEXPORT jint JNICALL Java_net_cp_jlibical_ICalValue_isa
56 (JNIEnv *env, jobject jobj)
59 ICalValue* cObj = getSubjectAsICalValue(env,jobj,JLIBICAL_ERR_CLIENT_INTERNAL);
70 * Class: net_cp_jlibical_ICalValue
72 * Signature: (Ljava/lang/Object;)Z
74 JNIEXPORT jboolean JNICALL Java_net_cp_jlibical_ICalValue_isa_1value
75 (JNIEnv *env, jobject jobj, jobject arg)
79 // get the c++ object from the jobj
80 ICalValue* cObj = getSubjectAsICalValue(env,jobj,JLIBICAL_ERR_CLIENT_INTERNAL);
83 // get the c++ object from arg
88 argObjPtr = getCObjectPtr(env,jobj);
91 // get the result from the c++ object
92 result = cObj->isa_value(argObjPtr) != 0;
99 * Class: net_cp_jlibical_ICalValue
100 * Method: set_trigger
101 * Signature: (Lnet/cp/jlibical/ICalTriggerType;)V
103 JNIEXPORT void JNICALL Java_net_cp_jlibical_ICalValue_set_1trigger
104 (JNIEnv *env, jobject jobj, jobject arg)
106 // get the c++ object from the jobj
107 ICalValue* cObj = getSubjectAsICalValue(env,jobj,JLIBICAL_ERR_CLIENT_INTERNAL);
110 icaltriggertype aTrigger;
112 if (copyObjToicaltriggertype(env,arg,&aTrigger))
114 cObj->set_trigger(aTrigger);
120 * Class: net_cp_jlibical_ICalValue
121 * Method: get_trigger
122 * Signature: ()Lnet/cp/jlibical/ICalTriggerType;
124 JNIEXPORT jobject JNICALL Java_net_cp_jlibical_ICalValue_get_1trigger
125 (JNIEnv *env, jobject jobj)
129 // get the c++ object from the jobj
130 ICalValue* cObj = getSubjectAsICalValue(env,jobj,JLIBICAL_ERR_CLIENT_INTERNAL);
134 // get the trigger from CObj
135 icaltriggertype aTrigger = cObj->get_trigger();
137 // create a new surrogate, using aTrigger as the subject.
138 result = createNewICalTriggerType(env,&aTrigger);
145 * Class: net_cp_jlibical_ICalValue
149 JNIEXPORT jint JNICALL Java_net_cp_jlibical_ICalValue_get_1method
150 (JNIEnv *env, jobject jobj)
153 ICalValue* cObj = getSubjectAsICalValue(env,jobj,JLIBICAL_ERR_CLIENT_INTERNAL);
157 result = cObj->get_method();
164 * Class: net_cp_jlibical_ICalValue
168 JNIEXPORT void JNICALL Java_net_cp_jlibical_ICalValue_set_1method
169 (JNIEnv *env, jobject jobj, jint value)
171 ICalValue* cObj = getSubjectAsICalValue(env,jobj,JLIBICAL_ERR_CLIENT_INTERNAL);
175 cObj->set_method((icalproperty_method)value);
180 * Class: net_cp_jlibical_ICalValue
182 * Signature: ()Ljava/lang/String;
184 JNIEXPORT jstring JNICALL Java_net_cp_jlibical_ICalValue_get_1text
185 (JNIEnv *env, jobject jobj)
187 jstring result = NULL;
188 ICalValue* cObj = getSubjectAsICalValue(env,jobj,JLIBICAL_ERR_CLIENT_INTERNAL);
192 char* icalStr = cObj->get_text();
199 result = env->NewStringUTF(icalStr);
206 * Class: net_cp_jlibical_ICalValue
208 * Signature: (Ljava/lang/String;)V
210 JNIEXPORT void JNICALL Java_net_cp_jlibical_ICalValue_set_1text
211 (JNIEnv *env, jobject jobj, jstring str)
213 ICalValue* cObj = getSubjectAsICalValue(env,jobj,JLIBICAL_ERR_CLIENT_INTERNAL);
217 const char* szTemp = env->GetStringUTFChars(str,NULL);
219 cObj->set_text((char*)szTemp);
220 env->ReleaseStringUTFChars(str,szTemp);
225 * Class: net_cp_jlibical_ICalValue
226 * Method: get_duration
227 * Signature: ()Lnet/cp/jlibical/ICalDurationType;
229 JNIEXPORT jobject JNICALL Java_net_cp_jlibical_ICalValue_get_1duration
230 (JNIEnv *env, jobject jobj)
234 // get the c++ object from the jobj
235 ICalValue* cObj = getSubjectAsICalValue(env,jobj,JLIBICAL_ERR_CLIENT_INTERNAL);
239 // get the duration from CObj
240 icaldurationtype aDuration = cObj->get_duration();
242 // create a new surrogate, using aDuration as the subject.
243 result = createNewICalDurationType(env,&aDuration);
250 * Class: net_cp_jlibical_ICalValue
251 * Method: set_duration
252 * Signature: (Lnet/cp/jlibical/ICalDurationType;)V
254 JNIEXPORT void JNICALL Java_net_cp_jlibical_ICalValue_set_1duration
255 (JNIEnv *env, jobject jobj, jobject arg)
257 // get the c++ object from the jobj
258 ICalValue* cObj = getSubjectAsICalValue(env,jobj,JLIBICAL_ERR_CLIENT_INTERNAL);
262 icaldurationtype aDuration;
264 if (copyObjToicaldurationtype(env,arg,&aDuration))
266 cObj->set_duration(aDuration);
272 * Class: net_cp_jlibical_ICalValue
274 * Signature: ()Ljava/lang/String;
276 JNIEXPORT jstring JNICALL Java_net_cp_jlibical_ICalValue_get_1query
277 (JNIEnv *env, jobject jobj)
279 jstring result = NULL;
280 ICalValue* cObj = getSubjectAsICalValue(env,jobj,JLIBICAL_ERR_CLIENT_INTERNAL);
284 char* icalStr = cObj->get_query();
291 result = env->NewStringUTF(icalStr);
298 * Class: net_cp_jlibical_ICalValue
300 * Signature: (Ljava/lang/String;)V
302 JNIEXPORT void JNICALL Java_net_cp_jlibical_ICalValue_set_1query
303 (JNIEnv *env, jobject jobj, jstring str)
305 ICalValue* cObj = getSubjectAsICalValue(env,jobj,JLIBICAL_ERR_CLIENT_INTERNAL);
309 const char* szTemp = env->GetStringUTFChars(str,NULL);
311 cObj->set_query((char*)szTemp);
312 env->ReleaseStringUTFChars(str,szTemp);
317 * Class: net_cp_jlibical_ICalValue
318 * Method: get_datetime
319 * Signature: ()Lnet/cp/jlibical/ICalTimeType;
321 JNIEXPORT jobject JNICALL Java_net_cp_jlibical_ICalValue_get_1datetime
322 (JNIEnv *env, jobject jobj)
324 jobject result = NULL;
326 // get the c++ object from the jobj
327 ICalValue* cObj = getSubjectAsICalValue(env,jobj,JLIBICAL_ERR_CLIENT_INTERNAL);
331 icaltimetype aTime = cObj->get_datetime();
332 result = createNewICalTimeType(env,&aTime);
339 * Class: net_cp_jlibical_ICalValue
340 * Method: set_datetime
341 * Signature: (Lnet/cp/jlibical/ICalTimeType;)V
343 JNIEXPORT void JNICALL Java_net_cp_jlibical_ICalValue_set_1datetime
344 (JNIEnv *env, jobject jobj, jobject arg)
346 // get the c++ object from the jobj
347 ICalValue* cObj = getSubjectAsICalValue(env,jobj,JLIBICAL_ERR_CLIENT_INTERNAL);
353 if (copyObjToicaltimetype(env,arg,&aTime))
355 cObj->set_datetime(aTime);
361 * Class: net_cp_jlibical_ICalValue
365 JNIEXPORT jint JNICALL Java_net_cp_jlibical_ICalValue_get_1action
366 (JNIEnv *env, jobject jobj)
369 ICalValue* cObj = getSubjectAsICalValue(env,jobj,JLIBICAL_ERR_CLIENT_INTERNAL);
373 result = cObj->get_action();
380 * Class: net_cp_jlibical_ICalValue
384 JNIEXPORT void JNICALL Java_net_cp_jlibical_ICalValue_set_1action
385 (JNIEnv *env, jobject jobj, jint value)
387 ICalValue* cObj = getSubjectAsICalValue(env,jobj,JLIBICAL_ERR_CLIENT_INTERNAL);
391 cObj->set_action((icalproperty_action)value);
396 * Class: net_cp_jlibical_ICalValue
400 JNIEXPORT void JNICALL Java_net_cp_jlibical_ICalValue_init__
401 (JNIEnv *env, jobject jobj)
403 setCObjectPtr(env,jobj,new ICalValue());
407 * Class: net_cp_jlibical_ICalValue
409 * Signature: (ILjava/lang/String;)V
411 JNIEXPORT void JNICALL Java_net_cp_jlibical_ICalValue_init__ILjava_lang_String_2
412 (JNIEnv *env, jobject jobj, jint kind, jstring str)
416 const char* szTemp = env->GetStringUTFChars(str,NULL);
418 setCObjectPtr(env,jobj,new ICalValue((icalvalue_kind)kind,(char*)szTemp));
419 env->ReleaseStringUTFChars(str,szTemp);
423 throwException( env, JLIBICAL_ERR_ILLEGAL_ARGUMENT );
428 * Class: net_cp_jlibical_ICalValue
432 JNIEXPORT void JNICALL Java_net_cp_jlibical_ICalValue_init__I
433 (JNIEnv *env, jobject jobj, jint kind)
435 setCObjectPtr(env,jobj,new ICalValue((icalvalue_kind)kind));