diff options
Diffstat (limited to 'bundles/org.eclipse.swt/Eclipse SWT PI/photon')
5 files changed, 86 insertions, 0 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/library/os.c b/bundles/org.eclipse.swt/Eclipse SWT PI/photon/library/os.c index 0a08ea1f9f..4406f9bd6b 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/library/os.c +++ b/bundles/org.eclipse.swt/Eclipse SWT PI/photon/library/os.c @@ -3677,6 +3677,19 @@ JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_photon_PtWeb } #endif +#ifndef NO_memmove__Lorg_eclipse_swt_internal_photon_PtWebMetaDataCallback_1t_2II +JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_photon_PtWebMetaDataCallback_1t_2II) + (JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2) +{ + PtWebMetaDataCallback_t _arg0, *lparg0=NULL; + NATIVE_ENTER(env, that, "memmove__Lorg_eclipse_swt_internal_photon_PtWebMetaDataCallback_1t_2II\n") + if (arg0) lparg0 = getPtWebMetaDataCallback_tFields(env, arg0, &_arg0); + memmove((void *)lparg0, (const void *)arg1, arg2); + if (arg0) setPtWebMetaDataCallback_tFields(env, arg0, lparg0); + NATIVE_EXIT(env, that, "memmove__Lorg_eclipse_swt_internal_photon_PtWebMetaDataCallback_1t_2II\n") +} +#endif + #ifndef NO_memmove__Lorg_eclipse_swt_internal_photon_PtWebStatusCallback_1t_2II JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_photon_PtWebStatusCallback_1t_2II) (JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2) diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/library/os_structs.c b/bundles/org.eclipse.swt/Eclipse SWT PI/photon/library/os_structs.c index 9c42df2032..8c074c42a9 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/library/os_structs.c +++ b/bundles/org.eclipse.swt/Eclipse SWT PI/photon/library/os_structs.c @@ -1569,6 +1569,52 @@ void setPtWebDataReqCallback_tFields(JNIEnv *env, jobject lpObject, PtWebDataReq } #endif +#ifndef NO_PtWebMetaDataCallback_t +typedef struct PtWebMetaDataCallback_t_FID_CACHE { + int cached; + jclass clazz; + jfieldID name, value; +} PtWebMetaDataCallback_t_FID_CACHE; + +PtWebMetaDataCallback_t_FID_CACHE PtWebMetaDataCallback_tFc; + +void cachePtWebMetaDataCallback_tFields(JNIEnv *env, jobject lpObject) +{ + if (PtWebMetaDataCallback_tFc.cached) return; + PtWebMetaDataCallback_tFc.clazz = (*env)->GetObjectClass(env, lpObject); + PtWebMetaDataCallback_tFc.name = (*env)->GetFieldID(env, PtWebMetaDataCallback_tFc.clazz, "name", "[B"); + PtWebMetaDataCallback_tFc.value = (*env)->GetFieldID(env, PtWebMetaDataCallback_tFc.clazz, "value", "[B"); + PtWebMetaDataCallback_tFc.cached = 1; +} + +PtWebMetaDataCallback_t *getPtWebMetaDataCallback_tFields(JNIEnv *env, jobject lpObject, PtWebMetaDataCallback_t *lpStruct) +{ + if (!PtWebMetaDataCallback_tFc.cached) cachePtWebMetaDataCallback_tFields(env, lpObject); + { + jbyteArray lpObject1 = (*env)->GetObjectField(env, lpObject, PtWebMetaDataCallback_tFc.name); + (*env)->GetByteArrayRegion(env, lpObject1, 0, sizeof(lpStruct->name), (void *)lpStruct->name); + } + { + jbyteArray lpObject1 = (*env)->GetObjectField(env, lpObject, PtWebMetaDataCallback_tFc.value); + (*env)->GetByteArrayRegion(env, lpObject1, 0, sizeof(lpStruct->value), (void *)lpStruct->value); + } + return lpStruct; +} + +void setPtWebMetaDataCallback_tFields(JNIEnv *env, jobject lpObject, PtWebMetaDataCallback_t *lpStruct) +{ + if (!PtWebMetaDataCallback_tFc.cached) cachePtWebMetaDataCallback_tFields(env, lpObject); + { + jbyteArray lpObject1 = (*env)->GetObjectField(env, lpObject, PtWebMetaDataCallback_tFc.name); + (*env)->SetByteArrayRegion(env, lpObject1, 0, sizeof(lpStruct->name), (void *)lpStruct->name); + } + { + jbyteArray lpObject1 = (*env)->GetObjectField(env, lpObject, PtWebMetaDataCallback_tFc.value); + (*env)->SetByteArrayRegion(env, lpObject1, 0, sizeof(lpStruct->value), (void *)lpStruct->value); + } +} +#endif + #ifndef NO_PtWebStatusCallback_t typedef struct PtWebStatusCallback_t_FID_CACHE { int cached; diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/library/os_structs.h b/bundles/org.eclipse.swt/Eclipse SWT PI/photon/library/os_structs.h index 0cfa9c4e9b..a09d604989 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/library/os_structs.h +++ b/bundles/org.eclipse.swt/Eclipse SWT PI/photon/library/os_structs.h @@ -227,6 +227,14 @@ void setPtWebDataReqCallback_tFields(JNIEnv *env, jobject lpObject, PtWebDataReq #define setPtWebDataReqCallback_tFields(a,b,c) #endif +#ifndef NO_PtWebMetaDataCallback_t +PtWebMetaDataCallback_t *getPtWebMetaDataCallback_tFields(JNIEnv *env, jobject lpObject, PtWebMetaDataCallback_t *lpStruct); +void setPtWebMetaDataCallback_tFields(JNIEnv *env, jobject lpObject, PtWebMetaDataCallback_t *lpStruct); +#else +#define getPtWebMetaDataCallback_tFields(a,b,c) NULL +#define setPtWebMetaDataCallback_tFields(a,b,c) +#endif + #ifndef NO_PtWebStatusCallback_t PtWebStatusCallback_t *getPtWebStatusCallback_tFields(JNIEnv *env, jobject lpObject, PtWebStatusCallback_t *lpStruct); void setPtWebStatusCallback_tFields(JNIEnv *env, jobject lpObject, PtWebStatusCallback_t *lpStruct); diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/OS.java b/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/OS.java index f840bbfd65..932960b9df 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/OS.java +++ b/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/OS.java @@ -418,6 +418,7 @@ public class OS { public static final int Pt_CB_WEB_CLOSE_WINDOW = 0x18713; public static final int Pt_CB_WEB_COMPLETE = 0x18704; public static final int Pt_CB_WEB_DATA_REQ = 0x1870F; + public static final int Pt_CB_WEB_METADATA = 0x18705; public static final int Pt_CB_WEB_NEW_WINDOW = 0x18711; public static final int Pt_CB_WEB_START = 0x1870B; public static final int Pt_CB_WEB_STATUS = 0x18708; @@ -815,6 +816,7 @@ public static final native void memmove(byte[] dest, PhClipHeader src, int size) public static final native void memmove(PtWebStatusCallback_t dest, int src, int size); public static final native void memmove(PtWebDataReqCallback_t dest, int src, int size); public static final native void memmove(PtWebWindowCallback_t dest, int src, int size); +public static final native void memmove(PtWebMetaDataCallback_t dest, int src, int size); public static final native void memmove(int dest, PtWebClientData_t src, int size); public static final native void memset(int dest, int c, int length); public static final native int strdup(int string); diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PtWebMetaDataCallback_t.java b/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PtWebMetaDataCallback_t.java new file mode 100644 index 0000000000..a3a01f9243 --- /dev/null +++ b/bundles/org.eclipse.swt/Eclipse SWT PI/photon/org/eclipse/swt/internal/photon/PtWebMetaDataCallback_t.java @@ -0,0 +1,17 @@ +/******************************************************************************* + * Copyright (c) 2000, 2003 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Common Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/cpl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ +package org.eclipse.swt.internal.photon; + +public class PtWebMetaDataCallback_t { + public byte[] name = new byte[128]; + public byte[] value = new byte[2048]; + public static final int sizeof = 2176; +}
\ No newline at end of file |