Mozilla/mozilla/java/webclient/src_moz/motif/MotifBrowserControlCanvasStub.cpp
reed%reedloden.com 7084f5425b Bug 403221 - "Fix typo: |explaination| -> |explanation|" [p=sgautherie.bz@free.fr (Serge Gautherie)]
git-svn-id: svn://10.0.0.236/trunk@239279 18797224-902f-48f8-a5cc-f745e15eee43
2007-11-13 06:51:37 +00:00

165 lines
5.9 KiB
C++

/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape 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/NPL/
*
* 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 mozilla.org code.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*/
/*
* MotifBrowserControlCanvasStub.cpp
*/
// PENDING(mark): I suppose this is where I need to go into my explanation of why
// this file is needed...
#include <jni.h>
#include "MotifBrowserControlCanvas.h"
#include "NativeLoaderStub.h"
#include <dlfcn.h>
extern void locateBrowserControlStubFunctions(void *);
jint (* createTopLevelWindow) (JNIEnv *, jobject);
jint (* createContainerWindow) (JNIEnv *, jobject, jint, jint, jint);
jint (* getGTKWinID) (JNIEnv *, jobject, jint);
void (* reparentWindow) (JNIEnv *, jobject, jint, jint);
void (* processEvents) (JNIEnv *, jobject);
void (* setGTKWindowSize) (JNIEnv *, jobject, jint, jint, jint);
jint (* getHandleToPeer) (JNIEnv *, jobject);
void locateMotifBrowserControlStubFunctions(void * dll) {
createTopLevelWindow = (jint (*) (JNIEnv *, jobject)) dlsym(dll, "Java_org_mozilla_webclient_impl_wrapper_1native_motif_MotifBrowserControlCanvas_createTopLevelWindow");
if (!createTopLevelWindow) {
printf("got dlsym error %s\n", dlerror());
}
getHandleToPeer = (jint (*) (JNIEnv *, jobject)) dlsym(dll, "Java_org_mozilla_webclient_impl_wrapper_1native_motif_MotifBrowserControlCanvas_getHandleToPeer");
if (!getHandleToPeer) {
printf("got dlsym error %s\n", dlerror());
}
createContainerWindow = (jint (*) (JNIEnv *, jobject, jint, jint, jint)) dlsym(dll, "Java_org_mozilla_webclient_impl_wrapper_1native_motif_MotifBrowserControlCanvas_createContainerWindow");
if (!createContainerWindow) {
printf("got dlsym error %s\n", dlerror());
}
reparentWindow = (void (*) (JNIEnv *, jobject, jint, jint)) dlsym(dll, "Java_org_mozilla_webclient_impl_wrapper_1native_motif_MotifBrowserControlCanvas_reparentWindow");
if (!reparentWindow) {
printf("got dlsym error %s\n", dlerror());
}
processEvents = (void (*) (JNIEnv *, jobject)) dlsym(dll, "Java_org_mozilla_webclient_impl_wrapper_1native_motif_MotifBrowserControlCanvas_processEvents");
if (!processEvents) {
printf("got dlsym error %s\n", dlerror());
}
setGTKWindowSize = (void (*) (JNIEnv *, jobject, jint, jint, jint)) dlsym(dll, "Java_org_mozilla_webclient_impl_wrapper_1native_motif_MotifBrowserControlCanvas_setGTKWindowSize");
if (!setGTKWindowSize) {
printf("got dlsym error %s\n", dlerror());
}
getGTKWinID = (jint (*) (JNIEnv *, jobject, jint)) dlsym(dll, "Java_org_mozilla_webclient_impl_wrapper_1native_motif_MotifBrowserControlCanvas_getGTKWinID");
if (!getGTKWinID) {
printf("got dlsym error %s\n", dlerror());
}
}
/*
* Class: org_mozilla_webclient_motif_MotifBrowserControlCanvas
* Method: createTopLevelWindow
* Signature: ()I
*/
JNIEXPORT jint JNICALL Java_org_mozilla_webclient_impl_wrapper_1native_motif_MotifBrowserControlCanvas_createTopLevelWindow (JNIEnv * env, jobject obj) {
return (* createTopLevelWindow) (env, obj);
}
/*
* Class: org_mozilla_webclient_motif_MotifBrowserControlCanvas
* Method: getHandleToPeer
* Signature: ()I
*/
JNIEXPORT jint JNICALL Java_org_mozilla_webclient_impl_wrapper_1native_motif_MotifBrowserControlCanvas_getHandleToPeer (JNIEnv * env, jobject obj) {
return (* getHandleToPeer) (env, obj);
}
/*
* Class: org_mozilla_webclient_motif_MotifBrowserControlCanvas
* Method: createContainerWindow
* Signature: ()I
*/
JNIEXPORT jint JNICALL Java_org_mozilla_webclient_impl_wrapper_1native_motif_MotifBrowserControlCanvas_createContainerWindow (JNIEnv * env, jobject obj, jint parent, jint width, jint height) {
return (* createContainerWindow) (env, obj, parent, width, height);
}
/*
* Class: org_mozilla_webclient_motif_MotifBrowserControlCanvas
* Method: getGTKWinID
* Signature: (I)I
*/
JNIEXPORT jint JNICALL Java_org_mozilla_webclient_impl_wrapper_1native_motif_MotifBrowserControlCanvas_getGTKWinID
(JNIEnv * env, jobject obj, jint gtkWinPtr) {
return (* getGTKWinID) (env, obj, gtkWinPtr);
}
/*
* Class: org_mozilla_webclient_motif_MotifBrowserControlCanvas
* Method: reparentWindow
* Signature: (II)V
*/
JNIEXPORT void JNICALL Java_org_mozilla_webclient_impl_wrapper_1native_motif_MotifBrowserControlCanvas_reparentWindow
(JNIEnv * env, jobject obj, jint childID, jint parentID) {
(* reparentWindow) (env, obj, childID, parentID);
}
/*
* Class: org_mozilla_webclient_motif_MotifBrowserControlCanvas
* Method: processEvents
* Signature: ()V
*/
JNIEXPORT void JNICALL Java_org_mozilla_webclient_impl_wrapper_1native_motif_MotifBrowserControlCanvas_processEvents
(JNIEnv * env, jobject obj) {
(* processEvents) (env, obj);
}
/*
* Class: org_mozilla_webclient_motif_MotifBrowserControlCanvas
* Method: setGTKWindowSize
* Signature: (III)V
*/
JNIEXPORT void JNICALL Java_org_mozilla_webclient_impl_wrapper_1native_motif_MotifBrowserControlCanvas_setGTKWindowSize
(JNIEnv * env, jobject obj, jint xwinID, jint width, jint height) {
(* setGTKWindowSize) (env, obj, xwinID, width, height);
}
/*
* Class: org_mozilla_webclient_motif_MotifBrowserControlCanvas
* Method: loadMainDll
* Signature: ()V
*/
JNIEXPORT void JNICALL Java_org_mozilla_webclient_impl_wrapper_1native_motif_MotifBrowserControlCanvas_loadMainDll
(JNIEnv *, jclass)
{
loadMainDll();
}