Closed Bug 32011 Opened 25 years ago Closed 6 years ago

Webclient not ready for UNO

Categories

(Core Graveyard :: Java APIs to WebShell, defect, P3)

defect

Tracking

(Not tracked)

RESOLVED WONTFIX

People

(Reporter: edburns, Assigned: edburns)

Details

(Whiteboard: suntrak-n6, oji_working)

Attachments

(3 files)

Webclient isn't ready for being integrated into StarOffice. At first, I thought we'd have to do some complicated #ifdef thing where we would define alternate function declarations for all the JNI functions. Now I see that we can just leave the JNI function declarations as they are and use function pointers to make it easier to call them from UNO. The trick is to replace all callsites where a function is invoked from a JNIEnv pointer with function calls to functions in jni_util.h. The implementations of these functions will use #ifdef logic to do the right thing whether in UNO or JNI contexts. Patch forthcoming.
Of course, webclient.dll will always have to be compiled with jni headers, even when compiling with the UNO style ifdefs. However, when compiling with the UNO style ifdefs, there will be no calls to any JNI functions. Just the type information will be used.
Status: NEW → ASSIGNED
Here's the CVS comment for the patch: This set of changes replaces all occurrences of env->Func(args...) with ::util_Func(env, args...) Except of course, for the implementations of the above mentioned ::util_Func() functions. This is done to allow the JNI functions to be called from a non JNI context, such as UNO.
This change enables the current webclient API to be called from native code. It adds makefile and conditional compilation logic. If the user defines BAL_INTERFACE in their environment before building webclient, -DBAL_INTERFACE is added to LCFLAGS. This causes code in jni_util_export.cpp to behave differently due to the conditional compilation logic. I've broken out the 8 functions that are necessary to call into the Webclient JNI methods into jni_util_export.{h,cpp}. I've created a new pair of files, bal_util.{h,cpp} that contain function declarations and definitions that are used when src_moz is built with BAL_INTERFACE. bal_util.obj is not built, nor added to webclient.dll if building without BAL_INTERFACE. See the page http://www.mozilla.org/projects/blackwood/webclient/design/uno-transition.html for a design document description of these changes.
Hi Ed, I've checked the new patch submitted 03/20/00. It looks good. r=ashuk _Ashu
Thanks Ashu.
Status: ASSIGNED → RESOLVED
Closed: 25 years ago
Resolution: --- → FIXED
More changes will need to be made to webclient as the UNO integration work progresses. Reopening.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Adding Status white board keyword to track all existing Webclient bugs
Whiteboard: suntrak-n6
Whiteboard: suntrak-n6 → suntrak-n6, oji_working
QA Contact: geetha.vaidyanaathan → avm
Product: Core → Core Graveyard
Java APIs to WebShell isn't a thing anymore. Closing.
Status: REOPENED → RESOLVED
Closed: 25 years ago6 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: