1
1
/*******************************************************************************
2
* Copyright (c) 2000, 2007 IBM Corporation and others.
2
* Copyright (c) 2000, 2009 IBM Corporation and others.
3
3
* All rights reserved. This program and the accompanying materials
4
4
* are made available under the terms of the Eclipse Public License v1.0
5
5
* which accompanies this distribution, and is available at
13
13
#include "xpcom_structs.h"
15
#ifndef NO_nsDynamicFunctionLoad
16
typedef struct nsDynamicFunctionLoad_FID_CACHE {
19
jfieldID functionName, function;
20
} nsDynamicFunctionLoad_FID_CACHE;
22
nsDynamicFunctionLoad_FID_CACHE nsDynamicFunctionLoadFc;
24
void cachensDynamicFunctionLoadFields(JNIEnv *env, jobject lpObject)
26
if (nsDynamicFunctionLoadFc.cached) return;
27
nsDynamicFunctionLoadFc.clazz = env->GetObjectClass(lpObject);
28
nsDynamicFunctionLoadFc.functionName = env->GetFieldID(nsDynamicFunctionLoadFc.clazz, "functionName", I_J);
29
nsDynamicFunctionLoadFc.function = env->GetFieldID(nsDynamicFunctionLoadFc.clazz, "function", I_J);
30
nsDynamicFunctionLoadFc.cached = 1;
33
nsDynamicFunctionLoad *getnsDynamicFunctionLoadFields(JNIEnv *env, jobject lpObject, nsDynamicFunctionLoad *lpStruct)
35
if (!nsDynamicFunctionLoadFc.cached) cachensDynamicFunctionLoadFields(env, lpObject);
36
lpStruct->functionName = (const char *)env->GetIntLongField(lpObject, nsDynamicFunctionLoadFc.functionName);
37
lpStruct->function = (NSFuncPtr *)env->GetIntLongField(lpObject, nsDynamicFunctionLoadFc.function);
41
void setnsDynamicFunctionLoadFields(JNIEnv *env, jobject lpObject, nsDynamicFunctionLoad *lpStruct)
43
if (!nsDynamicFunctionLoadFc.cached) cachensDynamicFunctionLoadFields(env, lpObject);
44
env->SetIntLongField(lpObject, nsDynamicFunctionLoadFc.functionName, (jintLong)lpStruct->functionName);
45
env->SetIntLongField(lpObject, nsDynamicFunctionLoadFc.function, (jintLong)lpStruct->function);
16
50
typedef struct nsID_FID_CACHE {