SF1570270 Proxy unhook detatched threads.
SF1538011 toString() not compliant, large ripple into toXXX() methods SF1478172 Variant jni methods public without protection. Now JNI methods behind java methods
This commit is contained in:
@@ -9,6 +9,18 @@
|
|||||||
<li>Build process now notifies developer if version property missing
|
<li>Build process now notifies developer if version property missing
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
|
<li>
|
||||||
|
<b>API Changes</b>
|
||||||
|
<ul>
|
||||||
|
<li>Variant.noParam() changed to Variant.putNoParam()
|
||||||
|
<li>Variant.toString() now follows normal java semantics.
|
||||||
|
This conflicted with the jacob toXXX() standard.
|
||||||
|
<li>Many Variant.toXXX() methods deprecated because folks didn't realize they were doing type conversion
|
||||||
|
Most calls to toXXX() methods should actually be getXXX() calls.
|
||||||
|
This also allowed toString() to follow Java conventions
|
||||||
|
<li>Variant native methods wrapped with java methods to better armor the Variant
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<h3>Tracked Changes</h3>
|
<h3>Tracked Changes</h3>
|
||||||
@@ -18,11 +30,31 @@
|
|||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td width="13%">1550604</td>
|
<td width="13%">1550604</td>
|
||||||
<td width="87%">Build process died with confusing error if version not set in properties file</td>
|
<td width="87%">Build process died with confusing error if version not set in properties file(pre1)</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td width="13%">SF1511033</td>
|
<td width="13%">SF1511033</td>
|
||||||
<td width="87%">Fix array index out of bounds problem due to coding error</td>
|
<td width="87%">Fix array index out of bounds problem due to coding error (pre1)</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td width="13%">1570270 </td>
|
||||||
|
<td width="87%">~Event method in EventProxy may unhook java thread from VM.
|
||||||
|
Can get JNI error because unhooking listner detatched Java VM thread (pre1)</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td width="13%">1538011 </td>
|
||||||
|
<td width="87%">toString() non compliant with java standards. The toString() method
|
||||||
|
converted the underlying data to a string and it shouldn't. This caused
|
||||||
|
a rethinking of all toXXX() methods other than toDispatch(). Most of the
|
||||||
|
toXXX() methods have now been deprecated and should be replaced with getXXX() methods.
|
||||||
|
(pre1)</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td width="13%">1478162</td>
|
||||||
|
<td width="87%">Variant does not warn user if methods called after released.
|
||||||
|
All putXXX() and getXXX() methods now check to see if they've been released
|
||||||
|
prior to calling the JNI code. toXXX() methods are deprecated but protected
|
||||||
|
in the same way.(pre1)</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td width="13%"> </td>
|
<td width="13%"> </td>
|
||||||
@@ -36,7 +68,7 @@
|
|||||||
<td width="87%">Support command line parameter dll location specification.
|
<td width="87%">Support command line parameter dll location specification.
|
||||||
Applets and other tools can now specificy the dll location that
|
Applets and other tools can now specificy the dll location that
|
||||||
is fed to a System.load() rather than System.loadLibrary for the
|
is fed to a System.load() rather than System.loadLibrary for the
|
||||||
situation where the app can't write the dll to a library path directory.</td>
|
situation where the app can't write the dll to a library path directory.(pre1)</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td width="13%"> </td>
|
<td width="13%"> </td>
|
||||||
@@ -49,7 +81,7 @@
|
|||||||
<td width="13%">1550628</td>
|
<td width="13%">1550628</td>
|
||||||
<td width="87%">Moved all LoadLibrary requests into JacobObject. Classes not subclassed
|
<td width="87%">Moved all LoadLibrary requests into JacobObject. Classes not subclassed
|
||||||
off of JacobObject make calls to a static method on JacobObject to make sure
|
off of JacobObject make calls to a static method on JacobObject to make sure
|
||||||
DLL is loaded</td>
|
DLL is loaded(pre1)</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
|
|||||||
@@ -33,8 +33,7 @@ EventProxy::EventProxy(JNIEnv *env,
|
|||||||
eventIID(eid), MethNum(mNum), MethName(mName),
|
eventIID(eid), MethNum(mNum), MethName(mName),
|
||||||
MethID(mID)
|
MethID(mID)
|
||||||
{
|
{
|
||||||
// don't really need the variant object but we keep a reference
|
// keep a pointer to the sink
|
||||||
// anyway
|
|
||||||
javaSinkObj = env->NewGlobalRef(aSinkObj);
|
javaSinkObj = env->NewGlobalRef(aSinkObj);
|
||||||
if (env->ExceptionOccurred()) { env->ExceptionDescribe(); env->ExceptionClear();}
|
if (env->ExceptionOccurred()) { env->ExceptionDescribe(); env->ExceptionClear();}
|
||||||
|
|
||||||
@@ -60,14 +59,20 @@ EventProxy::~EventProxy()
|
|||||||
{
|
{
|
||||||
JNIEnv *env;
|
JNIEnv *env;
|
||||||
Disconnect();
|
Disconnect();
|
||||||
// attach to the current running thread
|
jint vmConnectionStatus = JNI_EVERSION ;
|
||||||
#ifdef JNI_VERSION_1_2
|
|
||||||
printf("using version 1.2 API\n");
|
// attach to the current running thread -- JDK 1.4 jni.h has two param cover for 3 param call
|
||||||
|
vmConnectionStatus = jvm->GetEnv((void **)&env, JNI_VERSION_1_2);
|
||||||
|
if (env->ExceptionOccurred()) { env->ExceptionDescribe(); env->ExceptionClear();}
|
||||||
|
if (vmConnectionStatus == JNI_EDETACHED){
|
||||||
|
//printf("Unhook: Attaching to current thread using JNI Version 1.2 (%d)\n",vmConnectionStatus);
|
||||||
jvm->AttachCurrentThread((void **)&env, jvm);
|
jvm->AttachCurrentThread((void **)&env, jvm);
|
||||||
#else
|
if (env->ExceptionOccurred()) { env->ExceptionDescribe(); env->ExceptionClear();}
|
||||||
printf("not using version 1.2 API\n");
|
} else {
|
||||||
jvm->AttachCurrentThread((void**)&env, NULL);
|
// should really look for JNI_OK versus an error
|
||||||
#endif
|
// started method hooked so no need to attach again
|
||||||
|
//printf("Unhook: No need to attach because already attached %d\n",vmConnectionStatus);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
env->DeleteGlobalRef(javaSinkObj);
|
env->DeleteGlobalRef(javaSinkObj);
|
||||||
@@ -77,7 +82,13 @@ EventProxy::~EventProxy()
|
|||||||
delete [] MethID;
|
delete [] MethID;
|
||||||
}
|
}
|
||||||
// detach from thread
|
// detach from thread
|
||||||
|
if (vmConnectionStatus == JNI_EDETACHED){
|
||||||
jvm->DetachCurrentThread();
|
jvm->DetachCurrentThread();
|
||||||
|
//printf("Unhook: Detached\n");
|
||||||
|
} else {
|
||||||
|
//printf("Unhook: No need to detatch because attached prior to method\n");
|
||||||
|
}
|
||||||
|
//fflush(stdout);
|
||||||
}
|
}
|
||||||
|
|
||||||
void EventProxy::Disconnect() {
|
void EventProxy::Disconnect() {
|
||||||
@@ -113,9 +124,6 @@ STDMETHODIMP EventProxy::Invoke(DISPID dispID, REFIID riid,
|
|||||||
LCID lcid, unsigned short wFlags, DISPPARAMS *pDispParams,
|
LCID lcid, unsigned short wFlags, DISPPARAMS *pDispParams,
|
||||||
VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
|
VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
|
||||||
{
|
{
|
||||||
//Visual C++ 6.0 recognized this as an unused variable
|
|
||||||
//HRESULT hr;
|
|
||||||
|
|
||||||
const char *eventMethodName = NULL; //Sourceforge report 1394001
|
const char *eventMethodName = NULL; //Sourceforge report 1394001
|
||||||
JNIEnv *env = NULL;
|
JNIEnv *env = NULL;
|
||||||
jobject retObj;
|
jobject retObj;
|
||||||
@@ -130,33 +138,39 @@ STDMETHODIMP EventProxy::Invoke(DISPID dispID, REFIID riid,
|
|||||||
}
|
}
|
||||||
if (DISPATCH_METHOD & wFlags)
|
if (DISPATCH_METHOD & wFlags)
|
||||||
{
|
{
|
||||||
|
|
||||||
// attach to the current running thread
|
// attach to the current running thread
|
||||||
#ifdef JNI_VERSION_1_2
|
//printf("Invoke: Attaching to current thread using JNI Version 1.2\n");
|
||||||
jvm->AttachCurrentThread((void **)&env, jvm);
|
jvm->AttachCurrentThread((void **)&env, jvm);
|
||||||
#else
|
if (env->ExceptionOccurred()) { env->ExceptionDescribe(); env->ExceptionClear();}
|
||||||
jvm->AttachCurrentThread((void**)&env, NULL);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
if (!eventMethodName)
|
if (!eventMethodName)
|
||||||
{
|
{
|
||||||
ThrowComFail(env, "Event method received was not defined as part of callback interface", -1);
|
|
||||||
// user did not implement this method
|
// user did not implement this method
|
||||||
|
printf("Invoke: didn't find method name\n");
|
||||||
|
ThrowComFail(env, "Event method received was not defined as part of callback interface", -1);
|
||||||
|
|
||||||
|
// should we detatch before returning?? The old code didn't but I don't see why not.
|
||||||
|
// jvm->DetachCurrentThread();
|
||||||
return S_OK;
|
return S_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// find the class of the InvocationHandler
|
// find the class of the InvocationHandler
|
||||||
jclass javaSinkClass = env->GetObjectClass(javaSinkObj);
|
jclass javaSinkClass = env->GetObjectClass(javaSinkObj);
|
||||||
if (env->ExceptionOccurred()) { env->ExceptionDescribe(); env->ExceptionClear();}
|
if (env->ExceptionOccurred()) { env->ExceptionDescribe(); env->ExceptionClear();}
|
||||||
|
//printf("Invoke: Got sink class\n");
|
||||||
jmethodID invokeMethod;
|
jmethodID invokeMethod;
|
||||||
invokeMethod = env->GetMethodID(javaSinkClass, "invoke", "(Ljava/lang/String;[Lcom/jacob/com/Variant;)Lcom/jacob/com/Variant;");
|
invokeMethod = env->GetMethodID(javaSinkClass, "invoke", "(Ljava/lang/String;[Lcom/jacob/com/Variant;)Lcom/jacob/com/Variant;");
|
||||||
if (env->ExceptionOccurred()) { env->ExceptionDescribe(); env->ExceptionClear();}
|
if (env->ExceptionOccurred()) { env->ExceptionDescribe(); env->ExceptionClear();}
|
||||||
jstring eventMethodNameAsString = env->NewStringUTF(eventMethodName);
|
jstring eventMethodNameAsString = env->NewStringUTF(eventMethodName);
|
||||||
|
//printf("Invoke: Got method name\n");
|
||||||
// now do what we need for the variant
|
// now do what we need for the variant
|
||||||
jmethodID getVariantMethod = env->GetMethodID(javaSinkClass, "getVariant", "()Lcom/jacob/com/Variant;");
|
jmethodID getVariantMethod = env->GetMethodID(javaSinkClass, "getVariant", "()Lcom/jacob/com/Variant;");
|
||||||
if (env->ExceptionOccurred()) { env->ExceptionDescribe(); env->ExceptionClear();}
|
if (env->ExceptionOccurred()) { env->ExceptionDescribe(); env->ExceptionClear();}
|
||||||
|
//printf("Invoke: Found way too getVariant\n");
|
||||||
jobject aVariantObj = env->CallObjectMethod(javaSinkObj, getVariantMethod);
|
jobject aVariantObj = env->CallObjectMethod(javaSinkObj, getVariantMethod);
|
||||||
if (env->ExceptionOccurred()) { env->ExceptionDescribe(); env->ExceptionClear();}
|
if (env->ExceptionOccurred()) { env->ExceptionDescribe(); env->ExceptionClear();}
|
||||||
|
//printf("Invoke: Made Variant\n");
|
||||||
jclass variantClass = env->GetObjectClass(aVariantObj);
|
jclass variantClass = env->GetObjectClass(aVariantObj);
|
||||||
if (env->ExceptionOccurred()) { env->ExceptionDescribe(); env->ExceptionClear();}
|
if (env->ExceptionOccurred()) { env->ExceptionDescribe(); env->ExceptionClear();}
|
||||||
|
|
||||||
@@ -166,6 +180,7 @@ STDMETHODIMP EventProxy::Invoke(DISPID dispID, REFIID riid,
|
|||||||
// make an array of them
|
// make an array of them
|
||||||
jobjectArray varr = env->NewObjectArray(numVariantParams, variantClass, 0);
|
jobjectArray varr = env->NewObjectArray(numVariantParams, variantClass, 0);
|
||||||
if (env->ExceptionOccurred()) { env->ExceptionDescribe(); env->ExceptionClear();}
|
if (env->ExceptionOccurred()) { env->ExceptionDescribe(); env->ExceptionClear();}
|
||||||
|
//printf("Invoke: Created Array\n");
|
||||||
int i,j;
|
int i,j;
|
||||||
for(i=numVariantParams-1,j=0;i>=0;i--,j++)
|
for(i=numVariantParams-1,j=0;i>=0;i--,j++)
|
||||||
{
|
{
|
||||||
@@ -181,11 +196,13 @@ STDMETHODIMP EventProxy::Invoke(DISPID dispID, REFIID riid,
|
|||||||
env->DeleteLocalRef(arg);
|
env->DeleteLocalRef(arg);
|
||||||
if (env->ExceptionOccurred()) { env->ExceptionDescribe(); env->ExceptionClear();}
|
if (env->ExceptionOccurred()) { env->ExceptionDescribe(); env->ExceptionClear();}
|
||||||
}
|
}
|
||||||
|
//printf("Invoke: Filled Array\n");
|
||||||
// Set up the return value
|
// Set up the return value
|
||||||
jobject ret;
|
jobject ret;
|
||||||
|
|
||||||
ret = env->CallObjectMethod(javaSinkObj, invokeMethod,
|
ret = env->CallObjectMethod(javaSinkObj, invokeMethod,
|
||||||
eventMethodNameAsString, varr);
|
eventMethodNameAsString, varr);
|
||||||
|
//printf("Invoke: Invoked callback\n");
|
||||||
if (!env->ExceptionOccurred() && ret != NULL) {
|
if (!env->ExceptionOccurred() && ret != NULL) {
|
||||||
VariantCopy(pVarResult, extractVariant(env,ret));
|
VariantCopy(pVarResult, extractVariant(env,ret));
|
||||||
}
|
}
|
||||||
@@ -206,7 +223,9 @@ STDMETHODIMP EventProxy::Invoke(DISPID dispID, REFIID riid,
|
|||||||
}
|
}
|
||||||
// End code from Jiffie team that copies parameters back from java to COM
|
// End code from Jiffie team that copies parameters back from java to COM
|
||||||
// detach from thread
|
// detach from thread
|
||||||
|
//printf("Invoke: Detatching\n");
|
||||||
jvm->DetachCurrentThread();
|
jvm->DetachCurrentThread();
|
||||||
|
//fflush(stdout);
|
||||||
return S_OK;
|
return S_OK;
|
||||||
}
|
}
|
||||||
return E_NOINTERFACE;
|
return E_NOINTERFACE;
|
||||||
|
|||||||
316
jni/Variant.cpp
316
jni/Variant.cpp
@@ -155,61 +155,6 @@ JNIEXPORT void JNICALL Java_com_jacob_com_Variant_SerializationReadFromBytes
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Converts the data to a Int object and then returns it as a Dispatch
|
|
||||||
*/
|
|
||||||
|
|
||||||
JNIEXPORT jint JNICALL Java_com_jacob_com_Variant_toInt
|
|
||||||
(JNIEnv *env, jobject _this)
|
|
||||||
{
|
|
||||||
VARIANT *v = extractVariant(env, _this);
|
|
||||||
if (v) {
|
|
||||||
HRESULT hr;
|
|
||||||
if (FAILED(hr = VariantChangeType(v, v, 0, VT_I4))) {
|
|
||||||
ThrowComFail(env, "VariantChangeType failed", hr);
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
return (jint)V_I4(v);
|
|
||||||
}
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Converts the data to a Date object and then returns it as a Dispatch
|
|
||||||
*/
|
|
||||||
JNIEXPORT jdouble JNICALL Java_com_jacob_com_Variant_toDate
|
|
||||||
(JNIEnv *env, jobject _this)
|
|
||||||
{
|
|
||||||
VARIANT *v = extractVariant(env, _this);
|
|
||||||
if (v) {
|
|
||||||
HRESULT hr;
|
|
||||||
if (FAILED(hr = VariantChangeType(v, v, 0, VT_DATE))) {
|
|
||||||
ThrowComFail(env, "VariantChangeType failed", hr);
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
return (jdouble)V_DATE(v);
|
|
||||||
}
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Converts the data to a Boolean object and then returns it as a Dispatch
|
|
||||||
*/
|
|
||||||
JNIEXPORT jboolean JNICALL Java_com_jacob_com_Variant_toBoolean
|
|
||||||
(JNIEnv *env, jobject _this)
|
|
||||||
{
|
|
||||||
VARIANT *v = extractVariant(env, _this);
|
|
||||||
if (v) {
|
|
||||||
HRESULT hr;
|
|
||||||
if (FAILED(hr = VariantChangeType(v, v, 0, VT_BOOL))) {
|
|
||||||
ThrowComFail(env, "VariantChangeType failed", hr);
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
return (jboolean)V_BOOL(v);
|
|
||||||
}
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Converts the data to a Enum Variant object and then returns it as a Dispatch
|
* Converts the data to a Enum Variant object and then returns it as a Dispatch
|
||||||
*/
|
*/
|
||||||
@@ -243,7 +188,7 @@ JNIEXPORT jobject JNICALL Java_com_jacob_com_Variant_toEnumVariant
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putNull
|
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putVariantNull
|
||||||
(JNIEnv *env, jobject _this)
|
(JNIEnv *env, jobject _this)
|
||||||
{
|
{
|
||||||
VARIANT *v = extractVariant(env, _this);
|
VARIANT *v = extractVariant(env, _this);
|
||||||
@@ -259,44 +204,8 @@ JNIEXPORT jobject JNICALL Java_com_jacob_com_Variant_cloneIndirect
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Converts the data to a Double object and then returns it as a Dispatch
|
|
||||||
*/
|
|
||||||
JNIEXPORT jdouble JNICALL Java_com_jacob_com_Variant_toDouble
|
|
||||||
(JNIEnv *env, jobject _this)
|
|
||||||
{
|
|
||||||
VARIANT *v = extractVariant(env, _this);
|
|
||||||
if (v) {
|
|
||||||
HRESULT hr;
|
|
||||||
if (FAILED(hr = VariantChangeType(v, v, 0, VT_R8))) {
|
|
||||||
ThrowComFail(env, "VariantChangeType failed", hr);
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
return (jdouble)V_R8(v);
|
|
||||||
}
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putVariantShortRef
|
||||||
* Converts the data to a Long object and then returns it as a Dispatch
|
|
||||||
*/
|
|
||||||
JNIEXPORT jlong JNICALL Java_com_jacob_com_Variant_toCurrency
|
|
||||||
(JNIEnv *env, jobject _this)
|
|
||||||
{
|
|
||||||
VARIANT *v = extractVariant(env, _this);
|
|
||||||
if (v) {
|
|
||||||
HRESULT hr;
|
|
||||||
if (FAILED(hr = VariantChangeType(v, v, 0, VT_CY))) {
|
|
||||||
ThrowComFail(env, "VariantChangeType failed", hr);
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
CY cy = V_CY(v);
|
|
||||||
return (jlong)cy.int64;
|
|
||||||
}
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putShortRef
|
|
||||||
(JNIEnv *env, jobject _this, jshort s)
|
(JNIEnv *env, jobject _this, jshort s)
|
||||||
{
|
{
|
||||||
VARIANT *v = extractVariant(env, _this);
|
VARIANT *v = extractVariant(env, _this);
|
||||||
@@ -309,7 +218,7 @@ JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putShortRef
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putIntRef
|
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putVariantIntRef
|
||||||
(JNIEnv *env, jobject _this, jint s)
|
(JNIEnv *env, jobject _this, jint s)
|
||||||
{
|
{
|
||||||
VARIANT *v = extractVariant(env, _this);
|
VARIANT *v = extractVariant(env, _this);
|
||||||
@@ -322,7 +231,7 @@ JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putIntRef
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putDoubleRef
|
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putVariantDoubleRef
|
||||||
(JNIEnv *env, jobject _this, jdouble s)
|
(JNIEnv *env, jobject _this, jdouble s)
|
||||||
{
|
{
|
||||||
VARIANT *v = extractVariant(env, _this);
|
VARIANT *v = extractVariant(env, _this);
|
||||||
@@ -334,7 +243,7 @@ JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putDoubleRef
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putDateRef
|
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putVariantDateRef
|
||||||
(JNIEnv *env, jobject _this, jdouble s)
|
(JNIEnv *env, jobject _this, jdouble s)
|
||||||
{
|
{
|
||||||
VARIANT *v = extractVariant(env, _this);
|
VARIANT *v = extractVariant(env, _this);
|
||||||
@@ -348,7 +257,7 @@ JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putDateRef
|
|||||||
}
|
}
|
||||||
|
|
||||||
// SF 1065533 added unicode support
|
// SF 1065533 added unicode support
|
||||||
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putStringRef
|
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putVariantStringRef
|
||||||
(JNIEnv *env, jobject _this, jstring s)
|
(JNIEnv *env, jobject _this, jstring s)
|
||||||
{
|
{
|
||||||
VARIANT *v = extractVariant(env, _this);
|
VARIANT *v = extractVariant(env, _this);
|
||||||
@@ -371,7 +280,7 @@ JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putStringRef
|
|||||||
env->ReleaseStringChars(s,cStr); }
|
env->ReleaseStringChars(s,cStr); }
|
||||||
}
|
}
|
||||||
|
|
||||||
JNIEXPORT jshort JNICALL Java_com_jacob_com_Variant_getShortRef
|
JNIEXPORT jshort JNICALL Java_com_jacob_com_Variant_getVariantShortRef
|
||||||
(JNIEnv *env, jobject _this)
|
(JNIEnv *env, jobject _this)
|
||||||
{
|
{
|
||||||
VARIANT *v = extractVariant(env, _this);
|
VARIANT *v = extractVariant(env, _this);
|
||||||
@@ -384,7 +293,7 @@ JNIEXPORT jshort JNICALL Java_com_jacob_com_Variant_getShortRef
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
JNIEXPORT jint JNICALL Java_com_jacob_com_Variant_getIntRef
|
JNIEXPORT jint JNICALL Java_com_jacob_com_Variant_getVariantIntRef
|
||||||
(JNIEnv *env, jobject _this)
|
(JNIEnv *env, jobject _this)
|
||||||
{
|
{
|
||||||
VARIANT *v = extractVariant(env, _this);
|
VARIANT *v = extractVariant(env, _this);
|
||||||
@@ -397,7 +306,7 @@ JNIEXPORT jint JNICALL Java_com_jacob_com_Variant_getIntRef
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putShort
|
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putVariantShort
|
||||||
(JNIEnv *env, jobject _this, jshort s)
|
(JNIEnv *env, jobject _this, jshort s)
|
||||||
{
|
{
|
||||||
VARIANT *v = extractVariant(env, _this);
|
VARIANT *v = extractVariant(env, _this);
|
||||||
@@ -408,7 +317,7 @@ JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putShort
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
JNIEXPORT jshort JNICALL Java_com_jacob_com_Variant_getShort
|
JNIEXPORT jshort JNICALL Java_com_jacob_com_Variant_getVariantShort
|
||||||
(JNIEnv *env, jobject _this)
|
(JNIEnv *env, jobject _this)
|
||||||
{
|
{
|
||||||
VARIANT *v = extractVariant(env, _this);
|
VARIANT *v = extractVariant(env, _this);
|
||||||
@@ -421,7 +330,7 @@ JNIEXPORT jshort JNICALL Java_com_jacob_com_Variant_getShort
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
JNIEXPORT jdouble JNICALL Java_com_jacob_com_Variant_getDoubleRef
|
JNIEXPORT jdouble JNICALL Java_com_jacob_com_Variant_getVariantDoubleRef
|
||||||
(JNIEnv *env, jobject _this)
|
(JNIEnv *env, jobject _this)
|
||||||
{
|
{
|
||||||
VARIANT *v = extractVariant(env, _this);
|
VARIANT *v = extractVariant(env, _this);
|
||||||
@@ -434,7 +343,7 @@ JNIEXPORT jdouble JNICALL Java_com_jacob_com_Variant_getDoubleRef
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
JNIEXPORT jdouble JNICALL Java_com_jacob_com_Variant_getDateRef
|
JNIEXPORT jdouble JNICALL Java_com_jacob_com_Variant_getVariantDateRef
|
||||||
(JNIEnv *env, jobject _this)
|
(JNIEnv *env, jobject _this)
|
||||||
{
|
{
|
||||||
VARIANT *v = extractVariant(env, _this);
|
VARIANT *v = extractVariant(env, _this);
|
||||||
@@ -447,7 +356,7 @@ JNIEXPORT jdouble JNICALL Java_com_jacob_com_Variant_getDateRef
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
JNIEXPORT jstring JNICALL Java_com_jacob_com_Variant_getStringRef
|
JNIEXPORT jstring JNICALL Java_com_jacob_com_Variant_getVariantStringRef
|
||||||
(JNIEnv *env, jobject _this)
|
(JNIEnv *env, jobject _this)
|
||||||
{
|
{
|
||||||
VARIANT *v = extractVariant(env, _this);
|
VARIANT *v = extractVariant(env, _this);
|
||||||
@@ -462,6 +371,9 @@ JNIEXPORT jstring JNICALL Java_com_jacob_com_Variant_getStringRef
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* cover for underlying C VariantClear function
|
||||||
|
*/
|
||||||
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_VariantClear
|
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_VariantClear
|
||||||
(JNIEnv *env, jobject _this)
|
(JNIEnv *env, jobject _this)
|
||||||
{
|
{
|
||||||
@@ -474,7 +386,7 @@ JNIEXPORT void JNICALL Java_com_jacob_com_Variant_VariantClear
|
|||||||
/**
|
/**
|
||||||
* Converts the data to a Dispatch object and then returns it as a Dispatch
|
* Converts the data to a Dispatch object and then returns it as a Dispatch
|
||||||
*/
|
*/
|
||||||
JNIEXPORT jobject JNICALL Java_com_jacob_com_Variant_toDispatchObject
|
JNIEXPORT jobject JNICALL Java_com_jacob_com_Variant_toVariantDispatch
|
||||||
(JNIEnv *env, jobject _this)
|
(JNIEnv *env, jobject _this)
|
||||||
{
|
{
|
||||||
VARIANT *v = extractVariant(env, _this);
|
VARIANT *v = extractVariant(env, _this);
|
||||||
@@ -503,42 +415,12 @@ JNIEXPORT jobject JNICALL Java_com_jacob_com_Variant_clone
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Converts the data to a String object and then returns it as a Dispatch
|
|
||||||
*/
|
|
||||||
JNIEXPORT jstring JNICALL Java_com_jacob_com_Variant_toString
|
|
||||||
(JNIEnv *env, jobject _this)
|
|
||||||
{
|
|
||||||
VARIANT *v = extractVariant(env, _this);
|
|
||||||
if (v) {
|
|
||||||
switch (V_VT(v))
|
|
||||||
{
|
|
||||||
case VT_EMPTY:
|
|
||||||
case VT_NULL:
|
|
||||||
case VT_ERROR:
|
|
||||||
// causes VariantChangeType to bomb
|
|
||||||
return env->NewStringUTF("null");
|
|
||||||
}
|
|
||||||
HRESULT hr;
|
|
||||||
// this actually changes the type of the variant to a String!
|
|
||||||
if (FAILED(hr = VariantChangeType(v, v, 0, VT_BSTR))) {
|
|
||||||
// cannot change type to a string
|
|
||||||
return env->NewStringUTF("???");
|
|
||||||
}
|
|
||||||
// create a returnable string from the converted variant
|
|
||||||
BSTR bs = V_BSTR(v);
|
|
||||||
jstring js = env->NewString(bs, SysStringLen(bs));
|
|
||||||
return js;
|
|
||||||
}
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the value of this int as a Boolea if it is of that type.
|
* Returns the value of this int as a Boolea if it is of that type.
|
||||||
* Otherwise it will return null (no conversion done)
|
* Otherwise it will return null (no conversion done)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
JNIEXPORT jint JNICALL Java_com_jacob_com_Variant_getInt
|
JNIEXPORT jint JNICALL Java_com_jacob_com_Variant_getVariantInt
|
||||||
(JNIEnv *env, jobject _this)
|
(JNIEnv *env, jobject _this)
|
||||||
{
|
{
|
||||||
VARIANT *v = extractVariant(env, _this);
|
VARIANT *v = extractVariant(env, _this);
|
||||||
@@ -556,7 +438,7 @@ JNIEXPORT jint JNICALL Java_com_jacob_com_Variant_getInt
|
|||||||
* Otherwise it will return null (no conversion done)
|
* Otherwise it will return null (no conversion done)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
JNIEXPORT jdouble JNICALL Java_com_jacob_com_Variant_getDate
|
JNIEXPORT jdouble JNICALL Java_com_jacob_com_Variant_getVariantDate
|
||||||
(JNIEnv *env, jobject _this)
|
(JNIEnv *env, jobject _this)
|
||||||
{
|
{
|
||||||
VARIANT *v = extractVariant(env, _this);
|
VARIANT *v = extractVariant(env, _this);
|
||||||
@@ -569,7 +451,7 @@ JNIEXPORT jdouble JNICALL Java_com_jacob_com_Variant_getDate
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putInt
|
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putVariantInt
|
||||||
(JNIEnv *env, jobject _this, jint i)
|
(JNIEnv *env, jobject _this, jint i)
|
||||||
{
|
{
|
||||||
VARIANT *v = extractVariant(env, _this);
|
VARIANT *v = extractVariant(env, _this);
|
||||||
@@ -580,7 +462,7 @@ JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putInt
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putDate
|
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putVariantDate
|
||||||
(JNIEnv *env, jobject _this, jdouble date)
|
(JNIEnv *env, jobject _this, jdouble date)
|
||||||
{
|
{
|
||||||
VARIANT *v = extractVariant(env, _this);
|
VARIANT *v = extractVariant(env, _this);
|
||||||
@@ -591,29 +473,11 @@ JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putDate
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Converts the data to a Byte object and then returns it as a Dispatch
|
|
||||||
*/
|
|
||||||
JNIEXPORT jbyte JNICALL Java_com_jacob_com_Variant_toByte
|
|
||||||
(JNIEnv *env, jobject _this)
|
|
||||||
{
|
|
||||||
VARIANT *v = extractVariant(env, _this);
|
|
||||||
if (v) {
|
|
||||||
HRESULT hr;
|
|
||||||
if (FAILED(hr = VariantChangeType(v, v, 0, VT_UI1))) {
|
|
||||||
ThrowComFail(env, "VariantChangeType failed", hr);
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
return (jbyte)V_UI1(v);
|
|
||||||
}
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the value of this Variant as a Boolea if it is of that type.
|
* Returns the value of this Variant as a Boolea if it is of that type.
|
||||||
* Otherwise it will return null (no conversion done)
|
* Otherwise it will return null (no conversion done)
|
||||||
*/
|
*/
|
||||||
JNIEXPORT jboolean JNICALL Java_com_jacob_com_Variant_getBoolean
|
JNIEXPORT jboolean JNICALL Java_com_jacob_com_Variant_getVariantBoolean
|
||||||
(JNIEnv *env, jobject _this)
|
(JNIEnv *env, jobject _this)
|
||||||
{
|
{
|
||||||
VARIANT *v = extractVariant(env, _this);
|
VARIANT *v = extractVariant(env, _this);
|
||||||
@@ -630,7 +494,7 @@ JNIEXPORT jboolean JNICALL Java_com_jacob_com_Variant_getBoolean
|
|||||||
* Returns the value of this Variant as a Byte if it is of that type.
|
* Returns the value of this Variant as a Byte if it is of that type.
|
||||||
* Otherwise it will return null (no conversion done)
|
* Otherwise it will return null (no conversion done)
|
||||||
*/
|
*/
|
||||||
JNIEXPORT jbyte JNICALL Java_com_jacob_com_Variant_getByte
|
JNIEXPORT jbyte JNICALL Java_com_jacob_com_Variant_getVariantByte
|
||||||
(JNIEnv *env, jobject _this)
|
(JNIEnv *env, jobject _this)
|
||||||
{
|
{
|
||||||
VARIANT *v = extractVariant(env, _this);
|
VARIANT *v = extractVariant(env, _this);
|
||||||
@@ -643,7 +507,7 @@ JNIEXPORT jbyte JNICALL Java_com_jacob_com_Variant_getByte
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putBoolean
|
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putVariantBoolean
|
||||||
(JNIEnv *env, jobject _this, jboolean b)
|
(JNIEnv *env, jobject _this, jboolean b)
|
||||||
{
|
{
|
||||||
VARIANT *v = extractVariant(env, _this);
|
VARIANT *v = extractVariant(env, _this);
|
||||||
@@ -652,10 +516,10 @@ JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putBoolean
|
|||||||
V_VT(v) = VT_BOOL;
|
V_VT(v) = VT_BOOL;
|
||||||
V_BOOL(v) = b == JNI_TRUE ? VARIANT_TRUE : VARIANT_FALSE;
|
V_BOOL(v) = b == JNI_TRUE ? VARIANT_TRUE : VARIANT_FALSE;
|
||||||
}
|
}
|
||||||
else ThrowComFail(env, "putBoolean failed", -1);
|
else ThrowComFail(env, "putVariantBoolean failed", -1);
|
||||||
}
|
}
|
||||||
|
|
||||||
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putByte
|
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putVariantByte
|
||||||
(JNIEnv *env, jobject _this, jbyte b)
|
(JNIEnv *env, jobject _this, jbyte b)
|
||||||
{
|
{
|
||||||
VARIANT *v = extractVariant(env, _this);
|
VARIANT *v = extractVariant(env, _this);
|
||||||
@@ -664,25 +528,10 @@ JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putByte
|
|||||||
V_VT(v) = VT_UI1;
|
V_VT(v) = VT_UI1;
|
||||||
V_UI1(v) = b;
|
V_UI1(v) = b;
|
||||||
}
|
}
|
||||||
else ThrowComFail(env, "putByte failed", -1);
|
else ThrowComFail(env, "putVariantByte failed", -1);
|
||||||
}
|
}
|
||||||
|
|
||||||
JNIEXPORT jint JNICALL Java_com_jacob_com_Variant_toError
|
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putVariantEmpty
|
||||||
(JNIEnv *env, jobject _this)
|
|
||||||
{
|
|
||||||
VARIANT *v = extractVariant(env, _this);
|
|
||||||
if (v) {
|
|
||||||
HRESULT hr;
|
|
||||||
if (FAILED(hr = VariantChangeType(v, v, 0, VT_ERROR))) {
|
|
||||||
ThrowComFail(env, "VariantChangeType failed", hr);
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
return (jint)V_ERROR(v);
|
|
||||||
}
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putEmpty
|
|
||||||
(JNIEnv *env, jobject _this)
|
(JNIEnv *env, jobject _this)
|
||||||
{
|
{
|
||||||
VARIANT *v = extractVariant(env, _this);
|
VARIANT *v = extractVariant(env, _this);
|
||||||
@@ -695,7 +544,7 @@ JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putEmpty
|
|||||||
/**
|
/**
|
||||||
* Sets the variant type to dispatch with no value object
|
* Sets the variant type to dispatch with no value object
|
||||||
**/
|
**/
|
||||||
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putNothing
|
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putVariantNothing
|
||||||
(JNIEnv *env, jobject _this)
|
(JNIEnv *env, jobject _this)
|
||||||
{
|
{
|
||||||
VARIANT *v = extractVariant(env, _this);
|
VARIANT *v = extractVariant(env, _this);
|
||||||
@@ -705,7 +554,7 @@ JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putNothing
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
JNIEXPORT jint JNICALL Java_com_jacob_com_Variant_getError
|
JNIEXPORT jint JNICALL Java_com_jacob_com_Variant_getVariantError
|
||||||
(JNIEnv *env, jobject _this)
|
(JNIEnv *env, jobject _this)
|
||||||
{
|
{
|
||||||
VARIANT *v = extractVariant(env, _this);
|
VARIANT *v = extractVariant(env, _this);
|
||||||
@@ -718,7 +567,7 @@ JNIEXPORT jint JNICALL Java_com_jacob_com_Variant_getError
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putError
|
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putVariantError
|
||||||
(JNIEnv *env, jobject _this, jint i)
|
(JNIEnv *env, jobject _this, jint i)
|
||||||
{
|
{
|
||||||
VARIANT *v = extractVariant(env, _this);
|
VARIANT *v = extractVariant(env, _this);
|
||||||
@@ -734,7 +583,7 @@ JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putError
|
|||||||
* Returns the value of this Variant as a double if it is of that type.
|
* Returns the value of this Variant as a double if it is of that type.
|
||||||
* Otherwise it will return null (no conversion done)
|
* Otherwise it will return null (no conversion done)
|
||||||
*/
|
*/
|
||||||
JNIEXPORT jdouble JNICALL Java_com_jacob_com_Variant_getDouble
|
JNIEXPORT jdouble JNICALL Java_com_jacob_com_Variant_getVariantDouble
|
||||||
(JNIEnv *env, jobject _this)
|
(JNIEnv *env, jobject _this)
|
||||||
{
|
{
|
||||||
VARIANT *v = extractVariant(env, _this);
|
VARIANT *v = extractVariant(env, _this);
|
||||||
@@ -747,7 +596,7 @@ JNIEXPORT jdouble JNICALL Java_com_jacob_com_Variant_getDouble
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putCurrency
|
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putVariantCurrency
|
||||||
(JNIEnv *env, jobject _this, jlong cur)
|
(JNIEnv *env, jobject _this, jlong cur)
|
||||||
{
|
{
|
||||||
VARIANT *v = extractVariant(env, _this);
|
VARIANT *v = extractVariant(env, _this);
|
||||||
@@ -757,7 +606,7 @@ JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putCurrency
|
|||||||
pf.int64 = (LONGLONG)cur;
|
pf.int64 = (LONGLONG)cur;
|
||||||
V_VT(v) = VT_CY;
|
V_VT(v) = VT_CY;
|
||||||
V_CY(v) = pf;
|
V_CY(v) = pf;
|
||||||
} else ThrowComFail(env, "putCurrency failed", -1);
|
} else ThrowComFail(env, "putVariantCurrency failed", -1);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -765,7 +614,7 @@ JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putCurrency
|
|||||||
* There is currently no way to pass NULL into this method
|
* There is currently no way to pass NULL into this method
|
||||||
* to create something like "NOTHING" from VB
|
* to create something like "NOTHING" from VB
|
||||||
* */
|
* */
|
||||||
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putDispatchObject
|
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putVariantDispatch
|
||||||
(JNIEnv *env, jobject _this, jobject _that)
|
(JNIEnv *env, jobject _this, jobject _that)
|
||||||
{
|
{
|
||||||
VARIANT *v = extractVariant(env, _this);
|
VARIANT *v = extractVariant(env, _this);
|
||||||
@@ -779,7 +628,7 @@ JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putDispatchObject
|
|||||||
} else ThrowComFail(env, "putObject failed", -1);
|
} else ThrowComFail(env, "putObject failed", -1);
|
||||||
}
|
}
|
||||||
|
|
||||||
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putDouble
|
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putVariantDouble
|
||||||
(JNIEnv *env, jobject _this, jdouble d)
|
(JNIEnv *env, jobject _this, jdouble d)
|
||||||
{
|
{
|
||||||
VARIANT *v = extractVariant(env, _this);
|
VARIANT *v = extractVariant(env, _this);
|
||||||
@@ -794,7 +643,7 @@ JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putDouble
|
|||||||
* Returns the value of this Variant as a long if it is of that type.
|
* Returns the value of this Variant as a long if it is of that type.
|
||||||
* Otherwise it will return null (no conversion done)
|
* Otherwise it will return null (no conversion done)
|
||||||
*/
|
*/
|
||||||
JNIEXPORT jlong JNICALL Java_com_jacob_com_Variant_getCurrency
|
JNIEXPORT jlong JNICALL Java_com_jacob_com_Variant_getVariantCurrency
|
||||||
(JNIEnv *env, jobject _this)
|
(JNIEnv *env, jobject _this)
|
||||||
{
|
{
|
||||||
VARIANT *v = extractVariant(env, _this);
|
VARIANT *v = extractVariant(env, _this);
|
||||||
@@ -812,7 +661,7 @@ JNIEXPORT jlong JNICALL Java_com_jacob_com_Variant_getCurrency
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putFloatRef
|
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putVariantFloatRef
|
||||||
(JNIEnv *env, jobject _this, jfloat val)
|
(JNIEnv *env, jobject _this, jfloat val)
|
||||||
{
|
{
|
||||||
VARIANT *v = extractVariant(env, _this);
|
VARIANT *v = extractVariant(env, _this);
|
||||||
@@ -825,7 +674,7 @@ JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putFloatRef
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putCurrencyRef
|
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putVariantCurrencyRef
|
||||||
(JNIEnv *env, jobject _this, jlong cur)
|
(JNIEnv *env, jobject _this, jlong cur)
|
||||||
{
|
{
|
||||||
VARIANT *v = extractVariant(env, _this);
|
VARIANT *v = extractVariant(env, _this);
|
||||||
@@ -838,7 +687,7 @@ JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putCurrencyRef
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putErrorRef
|
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putVariantErrorRef
|
||||||
(JNIEnv *env, jobject _this, jint i)
|
(JNIEnv *env, jobject _this, jint i)
|
||||||
{
|
{
|
||||||
VARIANT *v = extractVariant(env, _this);
|
VARIANT *v = extractVariant(env, _this);
|
||||||
@@ -849,7 +698,7 @@ JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putErrorRef
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putBooleanRef
|
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putVariantBooleanRef
|
||||||
(JNIEnv *env, jobject _this, jboolean b)
|
(JNIEnv *env, jobject _this, jboolean b)
|
||||||
{
|
{
|
||||||
VARIANT *v = extractVariant(env, _this);
|
VARIANT *v = extractVariant(env, _this);
|
||||||
@@ -862,7 +711,7 @@ JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putBooleanRef
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putByteRef
|
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putVariantByteRef
|
||||||
(JNIEnv *env, jobject _this, jbyte b)
|
(JNIEnv *env, jobject _this, jbyte b)
|
||||||
{
|
{
|
||||||
VARIANT *v = extractVariant(env, _this);
|
VARIANT *v = extractVariant(env, _this);
|
||||||
@@ -879,7 +728,7 @@ JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putByteRef
|
|||||||
* Returns the value of this Variant as a String if it is of that type.
|
* Returns the value of this Variant as a String if it is of that type.
|
||||||
* Otherwise it will return null (no conversion done)
|
* Otherwise it will return null (no conversion done)
|
||||||
*/
|
*/
|
||||||
JNIEXPORT jstring JNICALL Java_com_jacob_com_Variant_getString
|
JNIEXPORT jstring JNICALL Java_com_jacob_com_Variant_getVariantString
|
||||||
(JNIEnv *env, jobject _this)
|
(JNIEnv *env, jobject _this)
|
||||||
{
|
{
|
||||||
VARIANT *v = extractVariant(env, _this);
|
VARIANT *v = extractVariant(env, _this);
|
||||||
@@ -894,8 +743,10 @@ JNIEXPORT jstring JNICALL Java_com_jacob_com_Variant_getString
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
// SF 1065533 added unicode support
|
/**
|
||||||
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putString
|
* SF 1065533 added unicode support
|
||||||
|
* */
|
||||||
|
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putVariantString
|
||||||
(JNIEnv *env, jobject _this, jstring s)
|
(JNIEnv *env, jobject _this, jstring s)
|
||||||
{
|
{
|
||||||
VARIANT *v = extractVariant(env, _this);
|
VARIANT *v = extractVariant(env, _this);
|
||||||
@@ -918,7 +769,7 @@ JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putString
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
JNIEXPORT jfloat JNICALL Java_com_jacob_com_Variant_getFloatRef
|
JNIEXPORT jfloat JNICALL Java_com_jacob_com_Variant_getVariantFloatRef
|
||||||
(JNIEnv *env, jobject _this)
|
(JNIEnv *env, jobject _this)
|
||||||
{
|
{
|
||||||
VARIANT *v = extractVariant(env, _this);
|
VARIANT *v = extractVariant(env, _this);
|
||||||
@@ -931,7 +782,7 @@ JNIEXPORT jfloat JNICALL Java_com_jacob_com_Variant_getFloatRef
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
JNIEXPORT jlong JNICALL Java_com_jacob_com_Variant_getCurrencyRef
|
JNIEXPORT jlong JNICALL Java_com_jacob_com_Variant_getVariantCurrencyRef
|
||||||
(JNIEnv *env, jobject _this)
|
(JNIEnv *env, jobject _this)
|
||||||
{
|
{
|
||||||
VARIANT *v = extractVariant(env, _this);
|
VARIANT *v = extractVariant(env, _this);
|
||||||
@@ -948,7 +799,7 @@ JNIEXPORT jlong JNICALL Java_com_jacob_com_Variant_getCurrencyRef
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
JNIEXPORT jint JNICALL Java_com_jacob_com_Variant_getErrorRef
|
JNIEXPORT jint JNICALL Java_com_jacob_com_Variant_getVariantErrorRef
|
||||||
(JNIEnv *env, jobject _this)
|
(JNIEnv *env, jobject _this)
|
||||||
{
|
{
|
||||||
VARIANT *v = extractVariant(env, _this);
|
VARIANT *v = extractVariant(env, _this);
|
||||||
@@ -961,7 +812,7 @@ JNIEXPORT jint JNICALL Java_com_jacob_com_Variant_getErrorRef
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
JNIEXPORT jboolean JNICALL Java_com_jacob_com_Variant_getBooleanRef
|
JNIEXPORT jboolean JNICALL Java_com_jacob_com_Variant_getVariantBooleanRef
|
||||||
(JNIEnv *env, jobject _this)
|
(JNIEnv *env, jobject _this)
|
||||||
{
|
{
|
||||||
VARIANT *v = extractVariant(env, _this);
|
VARIANT *v = extractVariant(env, _this);
|
||||||
@@ -975,7 +826,7 @@ JNIEXPORT jboolean JNICALL Java_com_jacob_com_Variant_getBooleanRef
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
JNIEXPORT jbyte JNICALL Java_com_jacob_com_Variant_getByteRef
|
JNIEXPORT jbyte JNICALL Java_com_jacob_com_Variant_getVariantByteRef
|
||||||
(JNIEnv *env, jobject _this)
|
(JNIEnv *env, jobject _this)
|
||||||
{
|
{
|
||||||
VARIANT *v = extractVariant(env, _this);
|
VARIANT *v = extractVariant(env, _this);
|
||||||
@@ -988,28 +839,10 @@ JNIEXPORT jbyte JNICALL Java_com_jacob_com_Variant_getByteRef
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Converts the data to a Float object and then returns it as a Dispatch
|
|
||||||
*/
|
|
||||||
JNIEXPORT jfloat JNICALL Java_com_jacob_com_Variant_toFloat
|
|
||||||
(JNIEnv *env, jobject _this)
|
|
||||||
{
|
|
||||||
VARIANT *v = extractVariant(env, _this);
|
|
||||||
if (v) {
|
|
||||||
HRESULT hr;
|
|
||||||
if (FAILED(hr = VariantChangeType(v, v, 0, VT_R4))) {
|
|
||||||
ThrowComFail(env, "VariantChangeType failed", hr);
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
return (jfloat)V_R4(v);
|
|
||||||
}
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Converts the data to a Safe Array object and then returns it as a Dispatch
|
* Converts the data to a Safe Array object and then returns it as a Dispatch
|
||||||
*/
|
*/
|
||||||
JNIEXPORT jobject JNICALL Java_com_jacob_com_Variant_toSafeArray
|
JNIEXPORT jobject JNICALL Java_com_jacob_com_Variant_toVariantSafeArray
|
||||||
(JNIEnv *env, jobject _this, jboolean deepCopy)
|
(JNIEnv *env, jobject _this, jboolean deepCopy)
|
||||||
{
|
{
|
||||||
VARIANT *v = extractVariant(env, _this);
|
VARIANT *v = extractVariant(env, _this);
|
||||||
@@ -1031,7 +864,7 @@ JNIEXPORT jobject JNICALL Java_com_jacob_com_Variant_toSafeArray
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putSafeArrayRef
|
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putVariantSafeArrayRef
|
||||||
(JNIEnv *env, jobject _this, jobject sa)
|
(JNIEnv *env, jobject _this, jobject sa)
|
||||||
{
|
{
|
||||||
SAFEARRAY *psa = extractSA(env, sa);
|
SAFEARRAY *psa = extractSA(env, sa);
|
||||||
@@ -1054,7 +887,7 @@ JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putSafeArrayRef
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putSafeArray
|
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putVariantSafeArray
|
||||||
(JNIEnv *env, jobject _this, jobject sa)
|
(JNIEnv *env, jobject _this, jobject sa)
|
||||||
{
|
{
|
||||||
SAFEARRAY *psa = extractSA(env, sa);
|
SAFEARRAY *psa = extractSA(env, sa);
|
||||||
@@ -1078,7 +911,7 @@ JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putSafeArray
|
|||||||
/**
|
/**
|
||||||
* sets the type to VT_ERROR and the error message to DISP_E_PARAMNOTFOIUND
|
* sets the type to VT_ERROR and the error message to DISP_E_PARAMNOTFOIUND
|
||||||
* */
|
* */
|
||||||
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_noParam
|
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putVariantNoParam
|
||||||
(JNIEnv *env, jobject _this)
|
(JNIEnv *env, jobject _this)
|
||||||
{
|
{
|
||||||
VARIANT *v = extractVariant(env, _this);
|
VARIANT *v = extractVariant(env, _this);
|
||||||
@@ -1092,7 +925,7 @@ JNIEXPORT void JNICALL Java_com_jacob_com_Variant_noParam
|
|||||||
* Returns the value of this Variant as a Float if it is of that type.
|
* Returns the value of this Variant as a Float if it is of that type.
|
||||||
* Otherwise it will return null (no conversion done)
|
* Otherwise it will return null (no conversion done)
|
||||||
*/
|
*/
|
||||||
JNIEXPORT jfloat JNICALL Java_com_jacob_com_Variant_getFloat
|
JNIEXPORT jfloat JNICALL Java_com_jacob_com_Variant_getVariantFloat
|
||||||
(JNIEnv *env, jobject _this)
|
(JNIEnv *env, jobject _this)
|
||||||
{
|
{
|
||||||
VARIANT *v = extractVariant(env, _this);
|
VARIANT *v = extractVariant(env, _this);
|
||||||
@@ -1105,7 +938,7 @@ JNIEXPORT jfloat JNICALL Java_com_jacob_com_Variant_getFloat
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putFloat
|
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putVariantFloat
|
||||||
(JNIEnv *env, jobject _this, jfloat val)
|
(JNIEnv *env, jobject _this, jfloat val)
|
||||||
{
|
{
|
||||||
VARIANT *v = extractVariant(env, _this);
|
VARIANT *v = extractVariant(env, _this);
|
||||||
@@ -1119,7 +952,7 @@ JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putFloat
|
|||||||
/**
|
/**
|
||||||
* changes the type of the underlying variant data
|
* changes the type of the underlying variant data
|
||||||
* */
|
* */
|
||||||
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_changeType
|
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_changeVariantType
|
||||||
(JNIEnv *env, jobject _this, jshort t)
|
(JNIEnv *env, jobject _this, jshort t)
|
||||||
{
|
{
|
||||||
VARIANT *v = extractVariant(env, _this);
|
VARIANT *v = extractVariant(env, _this);
|
||||||
@@ -1132,7 +965,7 @@ JNIEXPORT void JNICALL Java_com_jacob_com_Variant_changeType
|
|||||||
* returns the variant type if it is set, otherwise
|
* returns the variant type if it is set, otherwise
|
||||||
* returns null
|
* returns null
|
||||||
* */
|
* */
|
||||||
JNIEXPORT jshort JNICALL Java_com_jacob_com_Variant_getvt
|
JNIEXPORT jshort JNICALL Java_com_jacob_com_Variant_getVariantType
|
||||||
(JNIEnv *env, jobject _this)
|
(JNIEnv *env, jobject _this)
|
||||||
{
|
{
|
||||||
VARIANT *v = extractVariant(env, _this);
|
VARIANT *v = extractVariant(env, _this);
|
||||||
@@ -1142,39 +975,14 @@ JNIEXPORT jshort JNICALL Java_com_jacob_com_Variant_getvt
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
// removed Java_com_jacob_com_Variant_putSafeArrayRefHelper
|
||||||
* Converts the data to a short object and then returns it as a Dispatch
|
|
||||||
*/
|
|
||||||
JNIEXPORT jshort JNICALL Java_com_jacob_com_Variant_toShort
|
|
||||||
(JNIEnv *env, jobject _this)
|
|
||||||
{
|
|
||||||
VARIANT *v = extractVariant(env, _this);
|
|
||||||
if (v) {
|
|
||||||
HRESULT hr;
|
|
||||||
if (FAILED(hr = VariantChangeType(v, v, 0, VT_I2))) {
|
|
||||||
ThrowComFail(env, "VariantChangeType failed", hr);
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
return (jshort)V_I2(v);
|
|
||||||
}
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putSafeArrayRefHelper
|
|
||||||
(JNIEnv *env, jobject _this, jint pSA)
|
|
||||||
{
|
|
||||||
VARIANT *v = extractVariant(env, _this);
|
|
||||||
if (v) {
|
|
||||||
VariantClear(v); // whatever was there before
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* this is a big cover method that returns TRUE if
|
* this is a big cover method that returns TRUE if
|
||||||
* the variant type is
|
* the variant type is
|
||||||
* VT_EMPTY, VT_NULL, VT_ERROR or VT_DISPATCH with no dispatch object
|
* VT_EMPTY, VT_NULL, VT_ERROR or VT_DISPATCH with no dispatch object
|
||||||
* */
|
* */
|
||||||
JNIEXPORT jboolean JNICALL Java_com_jacob_com_Variant_isNull
|
JNIEXPORT jboolean JNICALL Java_com_jacob_com_Variant_isVariantConsideredNull
|
||||||
(JNIEnv *env, jobject _this)
|
(JNIEnv *env, jobject _this)
|
||||||
{
|
{
|
||||||
VARIANT *v = extractVariant(env, _this);
|
VARIANT *v = extractVariant(env, _this);
|
||||||
|
|||||||
281
jni/Variant.h
281
jni/Variant.h
@@ -25,29 +25,6 @@
|
|||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
/*
|
|
||||||
* Class: com_jacob_com_Variant
|
|
||||||
* Method: toInt
|
|
||||||
* Signature: ()I
|
|
||||||
*/
|
|
||||||
JNIEXPORT jint JNICALL Java_com_jacob_com_Variant_toInt
|
|
||||||
(JNIEnv *, jobject);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Class: com_jacob_com_Variant
|
|
||||||
* Method: toDate
|
|
||||||
* Signature: ()D
|
|
||||||
*/
|
|
||||||
JNIEXPORT jdouble JNICALL Java_com_jacob_com_Variant_toDate
|
|
||||||
(JNIEnv *, jobject);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Class: com_jacob_com_Variant
|
|
||||||
* Method: toBoolean
|
|
||||||
* Signature: ()Z
|
|
||||||
*/
|
|
||||||
JNIEXPORT jboolean JNICALL Java_com_jacob_com_Variant_toBoolean
|
|
||||||
(JNIEnv *, jobject);
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Class: com_jacob_com_Variant
|
* Class: com_jacob_com_Variant
|
||||||
@@ -59,10 +36,10 @@ JNIEXPORT jobject JNICALL Java_com_jacob_com_Variant_toEnumVariant
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* Class: com_jacob_com_Variant
|
* Class: com_jacob_com_Variant
|
||||||
* Method: putNull
|
* Method: putVariantNull
|
||||||
* Signature: ()V
|
* Signature: ()V
|
||||||
*/
|
*/
|
||||||
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putNull
|
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putVariantNull
|
||||||
(JNIEnv *, jobject);
|
(JNIEnv *, jobject);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -75,106 +52,90 @@ JNIEXPORT jobject JNICALL Java_com_jacob_com_Variant_cloneIndirect
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* Class: com_jacob_com_Variant
|
* Class: com_jacob_com_Variant
|
||||||
* Method: toDouble
|
* Method: putVariantShortRef
|
||||||
* Signature: ()D
|
|
||||||
*/
|
|
||||||
JNIEXPORT jdouble JNICALL Java_com_jacob_com_Variant_toDouble
|
|
||||||
(JNIEnv *, jobject);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Class: com_jacob_com_Variant
|
|
||||||
* Method: toCurrency
|
|
||||||
* Signature: ()J
|
|
||||||
*/
|
|
||||||
JNIEXPORT jlong JNICALL Java_com_jacob_com_Variant_toCurrency
|
|
||||||
(JNIEnv *, jobject);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Class: com_jacob_com_Variant
|
|
||||||
* Method: putShortRef
|
|
||||||
* Signature: (S)V
|
* Signature: (S)V
|
||||||
*/
|
*/
|
||||||
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putShortRef
|
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putVariantShortRef
|
||||||
(JNIEnv *, jobject, jshort);
|
(JNIEnv *, jobject, jshort);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Class: com_jacob_com_Variant
|
* Class: com_jacob_com_Variant
|
||||||
* Method: putIntRef
|
* Method: putVariantIntRef
|
||||||
* Signature: (I)V
|
* Signature: (I)V
|
||||||
*/
|
*/
|
||||||
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putIntRef
|
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putVariantIntRef
|
||||||
(JNIEnv *, jobject, jint);
|
(JNIEnv *, jobject, jint);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Class: com_jacob_com_Variant
|
* Class: com_jacob_com_Variant
|
||||||
* Method: putDoubleRef
|
* Method: putVariantDoubleRef
|
||||||
* Signature: (D)V
|
* Signature: (D)V
|
||||||
*/
|
*/
|
||||||
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putDoubleRef
|
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putVariantDoubleRef
|
||||||
(JNIEnv *, jobject, jdouble);
|
(JNIEnv *, jobject, jdouble);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Class: com_jacob_com_Variant
|
* Class: com_jacob_com_Variant
|
||||||
* Method: putDateRef
|
* Method: putVariantDateRef
|
||||||
* Signature: (D)V
|
* Signature: (D)V
|
||||||
*/
|
*/
|
||||||
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putDateRef
|
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putVariantDateRef
|
||||||
(JNIEnv *, jobject, jdouble);
|
(JNIEnv *, jobject, jdouble);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Class: com_jacob_com_Variant
|
* Class: com_jacob_com_Variant
|
||||||
* Method: putStringRef
|
* Method: putVariantStringRef
|
||||||
* Signature: (Ljava/lang/String;)V
|
* Signature: (Ljava/lang/String;)V
|
||||||
*/
|
*/
|
||||||
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putStringRef
|
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putVariantStringRef
|
||||||
(JNIEnv *, jobject, jstring);
|
(JNIEnv *, jobject, jstring);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Class: com_jacob_com_Variant
|
* Class: com_jacob_com_Variant
|
||||||
* Method: getShortRef
|
* Method: getVariantShortRef
|
||||||
* Signature: ()S
|
* Signature: ()S
|
||||||
*/
|
*/
|
||||||
JNIEXPORT jshort JNICALL Java_com_jacob_com_Variant_getShortRef
|
JNIEXPORT jshort JNICALL Java_com_jacob_com_Variant_getVariantShortRef
|
||||||
(JNIEnv *, jobject);
|
(JNIEnv *, jobject);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Class: com_jacob_com_Variant
|
* Class: com_jacob_com_Variant
|
||||||
* Method: getIntRef
|
* Method: getVariantIntRef
|
||||||
* Signature: ()I
|
* Signature: ()I
|
||||||
*/
|
*/
|
||||||
JNIEXPORT jint JNICALL Java_com_jacob_com_Variant_getIntRef
|
JNIEXPORT jint JNICALL Java_com_jacob_com_Variant_getVariantIntRef
|
||||||
(JNIEnv *, jobject);
|
(JNIEnv *, jobject);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Class: com_jacob_com_Variant
|
* Class: com_jacob_com_Variant
|
||||||
* Method: putShort
|
* Method: putVariantShort
|
||||||
* Signature: (S)V
|
* Signature: (S)V
|
||||||
*/
|
*/
|
||||||
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putShort
|
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putVariantShort
|
||||||
(JNIEnv *, jobject, jshort);
|
(JNIEnv *, jobject, jshort);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Class: com_jacob_com_Variant
|
* Class: com_jacob_com_Variant
|
||||||
* Method: getShort
|
* Method: getVariantShort
|
||||||
* Signature: ()S
|
* Signature: ()S
|
||||||
*/
|
*/
|
||||||
JNIEXPORT jshort JNICALL Java_com_jacob_com_Variant_getShort
|
JNIEXPORT jshort JNICALL Java_com_jacob_com_Variant_getVariantShort
|
||||||
(JNIEnv *, jobject);
|
(JNIEnv *, jobject);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Class: com_jacob_com_Variant
|
* Class: com_jacob_com_Variant
|
||||||
* Method: getDoubleRef
|
* Method: getVariantDoubleRef
|
||||||
* Signature: ()D
|
* Signature: ()D
|
||||||
*/
|
*/
|
||||||
JNIEXPORT jdouble JNICALL Java_com_jacob_com_Variant_getDoubleRef
|
JNIEXPORT jdouble JNICALL Java_com_jacob_com_Variant_getVariantDoubleRef
|
||||||
(JNIEnv *, jobject);
|
(JNIEnv *, jobject);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Class: com_jacob_com_Variant
|
* Class: com_jacob_com_Variant
|
||||||
* Method: getDateRef
|
* Method: getVariantDateRef
|
||||||
* Signature: ()D
|
* Signature: ()D
|
||||||
*/
|
*/
|
||||||
JNIEXPORT jdouble JNICALL Java_com_jacob_com_Variant_getDateRef
|
JNIEXPORT jdouble JNICALL Java_com_jacob_com_Variant_getVariantDateRef
|
||||||
(JNIEnv *, jobject);
|
(JNIEnv *, jobject);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -182,7 +143,7 @@ JNIEXPORT jdouble JNICALL Java_com_jacob_com_Variant_getDateRef
|
|||||||
* Method: getStringRef
|
* Method: getStringRef
|
||||||
* Signature: ()Ljava/lang/String;
|
* Signature: ()Ljava/lang/String;
|
||||||
*/
|
*/
|
||||||
JNIEXPORT jstring JNICALL Java_com_jacob_com_Variant_getStringRef
|
JNIEXPORT jstring JNICALL Java_com_jacob_com_Variant_getVariantStringRef
|
||||||
(JNIEnv *, jobject);
|
(JNIEnv *, jobject);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -198,7 +159,7 @@ JNIEXPORT void JNICALL Java_com_jacob_com_Variant_com_jacob_com_VariantClear
|
|||||||
* Method: toDispatch
|
* Method: toDispatch
|
||||||
* Signature: ()LDispatch;
|
* Signature: ()LDispatch;
|
||||||
*/
|
*/
|
||||||
JNIEXPORT jobject JNICALL Java_com_jacob_com_Variant_toDispatchObject
|
JNIEXPORT jobject JNICALL Java_com_jacob_com_Variant_toVariantDispatch
|
||||||
(JNIEnv *, jobject);
|
(JNIEnv *, jobject);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -211,194 +172,170 @@ JNIEXPORT jobject JNICALL Java_com_jacob_com_Variant_clone
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* Class: com_jacob_com_Variant
|
* Class: com_jacob_com_Variant
|
||||||
* Method: toString
|
* Method: getVariantInt
|
||||||
* Signature: ()Ljava/lang/String;
|
|
||||||
*/
|
|
||||||
JNIEXPORT jstring JNICALL Java_com_jacob_com_Variant_toString
|
|
||||||
(JNIEnv *, jobject);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Class: com_jacob_com_Variant
|
|
||||||
* Method: getInt
|
|
||||||
* Signature: ()I
|
* Signature: ()I
|
||||||
*/
|
*/
|
||||||
JNIEXPORT jint JNICALL Java_com_jacob_com_Variant_getInt
|
JNIEXPORT jint JNICALL Java_com_jacob_com_Variant_getVariantInt
|
||||||
(JNIEnv *, jobject);
|
(JNIEnv *, jobject);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Class: com_jacob_com_Variant
|
* Class: com_jacob_com_Variant
|
||||||
* Method: getDate
|
* Method: getVariantDate
|
||||||
* Signature: ()D
|
* Signature: ()D
|
||||||
*/
|
*/
|
||||||
JNIEXPORT jdouble JNICALL Java_com_jacob_com_Variant_getDate
|
JNIEXPORT jdouble JNICALL Java_com_jacob_com_Variant_getVariantDate
|
||||||
(JNIEnv *, jobject);
|
(JNIEnv *, jobject);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Class: com_jacob_com_Variant
|
* Class: com_jacob_com_Variant
|
||||||
* Method: putInt
|
* Method: putVariantInt
|
||||||
* Signature: (I)V
|
* Signature: (I)V
|
||||||
*/
|
*/
|
||||||
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putInt
|
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putVariantInt
|
||||||
(JNIEnv *, jobject, jint);
|
(JNIEnv *, jobject, jint);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Class: com_jacob_com_Variant
|
* Class: com_jacob_com_Variant
|
||||||
* Method: putDate
|
* Method: putVariantDate
|
||||||
* Signature: (D)V
|
* Signature: (D)V
|
||||||
*/
|
*/
|
||||||
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putDate
|
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putVariantDate
|
||||||
(JNIEnv *, jobject, jdouble);
|
(JNIEnv *, jobject, jdouble);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Class: com_jacob_com_Variant
|
* Class: com_jacob_com_Variant
|
||||||
* Method: toByte
|
* Method: getVariantBoolean
|
||||||
* Signature: ()B
|
|
||||||
*/
|
|
||||||
JNIEXPORT jbyte JNICALL Java_com_jacob_com_Variant_toByte
|
|
||||||
(JNIEnv *, jobject);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Class: com_jacob_com_Variant
|
|
||||||
* Method: getBoolean
|
|
||||||
* Signature: ()Z
|
* Signature: ()Z
|
||||||
*/
|
*/
|
||||||
JNIEXPORT jboolean JNICALL Java_com_jacob_com_Variant_getBoolean
|
JNIEXPORT jboolean JNICALL Java_com_jacob_com_Variant_getVariantBoolean
|
||||||
(JNIEnv *, jobject);
|
(JNIEnv *, jobject);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Class: com_jacob_com_Variant
|
* Class: com_jacob_com_Variant
|
||||||
* Method: getByte
|
* Method: getVariantByte
|
||||||
* Signature: ()B
|
* Signature: ()B
|
||||||
*/
|
*/
|
||||||
JNIEXPORT jbyte JNICALL Java_com_jacob_com_Variant_getByte
|
JNIEXPORT jbyte JNICALL Java_com_jacob_com_Variant_getVariantByte
|
||||||
(JNIEnv *, jobject);
|
(JNIEnv *, jobject);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Class: com_jacob_com_Variant
|
* Class: com_jacob_com_Variant
|
||||||
* Method: putBoolean
|
* Method: putVariantBoolean
|
||||||
* Signature: (Z)V
|
* Signature: (Z)V
|
||||||
*/
|
*/
|
||||||
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putBoolean
|
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putVariantBoolean
|
||||||
(JNIEnv *, jobject, jboolean);
|
(JNIEnv *, jobject, jboolean);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Class: com_jacob_com_Variant
|
* Class: com_jacob_com_Variant
|
||||||
* Method: putByte
|
* Method: putVariantByte
|
||||||
* Signature: (B)V
|
* Signature: (B)V
|
||||||
*/
|
*/
|
||||||
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putByte
|
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putVariantByte
|
||||||
(JNIEnv *, jobject, jbyte);
|
(JNIEnv *, jobject, jbyte);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Class: com_jacob_com_Variant
|
* Class: com_jacob_com_Variant
|
||||||
* Method: toError
|
* Method: putVariantEmpty
|
||||||
* Signature: ()I
|
|
||||||
*/
|
|
||||||
JNIEXPORT jint JNICALL Java_com_jacob_com_Variant_toError
|
|
||||||
(JNIEnv *, jobject);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Class: com_jacob_com_Variant
|
|
||||||
* Method: putEmpty
|
|
||||||
* Signature: ()V
|
* Signature: ()V
|
||||||
*/
|
*/
|
||||||
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putEmpty
|
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putVariantEmpty
|
||||||
(JNIEnv *, jobject);
|
(JNIEnv *, jobject);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Class: com_jacob_com_Variant
|
* Class: com_jacob_com_Variant
|
||||||
* Method: putEmpty
|
* Method: putVariantNothing
|
||||||
* Signature: ()V
|
* Signature: ()V
|
||||||
*/
|
*/
|
||||||
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putNothing
|
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putVariantNothing
|
||||||
(JNIEnv *, jobject);
|
(JNIEnv *, jobject);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Class: com_jacob_com_Variant
|
* Class: com_jacob_com_Variant
|
||||||
* Method: getError
|
* Method: getVariantError
|
||||||
* Signature: ()I
|
* Signature: ()I
|
||||||
*/
|
*/
|
||||||
JNIEXPORT jint JNICALL Java_com_jacob_com_Variant_getError
|
JNIEXPORT jint JNICALL Java_com_jacob_com_Variant_getVariantError
|
||||||
(JNIEnv *, jobject);
|
(JNIEnv *, jobject);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Class: com_jacob_com_Variant
|
* Class: com_jacob_com_Variant
|
||||||
* Method: putError
|
* Method: putVariantError
|
||||||
* Signature: (I)V
|
* Signature: (I)V
|
||||||
*/
|
*/
|
||||||
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putError
|
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putVariantError
|
||||||
(JNIEnv *, jobject, jint);
|
(JNIEnv *, jobject, jint);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Class: com_jacob_com_Variant
|
* Class: com_jacob_com_Variant
|
||||||
* Method: getDouble
|
* Method: getVariantDouble
|
||||||
* Signature: ()D
|
* Signature: ()D
|
||||||
*/
|
*/
|
||||||
JNIEXPORT jdouble JNICALL Java_com_jacob_com_Variant_getDouble
|
JNIEXPORT jdouble JNICALL Java_com_jacob_com_Variant_getVariantDouble
|
||||||
(JNIEnv *, jobject);
|
(JNIEnv *, jobject);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Class: com_jacob_com_Variant
|
* Class: com_jacob_com_Variant
|
||||||
* Method: putCurrency
|
* Method: putVariantCurrency
|
||||||
* Signature: (J)V
|
* Signature: (J)V
|
||||||
*/
|
*/
|
||||||
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putCurrency
|
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putVariantCurrency
|
||||||
(JNIEnv *, jobject, jlong);
|
(JNIEnv *, jobject, jlong);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Class: com_jacob_com_Variant
|
* Class: com_jacob_com_Variant
|
||||||
* Method: putObject
|
* Method: putVariantDispatch
|
||||||
* Signature: (Ljava/lang/Object;)V
|
* Signature: (Ljava/lang/Object;)V
|
||||||
*/
|
*/
|
||||||
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putDispatchObject
|
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putVariantDispatch
|
||||||
(JNIEnv *, jobject, jobject);
|
(JNIEnv *, jobject, jobject);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Class: com_jacob_com_Variant
|
* Class: com_jacob_com_Variant
|
||||||
* Method: putDouble
|
* Method: putVariantDouble
|
||||||
* Signature: (D)V
|
* Signature: (D)V
|
||||||
*/
|
*/
|
||||||
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putDouble
|
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putVariantDouble
|
||||||
(JNIEnv *, jobject, jdouble);
|
(JNIEnv *, jobject, jdouble);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Class: com_jacob_com_Variant
|
* Class: com_jacob_com_Variant
|
||||||
* Method: getCurrency
|
* Method: getVariantCurrency
|
||||||
* Signature: ()J
|
* Signature: ()J
|
||||||
*/
|
*/
|
||||||
JNIEXPORT jlong JNICALL Java_com_jacob_com_Variant_getCurrency
|
JNIEXPORT jlong JNICALL Java_com_jacob_com_Variant_getVariantCurrency
|
||||||
(JNIEnv *, jobject);
|
(JNIEnv *, jobject);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Class: com_jacob_com_Variant
|
* Class: com_jacob_com_Variant
|
||||||
* Method: putFloatRef
|
* Method: putVariantFloatRef
|
||||||
* Signature: (F)V
|
* Signature: (F)V
|
||||||
*/
|
*/
|
||||||
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putFloatRef
|
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putVariantFloatRef
|
||||||
(JNIEnv *, jobject, jfloat);
|
(JNIEnv *, jobject, jfloat);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Class: com_jacob_com_Variant
|
* Class: com_jacob_com_Variant
|
||||||
* Method: putCurrencyRef
|
* Method: putVariantCurrencyRef
|
||||||
* Signature: (J)V
|
* Signature: (J)V
|
||||||
*/
|
*/
|
||||||
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putCurrencyRef
|
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putVariantCurrencyRef
|
||||||
(JNIEnv *, jobject, jlong);
|
(JNIEnv *, jobject, jlong);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Class: com_jacob_com_Variant
|
* Class: com_jacob_com_Variant
|
||||||
* Method: putErrorRef
|
* Method: putVariantErrorRef
|
||||||
* Signature: (I)V
|
* Signature: (I)V
|
||||||
*/
|
*/
|
||||||
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putErrorRef
|
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putVariantErrorRef
|
||||||
(JNIEnv *, jobject, jint);
|
(JNIEnv *, jobject, jint);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Class: com_jacob_com_Variant
|
* Class: com_jacob_com_Variant
|
||||||
* Method: putBooleanRef
|
* Method: putVariantBooleanRef
|
||||||
* Signature: (Z)V
|
* Signature: (Z)V
|
||||||
*/
|
*/
|
||||||
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putBooleanRef
|
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putVariantBooleanRef
|
||||||
(JNIEnv *, jobject, jboolean);
|
(JNIEnv *, jobject, jboolean);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -411,10 +348,10 @@ JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putObjectRef
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* Class: com_jacob_com_Variant
|
* Class: com_jacob_com_Variant
|
||||||
* Method: putByteRef
|
* Method: putVariantByteRef
|
||||||
* Signature: (B)V
|
* Signature: (B)V
|
||||||
*/
|
*/
|
||||||
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putByteRef
|
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putVariantByteRef
|
||||||
(JNIEnv *, jobject, jbyte);
|
(JNIEnv *, jobject, jbyte);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -422,135 +359,119 @@ JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putByteRef
|
|||||||
* Method: getString
|
* Method: getString
|
||||||
* Signature: ()Ljava/lang/String;
|
* Signature: ()Ljava/lang/String;
|
||||||
*/
|
*/
|
||||||
JNIEXPORT jstring JNICALL Java_com_jacob_com_Variant_getString
|
JNIEXPORT jstring JNICALL Java_com_jacob_com_Variant_getVariantString
|
||||||
(JNIEnv *, jobject);
|
(JNIEnv *, jobject);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Class: com_jacob_com_Variant
|
* Class: com_jacob_com_Variant
|
||||||
* Method: putString
|
* Method: putVariantString
|
||||||
* Signature: (Ljava/lang/String;)V
|
* Signature: (Ljava/lang/String;)V
|
||||||
*/
|
*/
|
||||||
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putString
|
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putVariantString
|
||||||
(JNIEnv *, jobject, jstring);
|
(JNIEnv *, jobject, jstring);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Class: com_jacob_com_Variant
|
* Class: com_jacob_com_Variant
|
||||||
* Method: getFloatRef
|
* Method: getVariantFloatRef
|
||||||
* Signature: ()F
|
* Signature: ()F
|
||||||
*/
|
*/
|
||||||
JNIEXPORT jfloat JNICALL Java_com_jacob_com_Variant_getFloatRef
|
JNIEXPORT jfloat JNICALL Java_com_jacob_com_Variant_getVariantFloatRef
|
||||||
(JNIEnv *, jobject);
|
(JNIEnv *, jobject);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Class: com_jacob_com_Variant
|
* Class: com_jacob_com_Variant
|
||||||
* Method: getCurrencyRef
|
* Method: getVariantCurrencyRef
|
||||||
* Signature: ()J
|
* Signature: ()J
|
||||||
*/
|
*/
|
||||||
JNIEXPORT jlong JNICALL Java_com_jacob_com_Variant_getCurrencyRef
|
JNIEXPORT jlong JNICALL Java_com_jacob_com_Variant_getVariantCurrencyRef
|
||||||
(JNIEnv *, jobject);
|
(JNIEnv *, jobject);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Class: com_jacob_com_Variant
|
* Class: com_jacob_com_Variant
|
||||||
* Method: getErrorRef
|
* Method: getVariantErrorRef
|
||||||
* Signature: ()I
|
* Signature: ()I
|
||||||
*/
|
*/
|
||||||
JNIEXPORT jint JNICALL Java_com_jacob_com_Variant_getErrorRef
|
JNIEXPORT jint JNICALL Java_com_jacob_com_Variant_getVariantErrorRef
|
||||||
(JNIEnv *, jobject);
|
(JNIEnv *, jobject);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Class: com_jacob_com_Variant
|
* Class: com_jacob_com_Variant
|
||||||
* Method: getBooleanRef
|
* Method: getVariantBooleanRef
|
||||||
* Signature: ()Z
|
* Signature: ()Z
|
||||||
*/
|
*/
|
||||||
JNIEXPORT jboolean JNICALL Java_com_jacob_com_Variant_getBooleanRef
|
JNIEXPORT jboolean JNICALL Java_com_jacob_com_Variant_getVariantBooleanRef
|
||||||
(JNIEnv *, jobject);
|
(JNIEnv *, jobject);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Class: com_jacob_com_Variant
|
* Class: com_jacob_com_Variant
|
||||||
* Method: getByteRef
|
* Method: getVariantByteRef
|
||||||
* Signature: ()B
|
* Signature: ()B
|
||||||
*/
|
*/
|
||||||
JNIEXPORT jbyte JNICALL Java_com_jacob_com_Variant_getByteRef
|
JNIEXPORT jbyte JNICALL Java_com_jacob_com_Variant_getVariantByteRef
|
||||||
(JNIEnv *, jobject);
|
(JNIEnv *, jobject);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Class: com_jacob_com_Variant
|
* Class: com_jacob_com_Variant
|
||||||
* Method: toFloat
|
* Method: toVariantSafeArray
|
||||||
* Signature: ()F
|
|
||||||
*/
|
|
||||||
JNIEXPORT jfloat JNICALL Java_com_jacob_com_Variant_toFloat
|
|
||||||
(JNIEnv *, jobject);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Class: com_jacob_com_Variant
|
|
||||||
* Method: toSafeArray
|
|
||||||
* Signature: (Z)Lcom/jacob/com/SafeArray;
|
* Signature: (Z)Lcom/jacob/com/SafeArray;
|
||||||
*/
|
*/
|
||||||
JNIEXPORT jobject JNICALL Java_com_jacob_com_Variant_toSafeArray
|
JNIEXPORT jobject JNICALL Java_com_jacob_com_Variant_toVariantSafeArray
|
||||||
(JNIEnv *, jobject, jboolean);
|
(JNIEnv *, jobject, jboolean);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Class: com_jacob_com_Variant
|
* Class: com_jacob_com_Variant
|
||||||
* Method: putSafeArrayRef
|
* Method: putVariantSafeArrayRef
|
||||||
* Signature: (LSafeArray;)V
|
* Signature: (LSafeArray;)V
|
||||||
*/
|
*/
|
||||||
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putSafeArrayRef
|
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putVariantSafeArrayRef
|
||||||
(JNIEnv *, jobject, jobject);
|
(JNIEnv *, jobject, jobject);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Class: com_jacob_com_Variant
|
* Class: com_jacob_com_Variant
|
||||||
* Method: putSafeArray
|
* Method: putVariantSafeArray
|
||||||
* Signature: (LSafeArray;)V
|
* Signature: (LSafeArray;)V
|
||||||
*/
|
*/
|
||||||
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putSafeArray
|
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putVariantSafeArray
|
||||||
(JNIEnv *, jobject, jobject);
|
(JNIEnv *, jobject, jobject);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Class: com_jacob_com_Variant
|
* Class: com_jacob_com_Variant
|
||||||
* Method: noParam
|
* Method: putVariantNoParam
|
||||||
* Signature: ()V
|
* Signature: ()V
|
||||||
*/
|
*/
|
||||||
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_noParam
|
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putVariantNoParam
|
||||||
(JNIEnv *, jobject);
|
(JNIEnv *, jobject);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Class: com_jacob_com_Variant
|
* Class: com_jacob_com_Variant
|
||||||
* Method: getFloat
|
* Method: getVariantFloat
|
||||||
* Signature: ()F
|
* Signature: ()F
|
||||||
*/
|
*/
|
||||||
JNIEXPORT jfloat JNICALL Java_com_jacob_com_Variant_getFloat
|
JNIEXPORT jfloat JNICALL Java_com_jacob_com_Variant_getVariantFloat
|
||||||
(JNIEnv *, jobject);
|
(JNIEnv *, jobject);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Class: com_jacob_com_Variant
|
* Class: com_jacob_com_Variant
|
||||||
* Method: putFloat
|
* Method: putVariantFloat
|
||||||
* Signature: (F)V
|
* Signature: (F)V
|
||||||
*/
|
*/
|
||||||
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putFloat
|
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_putVariantFloat
|
||||||
(JNIEnv *, jobject, jfloat);
|
(JNIEnv *, jobject, jfloat);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Class: com_jacob_com_Variant
|
* Class: com_jacob_com_Variant
|
||||||
* Method: changeType
|
* Method: changeVariantType
|
||||||
* Signature: (S)V
|
* Signature: (S)V
|
||||||
*/
|
*/
|
||||||
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_changeType
|
JNIEXPORT void JNICALL Java_com_jacob_com_Variant_changeVariantType
|
||||||
(JNIEnv *, jobject, jshort);
|
(JNIEnv *, jobject, jshort);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Class: com_jacob_com_Variant
|
* Class: com_jacob_com_Variant
|
||||||
* Method: getvt
|
* Method: getVariantType
|
||||||
* Signature: ()S
|
* Signature: ()S
|
||||||
*/
|
*/
|
||||||
JNIEXPORT jshort JNICALL Java_com_jacob_com_Variant_getvt
|
JNIEXPORT jshort JNICALL Java_com_jacob_com_Variant_getVariantType
|
||||||
(JNIEnv *, jobject);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Class: com_jacob_com_Variant
|
|
||||||
* Method: toShort
|
|
||||||
* Signature: ()S
|
|
||||||
*/
|
|
||||||
JNIEXPORT jshort JNICALL Java_com_jacob_com_Variant_toShort
|
|
||||||
(JNIEnv *, jobject);
|
(JNIEnv *, jobject);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -577,10 +498,10 @@ JNIEXPORT void JNICALL Java_com_jacob_com_Variant_SerializationReadFromBytes
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* Class: com_jacob_com_Variant
|
* Class: com_jacob_com_Variant
|
||||||
* Method: isNull
|
* Method: isVariantConsideredNull
|
||||||
* Signature: ()Z
|
* Signature: ()Z
|
||||||
*/
|
*/
|
||||||
JNIEXPORT jboolean JNICALL Java_com_jacob_com_Variant_isNull
|
JNIEXPORT jboolean JNICALL Java_com_jacob_com_Variant_isVariantConsideredNull
|
||||||
(JNIEnv *, jobject);
|
(JNIEnv *, jobject);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -23,7 +23,8 @@ import com.jacob.com.*;
|
|||||||
import com.jacob.activeX.*;
|
import com.jacob.activeX.*;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* this
|
* May need to run with some command line options. If so, then try these
|
||||||
|
* -Djava.library.path=d:/jacob/release -Dcom.jacob.autogc=false -Dcom.jacob.debug=true -Xcheck:jni
|
||||||
* @author joe
|
* @author joe
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
@@ -124,7 +125,7 @@ class Access
|
|||||||
public static String[] getColumns(Dispatch recset)
|
public static String[] getColumns(Dispatch recset)
|
||||||
{
|
{
|
||||||
Dispatch flds = Dispatch.get(recset, "Fields").toDispatch();
|
Dispatch flds = Dispatch.get(recset, "Fields").toDispatch();
|
||||||
int n_flds = Dispatch.get(flds, "Count").toInt();
|
int n_flds = Dispatch.get(flds, "Count").getInt();
|
||||||
String[] s = new String[n_flds];
|
String[] s = new String[n_flds];
|
||||||
Variant vi = new Variant();
|
Variant vi = new Variant();
|
||||||
for (int i=0;i<n_flds;i++) {
|
for (int i=0;i<n_flds;i++) {
|
||||||
|
|||||||
@@ -48,7 +48,7 @@ public class Command extends Dispatch
|
|||||||
|
|
||||||
public int getCommandTimeout()
|
public int getCommandTimeout()
|
||||||
{
|
{
|
||||||
return Dispatch.get(this, "CommandTimeout").toInt();
|
return Dispatch.get(this, "CommandTimeout").getInt();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setCommandTimeout(int plTimeout)
|
public void setCommandTimeout(int plTimeout)
|
||||||
@@ -58,7 +58,7 @@ public class Command extends Dispatch
|
|||||||
|
|
||||||
public boolean getPrepared()
|
public boolean getPrepared()
|
||||||
{
|
{
|
||||||
return Dispatch.get(this, "Prepared").toBoolean();
|
return Dispatch.get(this, "Prepared").getBoolean();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setPrepared(boolean pfPrepared)
|
public void setPrepared(boolean pfPrepared)
|
||||||
@@ -95,7 +95,7 @@ public class Command extends Dispatch
|
|||||||
|
|
||||||
public int getCommandType()
|
public int getCommandType()
|
||||||
{
|
{
|
||||||
return Dispatch.get(this, "CommandType").toInt();
|
return Dispatch.get(this, "CommandType").getInt();
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getName()
|
public String getName()
|
||||||
@@ -110,7 +110,7 @@ public class Command extends Dispatch
|
|||||||
|
|
||||||
public int getState()
|
public int getState()
|
||||||
{
|
{
|
||||||
return Dispatch.get(this, "State").toInt();
|
return Dispatch.get(this, "State").getInt();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Cancel()
|
public void Cancel()
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ public class Connection extends Dispatch
|
|||||||
|
|
||||||
public int getCommandTimeout()
|
public int getCommandTimeout()
|
||||||
{
|
{
|
||||||
return Dispatch.get(this, "CommandTimeout").toInt();
|
return Dispatch.get(this, "CommandTimeout").getInt();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setCommandTimeout(int plTimeout)
|
public void setCommandTimeout(int plTimeout)
|
||||||
@@ -48,7 +48,7 @@ public class Connection extends Dispatch
|
|||||||
|
|
||||||
public int getConnectionTimeout()
|
public int getConnectionTimeout()
|
||||||
{
|
{
|
||||||
return Dispatch.get(this, "ConnectionTimeout").toInt();
|
return Dispatch.get(this, "ConnectionTimeout").getInt();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setConnectionTimeout(int plTimeout)
|
public void setConnectionTimeout(int plTimeout)
|
||||||
@@ -74,7 +74,7 @@ public class Connection extends Dispatch
|
|||||||
|
|
||||||
public int BeginTrans()
|
public int BeginTrans()
|
||||||
{
|
{
|
||||||
return Dispatch.call(this, "BeginTrans").toInt();
|
return Dispatch.call(this, "BeginTrans").getInt();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void CommitTrans()
|
public void CommitTrans()
|
||||||
@@ -114,7 +114,7 @@ public class Connection extends Dispatch
|
|||||||
|
|
||||||
public int getIsolationLevel()
|
public int getIsolationLevel()
|
||||||
{
|
{
|
||||||
return Dispatch.get(this, "IsolationLevel").toInt();
|
return Dispatch.get(this, "IsolationLevel").getInt();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setIsolationLevel(int Level)
|
public void setIsolationLevel(int Level)
|
||||||
@@ -124,7 +124,7 @@ public class Connection extends Dispatch
|
|||||||
|
|
||||||
public int getAttributes()
|
public int getAttributes()
|
||||||
{
|
{
|
||||||
return Dispatch.get(this, "Attributes").toInt();
|
return Dispatch.get(this, "Attributes").getInt();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setAttributes(int plAttr)
|
public void setAttributes(int plAttr)
|
||||||
@@ -134,7 +134,7 @@ public class Connection extends Dispatch
|
|||||||
|
|
||||||
public int getCursorLocation()
|
public int getCursorLocation()
|
||||||
{
|
{
|
||||||
return Dispatch.get(this, "CursorLocation").toInt();
|
return Dispatch.get(this, "CursorLocation").getInt();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setCursorLocation(int plCursorLoc)
|
public void setCursorLocation(int plCursorLoc)
|
||||||
@@ -144,7 +144,7 @@ public class Connection extends Dispatch
|
|||||||
|
|
||||||
public int getMode()
|
public int getMode()
|
||||||
{
|
{
|
||||||
return Dispatch.get(this, "Mode").toInt();
|
return Dispatch.get(this, "Mode").getInt();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setMode(int plMode)
|
public void setMode(int plMode)
|
||||||
@@ -164,7 +164,7 @@ public class Connection extends Dispatch
|
|||||||
|
|
||||||
public int getState()
|
public int getState()
|
||||||
{
|
{
|
||||||
return Dispatch.get(this, "State").toInt();
|
return Dispatch.get(this, "State").getInt();
|
||||||
}
|
}
|
||||||
|
|
||||||
public Variant OpenSchema(int Schema, Variant Restrictions, Variant SchemaID)
|
public Variant OpenSchema(int Schema, Variant Restrictions, Variant SchemaID)
|
||||||
|
|||||||
@@ -21,17 +21,17 @@ public class Field extends Dispatch
|
|||||||
|
|
||||||
public int getActualSize()
|
public int getActualSize()
|
||||||
{
|
{
|
||||||
return Dispatch.get(this, "ActualSize").toInt();
|
return Dispatch.get(this, "ActualSize").getInt();
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getAttributes()
|
public int getAttributes()
|
||||||
{
|
{
|
||||||
return Dispatch.get(this, "Attributes").toInt();
|
return Dispatch.get(this, "Attributes").getInt();
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getDefinedSize()
|
public int getDefinedSize()
|
||||||
{
|
{
|
||||||
return Dispatch.get(this, "DefinedSize").toInt();
|
return Dispatch.get(this, "DefinedSize").getInt();
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getName()
|
public String getName()
|
||||||
@@ -41,7 +41,7 @@ public class Field extends Dispatch
|
|||||||
|
|
||||||
public int getType()
|
public int getType()
|
||||||
{
|
{
|
||||||
return Dispatch.get(this, "Type").toInt();
|
return Dispatch.get(this, "Type").getInt();
|
||||||
}
|
}
|
||||||
|
|
||||||
public Variant getValue()
|
public Variant getValue()
|
||||||
@@ -56,12 +56,12 @@ public class Field extends Dispatch
|
|||||||
|
|
||||||
public byte getPrecision()
|
public byte getPrecision()
|
||||||
{
|
{
|
||||||
return Dispatch.get(this, "Precision").toByte();
|
return Dispatch.get(this, "Precision").getByte();
|
||||||
}
|
}
|
||||||
|
|
||||||
public byte getNumericScale()
|
public byte getNumericScale()
|
||||||
{
|
{
|
||||||
return Dispatch.get(this, "NumericScale").toByte();
|
return Dispatch.get(this, "NumericScale").getByte();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void AppendChunk(Variant Data)
|
public void AppendChunk(Variant Data)
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ public class Fields extends Dispatch
|
|||||||
|
|
||||||
public int getCount()
|
public int getCount()
|
||||||
{
|
{
|
||||||
return Dispatch.get(this, "Count").toInt();
|
return Dispatch.get(this, "Count").getInt();
|
||||||
}
|
}
|
||||||
|
|
||||||
public Variant _NewEnum()
|
public Variant _NewEnum()
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ public class Recordset extends Dispatch
|
|||||||
|
|
||||||
public int getAbsolutePosition()
|
public int getAbsolutePosition()
|
||||||
{
|
{
|
||||||
return Dispatch.get(this, "AbsolutePosition").toInt();
|
return Dispatch.get(this, "AbsolutePosition").getInt();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setAbsolutePosition(int pl)
|
public void setAbsolutePosition(int pl)
|
||||||
@@ -51,7 +51,7 @@ public class Recordset extends Dispatch
|
|||||||
|
|
||||||
public boolean getBOF()
|
public boolean getBOF()
|
||||||
{
|
{
|
||||||
return Dispatch.get(this, "BOF").toBoolean();
|
return Dispatch.get(this, "BOF").getBoolean();
|
||||||
}
|
}
|
||||||
|
|
||||||
public Variant getBookmark()
|
public Variant getBookmark()
|
||||||
@@ -66,7 +66,7 @@ public class Recordset extends Dispatch
|
|||||||
|
|
||||||
public int getCacheSize()
|
public int getCacheSize()
|
||||||
{
|
{
|
||||||
return Dispatch.get(this, "CacheSize").toInt();
|
return Dispatch.get(this, "CacheSize").getInt();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setCacheSize(int pl)
|
public void setCacheSize(int pl)
|
||||||
@@ -76,7 +76,7 @@ public class Recordset extends Dispatch
|
|||||||
|
|
||||||
public int getCursorType()
|
public int getCursorType()
|
||||||
{
|
{
|
||||||
return Dispatch.get(this, "CursorType").toInt();
|
return Dispatch.get(this, "CursorType").getInt();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setCursorType(int pl)
|
public void setCursorType(int pl)
|
||||||
@@ -86,7 +86,7 @@ public class Recordset extends Dispatch
|
|||||||
|
|
||||||
public boolean getEOF()
|
public boolean getEOF()
|
||||||
{
|
{
|
||||||
return Dispatch.get(this, "EOF").toBoolean();
|
return Dispatch.get(this, "EOF").getBoolean();
|
||||||
}
|
}
|
||||||
|
|
||||||
public Fields getFields()
|
public Fields getFields()
|
||||||
@@ -96,7 +96,7 @@ public class Recordset extends Dispatch
|
|||||||
|
|
||||||
public int getLockType()
|
public int getLockType()
|
||||||
{
|
{
|
||||||
return Dispatch.get(this, "LockType").toInt();
|
return Dispatch.get(this, "LockType").getInt();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setLockType(int plLockType)
|
public void setLockType(int plLockType)
|
||||||
@@ -106,7 +106,7 @@ public class Recordset extends Dispatch
|
|||||||
|
|
||||||
public int getMaxRecords()
|
public int getMaxRecords()
|
||||||
{
|
{
|
||||||
return Dispatch.get(this, "MaxRecords").toInt();
|
return Dispatch.get(this, "MaxRecords").getInt();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setMaxRecords(int pl)
|
public void setMaxRecords(int pl)
|
||||||
@@ -116,7 +116,7 @@ public class Recordset extends Dispatch
|
|||||||
|
|
||||||
public int getRecordCount()
|
public int getRecordCount()
|
||||||
{
|
{
|
||||||
return Dispatch.get(this, "RecordCount").toInt();
|
return Dispatch.get(this, "RecordCount").getInt();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setSource(Object pvSource)
|
public void setSource(Object pvSource)
|
||||||
@@ -212,7 +212,7 @@ public class Recordset extends Dispatch
|
|||||||
|
|
||||||
public int getAbsolutePage()
|
public int getAbsolutePage()
|
||||||
{
|
{
|
||||||
return Dispatch.get(this, "AbsolutePage").toInt();
|
return Dispatch.get(this, "AbsolutePage").getInt();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setAbsolutePage(int pl)
|
public void setAbsolutePage(int pl)
|
||||||
@@ -222,7 +222,7 @@ public class Recordset extends Dispatch
|
|||||||
|
|
||||||
public int getEditMode()
|
public int getEditMode()
|
||||||
{
|
{
|
||||||
return Dispatch.get(this, "EditMode").toInt();
|
return Dispatch.get(this, "EditMode").getInt();
|
||||||
}
|
}
|
||||||
|
|
||||||
public Variant getFilter()
|
public Variant getFilter()
|
||||||
@@ -237,12 +237,12 @@ public class Recordset extends Dispatch
|
|||||||
|
|
||||||
public int getPageCount()
|
public int getPageCount()
|
||||||
{
|
{
|
||||||
return Dispatch.get(this, "PageCount").toInt();
|
return Dispatch.get(this, "PageCount").getInt();
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getPageSize()
|
public int getPageSize()
|
||||||
{
|
{
|
||||||
return Dispatch.get(this, "PageSize").toInt();
|
return Dispatch.get(this, "PageSize").getInt();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setPageSize(int pl)
|
public void setPageSize(int pl)
|
||||||
@@ -262,12 +262,12 @@ public class Recordset extends Dispatch
|
|||||||
|
|
||||||
public int getStatus()
|
public int getStatus()
|
||||||
{
|
{
|
||||||
return Dispatch.get(this, "Status").toInt();
|
return Dispatch.get(this, "Status").getInt();
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getState()
|
public int getState()
|
||||||
{
|
{
|
||||||
return Dispatch.get(this, "State").toInt();
|
return Dispatch.get(this, "State").getInt();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void UpdateBatch(int AffectRecords)
|
public void UpdateBatch(int AffectRecords)
|
||||||
@@ -282,7 +282,7 @@ public class Recordset extends Dispatch
|
|||||||
|
|
||||||
public int getCursorLocation()
|
public int getCursorLocation()
|
||||||
{
|
{
|
||||||
return Dispatch.get(this, "CursorLocation").toInt();
|
return Dispatch.get(this, "CursorLocation").getInt();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setCursorLocation(int pl)
|
public void setCursorLocation(int pl)
|
||||||
@@ -297,7 +297,7 @@ public class Recordset extends Dispatch
|
|||||||
|
|
||||||
public boolean Supports(int CursorOptions)
|
public boolean Supports(int CursorOptions)
|
||||||
{
|
{
|
||||||
return Dispatch.call(this, "Supports", new Variant(CursorOptions)).toBoolean();
|
return Dispatch.call(this, "Supports", new Variant(CursorOptions)).getBoolean();
|
||||||
}
|
}
|
||||||
|
|
||||||
public Variant getCollect(Variant Index)
|
public Variant getCollect(Variant Index)
|
||||||
@@ -312,7 +312,7 @@ public class Recordset extends Dispatch
|
|||||||
|
|
||||||
public int getMarshalOptions()
|
public int getMarshalOptions()
|
||||||
{
|
{
|
||||||
return Dispatch.get(this, "MarshalOptions").toInt();
|
return Dispatch.get(this, "MarshalOptions").getInt();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setMarshalOptions(int pl)
|
public void setMarshalOptions(int pl)
|
||||||
@@ -357,7 +357,7 @@ public class Recordset extends Dispatch
|
|||||||
|
|
||||||
public boolean getStayInSync()
|
public boolean getStayInSync()
|
||||||
{
|
{
|
||||||
return Dispatch.get(this, "StayInSync").toBoolean();
|
return Dispatch.get(this, "StayInSync").getBoolean();
|
||||||
}
|
}
|
||||||
|
|
||||||
public String GetString(int StringFormat, int NumRows, String ColumnDelimeter, String RowDelimeter, String NullExpr)
|
public String GetString(int StringFormat, int NumRows, String ColumnDelimeter, String RowDelimeter, String NullExpr)
|
||||||
@@ -378,7 +378,7 @@ public class Recordset extends Dispatch
|
|||||||
|
|
||||||
public int CompareBookmarks(Variant Bookmark1, Variant Bookmark2)
|
public int CompareBookmarks(Variant Bookmark1, Variant Bookmark2)
|
||||||
{
|
{
|
||||||
return Dispatch.call(this, "CompareBookmarks", Bookmark1, Bookmark2).toInt();
|
return Dispatch.call(this, "CompareBookmarks", Bookmark1, Bookmark2).getInt();
|
||||||
}
|
}
|
||||||
|
|
||||||
public Recordset Clone(int LockType)
|
public Recordset Clone(int LockType)
|
||||||
|
|||||||
@@ -180,7 +180,7 @@ public class ActiveXComponent extends Dispatch {
|
|||||||
* @return boolean value of property
|
* @return boolean value of property
|
||||||
*/
|
*/
|
||||||
public boolean getPropertyAsBoolean(String propertyName){
|
public boolean getPropertyAsBoolean(String propertyName){
|
||||||
return Dispatch.get(this, propertyName).toBoolean();
|
return Dispatch.get(this, propertyName).getBoolean();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -189,7 +189,7 @@ public class ActiveXComponent extends Dispatch {
|
|||||||
* @return byte value of property
|
* @return byte value of property
|
||||||
*/
|
*/
|
||||||
public byte getPropertyAsByte(String propertyName){
|
public byte getPropertyAsByte(String propertyName){
|
||||||
return Dispatch.get(this, propertyName).toByte();
|
return Dispatch.get(this, propertyName).getByte();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -208,7 +208,7 @@ public class ActiveXComponent extends Dispatch {
|
|||||||
* @return the property value as an int
|
* @return the property value as an int
|
||||||
*/
|
*/
|
||||||
public int getPropertyAsInt(String propertyName){
|
public int getPropertyAsInt(String propertyName){
|
||||||
return Dispatch.get(this,propertyName).toInt();
|
return Dispatch.get(this,propertyName).getInt();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -1,5 +1,7 @@
|
|||||||
package com.jacob.com;
|
package com.jacob.com;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* runs through some of the get and set methods on Variant
|
* runs through some of the get and set methods on Variant
|
||||||
*
|
*
|
||||||
@@ -9,6 +11,8 @@ class VariantTest {
|
|||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
System.out.println("Testing Started");
|
System.out.println("Testing Started");
|
||||||
VariantTest testJig = new VariantTest();
|
VariantTest testJig = new VariantTest();
|
||||||
|
testJig.testUninitializedVariant();
|
||||||
|
testJig.testToStringDoesNotConvert();
|
||||||
testJig.testPutsAndGets();
|
testJig.testPutsAndGets();
|
||||||
testJig.testSafeReleaseBoolean();
|
testJig.testSafeReleaseBoolean();
|
||||||
testJig.testSafeReleaseConstant();
|
testJig.testSafeReleaseConstant();
|
||||||
@@ -26,40 +30,103 @@ class VariantTest {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void testSafeReleaseBoolean(){
|
/**
|
||||||
Variant v = new Variant(true);
|
* make sure variant with no backing store works.
|
||||||
System.out.println("Newly created Variant ("+ v.getBoolean()+") "+
|
*
|
||||||
"trying to create access violation but it doesn't seem to be easy");
|
*/
|
||||||
v.safeRelease();
|
private void testUninitializedVariant(){
|
||||||
if (v.getBoolean() != true){
|
Variant v;
|
||||||
System.out.println("Variant value ("+v.getBoolean()+") "
|
// Variants created without parameters are auto set to VariantEmpty
|
||||||
+"has been broken by SafeRelease()");
|
v = new Variant();
|
||||||
|
try {
|
||||||
|
if (v.getvt() == Variant.VariantEmpty){
|
||||||
|
// successful
|
||||||
|
// System.out.println("Variant initialized without parameters correctly set to empty");
|
||||||
} else {
|
} else {
|
||||||
System.out.println("Variant value ("+v.getBoolean()+") "
|
throw new RuntimeException("getvt() on uninitialized variant shoud have returned VariantEmpty, instead returned "+v.getvt());
|
||||||
+"has survived SafeRelease()");
|
|
||||||
}
|
}
|
||||||
|
} catch (IllegalStateException ise){
|
||||||
|
throw new RuntimeException("getvt() on uninitialized variant shoud have succeeded, but instead threw exception");
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
v.toString();
|
||||||
|
} catch (IllegalStateException ise){
|
||||||
|
System.out.println("toString() should never throw a runtime exception");
|
||||||
|
throw new RuntimeException("toString() should not blow up even with uninitialized Variant");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* verify the toString() method does not do type conversion
|
||||||
|
*/
|
||||||
|
private void testToStringDoesNotConvert(){
|
||||||
|
Variant v;
|
||||||
|
v = new Variant(true);
|
||||||
|
v.toString();
|
||||||
|
if (v.getvt() != Variant.VariantBoolean){
|
||||||
|
throw new RuntimeException("toString() converted boolean to something else");
|
||||||
|
} else {
|
||||||
|
//System.out.println("toString() correctly does not convert type");
|
||||||
|
}
|
||||||
|
if (v.getBoolean() != true){
|
||||||
|
System.out.println("toString() converted boolean true to "+ v.getBoolean());
|
||||||
|
}
|
||||||
|
v = new Variant(false);
|
||||||
|
v.toString();
|
||||||
|
if (v.getvt() != Variant.VariantBoolean){
|
||||||
|
throw new RuntimeException("toString() converted boolean to something else");
|
||||||
|
} else {
|
||||||
|
//System.out.println("toString() correctly does not convert type");
|
||||||
|
}
|
||||||
|
if (v.getBoolean() != false){
|
||||||
|
System.out.println("toString() converted boolean false to "+ v.getBoolean());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void testSafeReleaseBoolean(){
|
||||||
|
Variant v;
|
||||||
|
v = new Variant(true);
|
||||||
|
//System.out.println("Newly created Variant ("+ v.getBoolean()+") "+
|
||||||
|
// "trying to create access violation but it doesn't seem to be easy");
|
||||||
|
v.safeRelease();
|
||||||
|
try {
|
||||||
|
v.getBoolean();
|
||||||
|
System.out.println("IllegalStateException should have been thrown when querying safeReleased object");
|
||||||
|
throw new RuntimeException("test failed");
|
||||||
|
} catch (IllegalStateException ise){
|
||||||
|
//System.out.println("IllegalStateException correctly thrown after safeRelease");
|
||||||
|
}
|
||||||
|
v = new Variant(true);
|
||||||
for ( int i = 0 ; i < 10; i ++){
|
for ( int i = 0 ; i < 10; i ++){
|
||||||
new Variant ("xxx"+i);
|
new Variant ("xxx"+i);
|
||||||
new Variant(i);
|
new Variant(i);
|
||||||
new Variant ("yyy"+i);
|
new Variant ("yyy"+i);
|
||||||
}
|
}
|
||||||
ComThread.Release();
|
ComThread.Release();
|
||||||
if (v.getBoolean() != true){
|
try {
|
||||||
System.out.println("Variant value ("+v.getBoolean()+") "
|
v.getBoolean();
|
||||||
+"has been broken by ComThread.Release()");
|
System.out.println("IllegalStateException should have been thrown when querying ComThread.Release");
|
||||||
} else {
|
throw new RuntimeException("test failed");
|
||||||
System.out.println("Variant value ("+v.getBoolean()+") "
|
} catch (IllegalStateException ise){
|
||||||
+"has been survived by ComThread.Release()");
|
//System.out.println("IllegalStateException correctly thrown after ComThread.Release");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* verify the constant values aren't released with safeRelease
|
||||||
|
*
|
||||||
|
*/
|
||||||
private void testSafeReleaseConstant(){
|
private void testSafeReleaseConstant(){
|
||||||
System.out.println("Using Static constant Variant - should never throw access violation");
|
System.out.println("Using Static constant Variant - should never throw access violation");
|
||||||
Variant.VT_TRUE.safeRelease();
|
Variant.VT_TRUE.safeRelease();
|
||||||
if (Variant.VT_TRUE.getBoolean() != true){
|
if (Variant.VT_TRUE.getBoolean() != true){
|
||||||
System.out.println("VT_TRUE has been broken by SafeRelease()");
|
System.out.println("VT_TRUE has been broken by SafeRelease()");
|
||||||
|
throw new RuntimeException("test failed");
|
||||||
} else {
|
} else {
|
||||||
System.out.println("VT_TRUE survived SafeRelease()");
|
//System.out.println("VT_TRUE survived SafeRelease()");
|
||||||
}
|
}
|
||||||
|
|
||||||
for ( int i = 0 ; i < 10; i ++){
|
for ( int i = 0 ; i < 10; i ++){
|
||||||
@@ -71,24 +138,31 @@ class VariantTest {
|
|||||||
|
|
||||||
if (Variant.VT_TRUE.getBoolean() != true){
|
if (Variant.VT_TRUE.getBoolean() != true){
|
||||||
System.out.println("VT_TRUE has been broken by ComThread.Release()");
|
System.out.println("VT_TRUE has been broken by ComThread.Release()");
|
||||||
|
throw new RuntimeException("test failed");
|
||||||
} else {
|
} else {
|
||||||
System.out.println("VT_TRUE survived ComThread.Release()");
|
//System.out.println("VT_TRUE survived ComThread.Release()");
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* this used to try and and create an access violation but that
|
||||||
|
* didn't work and now the methods on the Variant are smarter about
|
||||||
|
* working after a release
|
||||||
|
*
|
||||||
|
*/
|
||||||
private void testSafeReleaseString(){
|
private void testSafeReleaseString(){
|
||||||
String mTestString = "Guitar Hero";
|
String mTestString = "Guitar Hero";
|
||||||
Variant v = new Variant(mTestString);
|
Variant v = new Variant(mTestString);
|
||||||
System.out.println("Newly created Variant ("+ v.getString()+") "+
|
//System.out.println("Newly created Variant ("+ v.getString()+") "+
|
||||||
"trying to create access violation but it doesn't seem to be easy");
|
// "about to safe release and then access");
|
||||||
v.safeRelease();
|
v.safeRelease();
|
||||||
if (v.getString() == null || !v.getString().equals(mTestString)){
|
try {
|
||||||
System.out.println("Variant value ("+v.getString()+") "
|
v.getString();
|
||||||
+"has been broken by SafeRelease()");
|
System.out.println("IllegalStateException should have been thrown when querying safeReleased object");
|
||||||
} else {
|
throw new RuntimeException("test failed");
|
||||||
System.out.println("Variant value ("+v.getString()+") "
|
} catch (IllegalStateException ise){
|
||||||
+"has survived SafeRelease()");
|
//System.out.println("IllegalStateException correctly thrown after safeRelease");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -127,28 +201,47 @@ class VariantTest {
|
|||||||
private void testPutsAndGets(){
|
private void testPutsAndGets(){
|
||||||
Variant v = new Variant();
|
Variant v = new Variant();
|
||||||
v.putInt(10);
|
v.putInt(10);
|
||||||
if (v.toInt() != 10){
|
if (v.getInt() != 10){
|
||||||
System.out.println("int test failed");
|
System.out.println("int test failed");
|
||||||
}
|
}
|
||||||
v.putInt(10);
|
v.putShort((short)10);
|
||||||
if (v.toDouble() != 10.0){
|
if (v.getShort() != 10){
|
||||||
|
System.out.println("short test failed");
|
||||||
|
}
|
||||||
|
v.putByte((byte)10);
|
||||||
|
if (v.getByte() != 10){
|
||||||
|
System.out.println("int test failed");
|
||||||
|
}
|
||||||
|
v.putFloat(10);
|
||||||
|
if (v.getFloat() != 10.0){
|
||||||
|
System.out.println("float test failed");
|
||||||
|
}
|
||||||
|
v.putDouble(10);
|
||||||
|
if (v.getDouble() != 10.0){
|
||||||
System.out.println("double test failed");
|
System.out.println("double test failed");
|
||||||
}
|
}
|
||||||
v.putString("1234.567");
|
v.putString("1234.567");
|
||||||
if (!"1234.567".equals(v.toString())){
|
if (!"1234.567".equals(v.getString())){
|
||||||
System.out.println("string test failed");
|
System.out.println("string test failed");
|
||||||
}
|
}
|
||||||
v.putBoolean(true);
|
v.putBoolean(true);
|
||||||
if (v.toBoolean() != true){
|
if (v.getBoolean() != true){
|
||||||
System.out.println("failed boolean test(true)");
|
System.out.println("failed boolean test(true)");
|
||||||
}
|
}
|
||||||
v.putBoolean(false);
|
v.putBoolean(false);
|
||||||
if (v.toBoolean() != false){
|
if (v.getBoolean() != false){
|
||||||
System.out.println("failed boolean test(false)");
|
System.out.println("failed boolean test(false)");
|
||||||
}
|
}
|
||||||
v.putCurrency(123456789123456789L);
|
v.putCurrency(123456789123456789L);
|
||||||
if (v.toCurrency()!=123456789123456789L){
|
if (v.getCurrency()!=123456789123456789L){
|
||||||
System.out.println("failed long test");
|
System.out.println("failed currency test");
|
||||||
|
}
|
||||||
|
|
||||||
|
Date ourDate = new Date();
|
||||||
|
v.putDate(ourDate);
|
||||||
|
Date retrievedDate = v.getJavaDate();
|
||||||
|
if (!retrievedDate.equals(ourDate)){
|
||||||
|
System.out.println("failed java date load and unload");
|
||||||
}
|
}
|
||||||
|
|
||||||
v.putNull();
|
v.putNull();
|
||||||
|
|||||||
@@ -34,10 +34,12 @@ class IETest
|
|||||||
//e.printStackTrace();
|
//e.printStackTrace();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
System.out.println("Thread quit, about to quit main sta");
|
System.out.println("Main: Thread quit, about to quit main sta in thread "
|
||||||
|
+Thread.currentThread().getName());
|
||||||
// this line only does someting if startMainSTA() was called
|
// this line only does someting if startMainSTA() was called
|
||||||
ComThread.quitMainSTA();
|
ComThread.quitMainSTA();
|
||||||
System.out.println("did quit main sta");
|
System.out.println("Main: did quit main sta in thread "
|
||||||
|
+Thread.currentThread().getName());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -59,22 +61,33 @@ class IETestThread extends Thread
|
|||||||
try {
|
try {
|
||||||
Dispatch.put(ie, "Visible", new Variant(true));
|
Dispatch.put(ie, "Visible", new Variant(true));
|
||||||
Dispatch.put(ie, "AddressBar", new Variant(true));
|
Dispatch.put(ie, "AddressBar", new Variant(true));
|
||||||
System.out.println(Dispatch.get(ie, "Path"));
|
System.out.println("IETestThread: " + Dispatch.get(ie, "Path"));
|
||||||
Dispatch.put(ie, "StatusText", new Variant("My Status Text"));
|
Dispatch.put(ie, "StatusText", new Variant("My Status Text"));
|
||||||
|
|
||||||
|
System.out.println("IETestThread: About to hookup event listener");
|
||||||
IEEvents ieE = new IEEvents();
|
IEEvents ieE = new IEEvents();
|
||||||
new DispatchEvents((Dispatch) ie, ieE,"InternetExplorer.Application.1");
|
new DispatchEvents((Dispatch) ie, ieE,"InternetExplorer.Application.1");
|
||||||
|
System.out.println("IETestThread: Did hookup event listener");
|
||||||
|
/// why is this here? Was there some other code here in the past?
|
||||||
Variant optional = new Variant();
|
Variant optional = new Variant();
|
||||||
optional.noParam();
|
optional.putNoParam();
|
||||||
|
|
||||||
|
System.out.println("IETestThread: About to call navigate to sourceforge");
|
||||||
Dispatch.call(ie, "Navigate", new Variant("http://sourceforge.net/projects/jacob-project"));
|
Dispatch.call(ie, "Navigate", new Variant("http://sourceforge.net/projects/jacob-project"));
|
||||||
|
System.out.println("IETestThread: Did call navigate to sourceforge");
|
||||||
try { Thread.sleep(delay); } catch (Exception e) {}
|
try { Thread.sleep(delay); } catch (Exception e) {}
|
||||||
|
System.out.println("IETestThread: About to call navigate to yahoo");
|
||||||
Dispatch.call(ie, "Navigate", new Variant("http://groups.yahoo.com/group/jacob-project"));
|
Dispatch.call(ie, "Navigate", new Variant("http://groups.yahoo.com/group/jacob-project"));
|
||||||
|
System.out.println("IETestThread: Did call navigate to yahoo");
|
||||||
try { Thread.sleep(delay); } catch (Exception e) {}
|
try { Thread.sleep(delay); } catch (Exception e) {}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
|
} catch (Throwable re){
|
||||||
|
re.printStackTrace();
|
||||||
} finally {
|
} finally {
|
||||||
|
System.out.println("IETestThread: About to send Quit");
|
||||||
ie.invoke("Quit", new Variant[] {});
|
ie.invoke("Quit", new Variant[] {});
|
||||||
|
System.out.println("IETestThread: Did send Quit");
|
||||||
}
|
}
|
||||||
// this blows up when it tries to release a DispatchEvents object
|
// this blows up when it tries to release a DispatchEvents object
|
||||||
// I think this is because there is still one event we should get back
|
// I think this is because there is still one event we should get back
|
||||||
@@ -83,13 +96,14 @@ class IETestThread extends Thread
|
|||||||
// freed before the callback
|
// freed before the callback
|
||||||
// commenting out ie.invoke(quit...) causes this to work without error
|
// commenting out ie.invoke(quit...) causes this to work without error
|
||||||
// this code tries to wait until the quit has been handled but that doesn't work
|
// this code tries to wait until the quit has been handled but that doesn't work
|
||||||
System.out.println("IETest: Waiting until we've received the quit callback");
|
System.out.println("IETestThread: Waiting until we've received the quit callback");
|
||||||
while (!quitHandled){
|
while (!quitHandled){
|
||||||
try { Thread.sleep(delay/5);} catch (InterruptedException e) {}
|
try { Thread.sleep(delay/5);} catch (InterruptedException e) {}
|
||||||
}
|
}
|
||||||
|
System.out.println("IETestThread: Received the quit callback");
|
||||||
// wait a little while for it to end
|
// wait a little while for it to end
|
||||||
try {Thread.sleep(delay); } catch (InterruptedException e) {}
|
//try {Thread.sleep(delay); } catch (InterruptedException e) {}
|
||||||
System.out.println("IETest: about to call release in thread " +
|
System.out.println("IETestThread: about to call ComThread.Release in thread " +
|
||||||
Thread.currentThread().getName());
|
Thread.currentThread().getName());
|
||||||
|
|
||||||
ComThread.Release();
|
ComThread.Release();
|
||||||
@@ -101,76 +115,76 @@ class IETestThread extends Thread
|
|||||||
public class IEEvents
|
public class IEEvents
|
||||||
{
|
{
|
||||||
public void BeforeNavigate2(Variant[] args) {
|
public void BeforeNavigate2(Variant[] args) {
|
||||||
System.out.println("IEEvents: BeforeNavigate2");
|
System.out.println("IEEvents Received ("+Thread.currentThread().getName()+"): BeforeNavigate2 "+args.length);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void CommandStateChange(Variant[] args) {
|
public void CommandStateChange(Variant[] args) {
|
||||||
System.out.println("IEEvents: CommandStateChange");
|
System.out.println("IEEvents Received ("+Thread.currentThread().getName()+"): CommandStateChange "+args.length);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void DocumentComplete(Variant[] args) {
|
public void DocumentComplete(Variant[] args) {
|
||||||
System.out.println("IEEvents: DocumentComplete");
|
System.out.println("IEEvents Received ("+Thread.currentThread().getName()+"): DocumentComplete "+args.length);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void DownloadBegin(Variant[] args) {
|
public void DownloadBegin(Variant[] args) {
|
||||||
System.out.println("IEEvents: DownloadBegin");
|
System.out.println("IEEvents Received ("+Thread.currentThread().getName()+"): DownloadBegin "+args.length);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void DownloadComplete(Variant[] args) {
|
public void DownloadComplete(Variant[] args) {
|
||||||
System.out.println("IEEvents: DownloadComplete");
|
System.out.println("IEEvents Received ("+Thread.currentThread().getName()+"): DownloadComplete "+args.length);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void NavigateComplete2(Variant[] args) {
|
public void NavigateComplete2(Variant[] args) {
|
||||||
System.out.println("IEEvents: NavigateComplete2");
|
System.out.println("IEEvents Received ("+Thread.currentThread().getName()+"): NavigateComplete "+args.length);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void NewWindow2(Variant[] args) {
|
public void NewWindow2(Variant[] args) {
|
||||||
System.out.println("IEEvents: NewWindow2");
|
System.out.println("IEEvents Received ("+Thread.currentThread().getName()+"): NewWindow2 "+args.length);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void OnFullScreen(Variant[] args) {
|
public void OnFullScreen(Variant[] args) {
|
||||||
System.out.println("IEEvents: OnFullScreen");
|
System.out.println("IEEvents Received ("+Thread.currentThread().getName()+"): OnFullScreen "+args.length);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void OnMenuBar(Variant[] args) {
|
public void OnMenuBar(Variant[] args) {
|
||||||
System.out.println("IEEvents: OnMenuBar");
|
System.out.println("IEEvents Received ("+Thread.currentThread().getName()+"): OnMenuBar "+args.length);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void OnQuit(Variant[] args) {
|
public void OnQuit(Variant[] args) {
|
||||||
System.out.println("IEEvents: OnQuit");
|
System.out.println("IEEvents Received ("+Thread.currentThread().getName()+"): OnQuit "+args.length);
|
||||||
IETestThread.quitHandled = true;
|
IETestThread.quitHandled = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void OnStatusBar(Variant[] args) {
|
public void OnStatusBar(Variant[] args) {
|
||||||
System.out.println("IEEvents: OnStatusBar");
|
System.out.println("IEEvents Received ("+Thread.currentThread().getName()+"): OnStatusBar "+args.length);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void OnTheaterMode(Variant[] args) {
|
public void OnTheaterMode(Variant[] args) {
|
||||||
System.out.println("IEEvents: OnTheaterMode");
|
System.out.println("IEEvents Received ("+Thread.currentThread().getName()+"): OnTheaterMode "+args.length);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void OnToolBar(Variant[] args) {
|
public void OnToolBar(Variant[] args) {
|
||||||
System.out.println("IEEvents: OnToolBar");
|
System.out.println("IEEvents Received ("+Thread.currentThread().getName()+"): OnToolBar "+args.length);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void OnVisible(Variant[] args) {
|
public void OnVisible(Variant[] args) {
|
||||||
System.out.println("IEEvents: OnVisible");
|
System.out.println("IEEvents Received ("+Thread.currentThread().getName()+"): OnVisible "+args.length);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ProgressChange(Variant[] args) {
|
public void ProgressChange(Variant[] args) {
|
||||||
System.out.println("IEEvents: ProgressChange");
|
System.out.println("IEEvents Received ("+Thread.currentThread().getName()+"): ProgressChange "+args.length);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void PropertyChange(Variant[] args) {
|
public void PropertyChange(Variant[] args) {
|
||||||
System.out.println("IEEvents: PropertyChange");
|
System.out.println("IEEvents Received ("+Thread.currentThread().getName()+"): PropertyChange "+args.length);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void StatusTextChange(Variant[] args) {
|
public void StatusTextChange(Variant[] args) {
|
||||||
System.out.println("IEEvents: StatusTextChange");
|
System.out.println("IEEvents Received ("+Thread.currentThread().getName()+"): StatusTextChange "+args.length);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void TitleChange(Variant[] args) {
|
public void TitleChange(Variant[] args) {
|
||||||
System.out.println("IEEvents: TitleChange");
|
System.out.println("IEEvents Received ("+Thread.currentThread().getName()+"): TitleChange "+args.length);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user