bump to 1.0.0 and clean up spec file
[platform/upstream/libical.git] / src / java / jlibical_utils_cxx.h
1
2 /*======================================================================
3  FILE: jlibical_utils_cxx.h
4  CREATOR: Srinivasa Boppana/George Norman
5  (C) COPYRIGHT 2002, Critical Path
6 ======================================================================*/
7
8 #ifndef TEST_CXX_H
9 #define TEST_CXX_H
10
11 #ifndef JNI_H
12 #include <jni.h>
13 #endif
14
15 class VComponent;
16 class ICalProperty;
17 class ICalValue;
18 class ICalParameter;
19 struct icaltimetype;
20 struct icaltriggertype;
21 struct icaldurationtype;
22 struct icalrecurrencetype;
23 struct icalperiodtype;
24
25 // get & set
26 void* getCObjectPtr(JNIEnv *env, jobject anObj);
27 void setCObjectPtr(JNIEnv *env, jobject anObj, void* val);
28
29 // type-safe getters
30 VComponent* getSubjectAsVComponent(JNIEnv *env, jobject surrogateComponent, int exceptionType);
31 ICalProperty* getSubjectAsICalProperty(JNIEnv *env, jobject surrogateProperty, int exceptionType);
32 ICalValue* getSubjectAsICalValue(JNIEnv *env, jobject surrogateValue, int exceptionType);
33 ICalParameter* getSubjectAsICalParameter(JNIEnv *env, jobject surrogateParameter, int exceptionType);
34
35 bool copyObjToicaltimetype(JNIEnv *env, jobject src, icaltimetype* dest);
36 bool copyObjToicaltriggertype(JNIEnv *env, jobject src, icaltriggertype* dest);
37 bool copyObjToicaldurationtype(JNIEnv *env, jobject src, icaldurationtype* dest);
38 bool copyObjToicalrecurrencetype(JNIEnv *env, jobject src, icalrecurrencetype* dest);
39 bool copyObjToicalperiodtype(JNIEnv *env, jobject src, icalperiodtype* dest);
40
41 // exception handling
42 void throwException( JNIEnv *env, int cpErr );
43
44 // create objects
45 jobject createNewVComponentSurrogate(JNIEnv *env, VComponent* subject);
46 jobject createNewICalPropertySurrogate(JNIEnv *env, ICalProperty* subject);
47 jobject createNewICalValueSurrogate(JNIEnv *env, ICalValue* subject);
48 jobject createNewICalParameterSurrogate(JNIEnv *env, ICalParameter* subject);
49
50 jobject createNewICalTimeType(JNIEnv *env, icaltimetype* source);
51 jobject createNewICalTriggerType(JNIEnv *env, icaltriggertype* source);
52 jobject createNewICalDurationType(JNIEnv *env, icaldurationtype* source);
53 jobject createNewICalRecurrenceType(JNIEnv *env, icalrecurrencetype* source);
54 jobject createNewICalPeriodType(JNIEnv *env, icalperiodtype* source);
55
56 jobject doCreateNewSurrogate(JNIEnv *env, jclass surrogateClass, jlong subject);
57
58
59 #endif /*TEST_CXX_H*/