File indexing completed on 2024-06-16 04:51:40

0001 /*
0002     SPDX-FileCopyrightText: 2022 Volker Krause <vkrause@kde.org>
0003     SPDX-License-Identifier: LGPL-2.0-or-later
0004 */
0005 
0006 #ifndef KCALENDARCORE_JNI_EVENTDATA_H
0007 #define KCALENDARCORE_JNI_EVENTDATA_H
0008 
0009 #include "kandroidextras/jnimethod.h"
0010 #include "kandroidextras/jniobject.h"
0011 #include "kandroidextras/jniproperty.h"
0012 #include "kandroidextras/jnitypes.h"
0013 #include "kandroidextras/javatypes.h"
0014 
0015 JNI_TYPE(org, kde, kcalendarcore, EventData)
0016 JNI_TYPE(org, kde, kcalendarcore, AttendeeData)
0017 JNI_TYPE(org, kde, kcalendarcore, ExtendedPropertyData)
0018 JNI_TYPE(org, kde, kcalendarcore, ReminderData)
0019 
0020 /** JNI wrapper for the event reminder data class. */
0021 class JniReminderData {
0022     JNI_OBJECT(JniReminderData, org::kde::kcalendarcore::ReminderData)
0023 public:
0024     JNI_CONSTRUCTOR(JniReminderData)
0025     JNI_PROPERTY(int, minutes)
0026     JNI_PROPERTY(int, method)
0027 };
0028 
0029 /** JNI wrapper for the event extended property data class. */
0030 class JniExtendedPropertyData {
0031     JNI_OBJECT(JniExtendedPropertyData, org::kde::kcalendarcore::ExtendedPropertyData)
0032 public:
0033     JNI_CONSTRUCTOR(JniExtendedPropertyData)
0034     JNI_PROPERTY(KAndroidExtras::java::lang::String, name)
0035     JNI_PROPERTY(KAndroidExtras::java::lang::String, value)
0036 };
0037 
0038 /** JNI wrapper for the event reminder data class. */
0039 class JniAttendeeData {
0040     JNI_OBJECT(JniAttendeeData, org::kde::kcalendarcore::AttendeeData)
0041 public:
0042     JNI_CONSTRUCTOR(JniAttendeeData)
0043     JNI_PROPERTY(KAndroidExtras::java::lang::String, name)
0044     JNI_PROPERTY(KAndroidExtras::java::lang::String, email)
0045     JNI_PROPERTY(int, relationship)
0046     JNI_PROPERTY(int, type)
0047     JNI_PROPERTY(int, status)
0048 };
0049 
0050 /** JNI wrapper for the event data class. */
0051 class JniEventData {
0052     JNI_OBJECT(JniEventData, org::kde::kcalendarcore::EventData)
0053 public:
0054     JNI_CONSTRUCTOR(JniEventData)
0055     JNI_PROPERTY(jlong, id)
0056     JNI_PROPERTY(KAndroidExtras::java::lang::String, organizer)
0057     JNI_PROPERTY(KAndroidExtras::java::lang::String, title)
0058     JNI_PROPERTY(KAndroidExtras::java::lang::String, location)
0059     JNI_PROPERTY(KAndroidExtras::java::lang::String, description)
0060     JNI_PROPERTY(jlong, dtStart)
0061     JNI_PROPERTY(jlong, dtEnd)
0062     JNI_PROPERTY(KAndroidExtras::java::lang::String, startTimezone)
0063     JNI_PROPERTY(KAndroidExtras::java::lang::String, endTimezone)
0064     JNI_PROPERTY(KAndroidExtras::java::lang::String, duration)
0065     JNI_PROPERTY(bool, allDay)
0066     JNI_PROPERTY(KAndroidExtras::java::lang::String, rrule)
0067     JNI_PROPERTY(KAndroidExtras::java::lang::String, rdate)
0068     JNI_PROPERTY(KAndroidExtras::java::lang::String, exrule)
0069     JNI_PROPERTY(KAndroidExtras::java::lang::String, exdate)
0070     JNI_PROPERTY(KAndroidExtras::java::lang::String, originalId)
0071     JNI_PROPERTY(jlong, instanceId)
0072     JNI_PROPERTY(jint, accessLevel)
0073     JNI_PROPERTY(jint, availability)
0074     JNI_PROPERTY(KAndroidExtras::java::lang::String, uid2445)
0075 
0076     JNI_PROPERTY(KAndroidExtras::Jni::Array<JniAttendeeData>, attendees)
0077     JNI_PROPERTY(KAndroidExtras::Jni::Array<JniExtendedPropertyData>, extendedProperties)
0078     JNI_PROPERTY(KAndroidExtras::Jni::Array<JniReminderData>, reminders)
0079 };
0080 
0081 #endif