gecko-dev/java/plugins/jni/PlugletOutputStream.cpp
idk%eng.sun.com 7599ee2943 Added logging to pluglet module
a = laa@sparc.spb.su
r = idk@eng.sun.com

Added workaround for 24194
a = idk@eng.sun.com
2000-01-18 02:53:58 +00:00

72 lines
1.8 KiB
C++

/*
* 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 mozilla.org code.
*
* The Initial Developer of the Original Code is Sun Microsystems,
* Inc. Portions created by Sun are
* Copyright (C) 1999 Sun Microsystems, Inc. All
* Rights Reserved.
*
* Contributor(s):
*/
#include "PlugletOutputStream.h"
#include "PlugletLog.h"
jclass PlugletOutputStream::clazz = NULL;
jmethodID PlugletOutputStream::initMID = NULL;
void PlugletOutputStream::Initialize(JNIEnv *env) {
PR_LOG(PlugletLog::log, PR_LOG_DEBUG,
("PlugletOutputStream.Initialize\n"));
clazz = env->FindClass("org/mozilla/pluglet/mozilla/PlugletOutputStream");
if (!clazz) {
env->ExceptionDescribe();
return;
}
clazz = (jclass) env->NewGlobalRef(clazz);
initMID = env->GetMethodID(clazz,"<init>","(J)V");
if (!initMID) {
env->ExceptionDescribe();
clazz = NULL;
return;
}
}
void PlugletOutputStream::Destroy(JNIEnv *env) {
PR_LOG(PlugletLog::log, PR_LOG_DEBUG,
("PlugletOutputStream.Destroy\n"));
//nb who gonna cal it?
if(clazz) {
env->DeleteGlobalRef(clazz);
}
}
jobject PlugletOutputStream::GetJObject(JNIEnv *env, const nsIOutputStream *stream) {
jobject res = NULL;
if(!clazz) {
Initialize(env);
if (! clazz) {
return NULL;
}
}
res = env->NewObject(clazz,initMID,(jlong)stream);
if (!res) {
env->ExceptionDescribe();
}
return res;
}