mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-05 16:46:26 +00:00
aa3d2d50d7
a=edburns bug=32011 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.
58 lines
1.6 KiB
C++
58 lines
1.6 KiB
C++
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
|
|
*
|
|
* The contents of this file are subject to the Mozilla Public
|
|
* License Version 1.1 (the "License"); you may not use this file
|
|
* except in compliance with the License. You may obtain a copy of
|
|
* the License at http://www.mozilla.org/MPL/
|
|
*
|
|
* Software distributed under the License is distributed on an "AS
|
|
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
|
|
* implied. See the License for the specific language governing
|
|
* rights and limitations under the License.
|
|
*
|
|
* The Original Code is RaptorCanvas.
|
|
*
|
|
* The Initial Developer of the Original Code is Kirk Baker and
|
|
* Ian Wilkinson. Portions created by Kirk Baker and Ian Wilkinson are
|
|
* Copyright (C) 1999 Kirk Baker and Ian Wilkinson. All
|
|
* Rights Reserved.
|
|
*
|
|
* Contributor(s): Ed Burns <edburns@acm.org>
|
|
*
|
|
*/
|
|
|
|
|
|
#include <stdio.h>
|
|
|
|
#include "WrapperFactoryImpl.h"
|
|
|
|
#include "jni_util_export.h"
|
|
|
|
int main(int argc, char **argv)
|
|
{
|
|
jstring result = NULL;
|
|
jboolean doesImplement;
|
|
|
|
if (2 > argc) {
|
|
printf("usage: bal_test <absolute path to mozilla bin dir>\n");
|
|
return -1;
|
|
}
|
|
|
|
result = util_NewStringUTF(NULL, argv[1]);
|
|
|
|
Java_org_mozilla_webclient_wrapper_1native_WrapperFactoryImpl_nativeAppInitialize(NULL, NULL, result);
|
|
|
|
util_DeleteStringUTF(NULL, result);
|
|
|
|
result = util_NewStringUTF(NULL, "webclient.WindowControl");
|
|
|
|
doesImplement =
|
|
Java_org_mozilla_webclient_wrapper_1native_WrapperFactoryImpl_nativeDoesImplement(NULL, NULL, result);
|
|
|
|
printf("doesImplement: %d\n", doesImplement);
|
|
|
|
util_DeleteStringUTF(NULL, result);
|
|
|
|
return 0;
|
|
}
|