gecko-dev/java/dom/jni/org_mozilla_dom_EntityImpl.cpp

129 строки
3.4 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 "prlog.h"
#include "nsIDOMEntity.h"
#include "javaDOMGlobals.h"
#include "org_mozilla_dom_EntityImpl.h"
/*
* Class: org_mozilla_dom_EntityImpl
* Method: getNotationName
* Signature: ()Ljava/lang/String;
*/
First step on allowing JAVADom to run on NativeEventThread. Have no public native methods. Have each formerly public native method now be a package private method with the same name as before, but the string "native" prepended, and the first letter of the old name capitalized. Have a new public method with the same name as the old method with a body that calls through to the corresponding native method, passing args correctly. Next step will be to provide a threading solution from webclient. M dom/classes/org/mozilla/dom/AttrImpl.java M dom/classes/org/mozilla/dom/CharacterDataImpl.java M dom/classes/org/mozilla/dom/DOMAccessor.java M dom/classes/org/mozilla/dom/DOMImplementationImpl.java M dom/classes/org/mozilla/dom/DocumentImpl.java M dom/classes/org/mozilla/dom/DocumentTypeImpl.java M dom/classes/org/mozilla/dom/ElementImpl.java M dom/classes/org/mozilla/dom/EntityImpl.java M dom/classes/org/mozilla/dom/NamedNodeMapImpl.java M dom/classes/org/mozilla/dom/NodeImpl.java M dom/classes/org/mozilla/dom/NodeListImpl.java M dom/classes/org/mozilla/dom/NotationImpl.java M dom/classes/org/mozilla/dom/ProcessingInstructionImpl.java M dom/classes/org/mozilla/dom/events/EventImpl.java M dom/classes/org/mozilla/dom/events/MouseEventImpl.java M dom/classes/org/mozilla/dom/events/UIEventImpl.java M dom/jni/org_mozilla_dom_AttrImpl.cpp M dom/jni/org_mozilla_dom_CharacterDataImpl.cpp M dom/jni/org_mozilla_dom_DOMAccessor.cpp M dom/jni/org_mozilla_dom_DOMImplementationImpl.cpp M dom/jni/org_mozilla_dom_DocumentImpl.cpp M dom/jni/org_mozilla_dom_ElementImpl.cpp M dom/jni/org_mozilla_dom_EntityImpl.cpp M dom/jni/org_mozilla_dom_NamedNodeMapImpl.cpp M dom/jni/org_mozilla_dom_NodeImpl.cpp M dom/jni/org_mozilla_dom_NodeListImpl.cpp M dom/jni/org_mozilla_dom_NotationImpl.cpp M dom/jni/org_mozilla_dom_ProcessingInstructionImpl.cpp M dom/jni/org_mozilla_dom_events_EventImpl.cpp M dom/jni/org_mozilla_dom_events_MouseEventImpl.cpp M dom/jni/org_mozilla_dom_events_UIEventImpl.cpp
2007-03-12 19:13:03 +03:00
JNIEXPORT jstring JNICALL Java_org_mozilla_dom_EntityImpl_nativeGetNotationName
(JNIEnv *env, jobject jthis)
{
nsIDOMEntity* entity = (nsIDOMEntity*)
env->GetLongField(jthis, JavaDOMGlobals::nodePtrFID);
if (!entity) {
PR_LOG(JavaDOMGlobals::log, PR_LOG_WARNING,
("Entity.getNotationName: NULL pointer\n"));
return NULL;
}
nsString ret;
nsresult rv = entity->GetNotationName(ret);
if (NS_FAILED(rv)) {
PR_LOG(JavaDOMGlobals::log, PR_LOG_ERROR,
("Entity.getNotationName: failed (%x)\n", rv));
return NULL;
}
jstring jret = env->NewString((jchar*) ret.get(), ret.Length());
if (!jret) {
PR_LOG(JavaDOMGlobals::log, PR_LOG_ERROR,
1999-09-15 01:25:47 +04:00
("Entity.getNotationName: NewString failed\n"));
return NULL;
}
return jret;
}
/*
* Class: org_mozilla_dom_EntityImpl
* Method: getPublicId
* Signature: ()Ljava/lang/String;
*/
First step on allowing JAVADom to run on NativeEventThread. Have no public native methods. Have each formerly public native method now be a package private method with the same name as before, but the string "native" prepended, and the first letter of the old name capitalized. Have a new public method with the same name as the old method with a body that calls through to the corresponding native method, passing args correctly. Next step will be to provide a threading solution from webclient. M dom/classes/org/mozilla/dom/AttrImpl.java M dom/classes/org/mozilla/dom/CharacterDataImpl.java M dom/classes/org/mozilla/dom/DOMAccessor.java M dom/classes/org/mozilla/dom/DOMImplementationImpl.java M dom/classes/org/mozilla/dom/DocumentImpl.java M dom/classes/org/mozilla/dom/DocumentTypeImpl.java M dom/classes/org/mozilla/dom/ElementImpl.java M dom/classes/org/mozilla/dom/EntityImpl.java M dom/classes/org/mozilla/dom/NamedNodeMapImpl.java M dom/classes/org/mozilla/dom/NodeImpl.java M dom/classes/org/mozilla/dom/NodeListImpl.java M dom/classes/org/mozilla/dom/NotationImpl.java M dom/classes/org/mozilla/dom/ProcessingInstructionImpl.java M dom/classes/org/mozilla/dom/events/EventImpl.java M dom/classes/org/mozilla/dom/events/MouseEventImpl.java M dom/classes/org/mozilla/dom/events/UIEventImpl.java M dom/jni/org_mozilla_dom_AttrImpl.cpp M dom/jni/org_mozilla_dom_CharacterDataImpl.cpp M dom/jni/org_mozilla_dom_DOMAccessor.cpp M dom/jni/org_mozilla_dom_DOMImplementationImpl.cpp M dom/jni/org_mozilla_dom_DocumentImpl.cpp M dom/jni/org_mozilla_dom_ElementImpl.cpp M dom/jni/org_mozilla_dom_EntityImpl.cpp M dom/jni/org_mozilla_dom_NamedNodeMapImpl.cpp M dom/jni/org_mozilla_dom_NodeImpl.cpp M dom/jni/org_mozilla_dom_NodeListImpl.cpp M dom/jni/org_mozilla_dom_NotationImpl.cpp M dom/jni/org_mozilla_dom_ProcessingInstructionImpl.cpp M dom/jni/org_mozilla_dom_events_EventImpl.cpp M dom/jni/org_mozilla_dom_events_MouseEventImpl.cpp M dom/jni/org_mozilla_dom_events_UIEventImpl.cpp
2007-03-12 19:13:03 +03:00
JNIEXPORT jstring JNICALL Java_org_mozilla_dom_EntityImpl_nativeGetPublicId
(JNIEnv *env, jobject jthis)
{
nsIDOMEntity* entity = (nsIDOMEntity*)
env->GetLongField(jthis, JavaDOMGlobals::nodePtrFID);
if (!entity) {
PR_LOG(JavaDOMGlobals::log, PR_LOG_WARNING,
("Entity.getPublicId: NULL pointer\n"));
return NULL;
}
nsString ret;
nsresult rv = entity->GetPublicId(ret);
if (NS_FAILED(rv)) {
PR_LOG(JavaDOMGlobals::log, PR_LOG_ERROR,
("Entity.getPublicId: failed (%x)\n", rv));
return NULL;
}
jstring jret = env->NewString((jchar*) ret.get(), ret.Length());
if (!jret) {
PR_LOG(JavaDOMGlobals::log, PR_LOG_ERROR,
1999-09-15 01:25:47 +04:00
("Entity.getPublicId: NewString failed\n"));
return NULL;
}
return jret;
}
/*
* Class: org_mozilla_dom_EntityImpl
* Method: getSystemId
* Signature: ()Ljava/lang/String;
*/
First step on allowing JAVADom to run on NativeEventThread. Have no public native methods. Have each formerly public native method now be a package private method with the same name as before, but the string "native" prepended, and the first letter of the old name capitalized. Have a new public method with the same name as the old method with a body that calls through to the corresponding native method, passing args correctly. Next step will be to provide a threading solution from webclient. M dom/classes/org/mozilla/dom/AttrImpl.java M dom/classes/org/mozilla/dom/CharacterDataImpl.java M dom/classes/org/mozilla/dom/DOMAccessor.java M dom/classes/org/mozilla/dom/DOMImplementationImpl.java M dom/classes/org/mozilla/dom/DocumentImpl.java M dom/classes/org/mozilla/dom/DocumentTypeImpl.java M dom/classes/org/mozilla/dom/ElementImpl.java M dom/classes/org/mozilla/dom/EntityImpl.java M dom/classes/org/mozilla/dom/NamedNodeMapImpl.java M dom/classes/org/mozilla/dom/NodeImpl.java M dom/classes/org/mozilla/dom/NodeListImpl.java M dom/classes/org/mozilla/dom/NotationImpl.java M dom/classes/org/mozilla/dom/ProcessingInstructionImpl.java M dom/classes/org/mozilla/dom/events/EventImpl.java M dom/classes/org/mozilla/dom/events/MouseEventImpl.java M dom/classes/org/mozilla/dom/events/UIEventImpl.java M dom/jni/org_mozilla_dom_AttrImpl.cpp M dom/jni/org_mozilla_dom_CharacterDataImpl.cpp M dom/jni/org_mozilla_dom_DOMAccessor.cpp M dom/jni/org_mozilla_dom_DOMImplementationImpl.cpp M dom/jni/org_mozilla_dom_DocumentImpl.cpp M dom/jni/org_mozilla_dom_ElementImpl.cpp M dom/jni/org_mozilla_dom_EntityImpl.cpp M dom/jni/org_mozilla_dom_NamedNodeMapImpl.cpp M dom/jni/org_mozilla_dom_NodeImpl.cpp M dom/jni/org_mozilla_dom_NodeListImpl.cpp M dom/jni/org_mozilla_dom_NotationImpl.cpp M dom/jni/org_mozilla_dom_ProcessingInstructionImpl.cpp M dom/jni/org_mozilla_dom_events_EventImpl.cpp M dom/jni/org_mozilla_dom_events_MouseEventImpl.cpp M dom/jni/org_mozilla_dom_events_UIEventImpl.cpp
2007-03-12 19:13:03 +03:00
JNIEXPORT jstring JNICALL Java_org_mozilla_dom_EntityImpl_nativeGetSystemId
(JNIEnv *env, jobject jthis)
{
nsIDOMEntity* entity = (nsIDOMEntity*)
env->GetLongField(jthis, JavaDOMGlobals::nodePtrFID);
if (!entity) {
PR_LOG(JavaDOMGlobals::log, PR_LOG_WARNING,
("Entity.getSystemId: NULL pointer\n"));
return NULL;
}
nsString ret;
nsresult rv = entity->GetSystemId(ret);
if (NS_FAILED(rv)) {
PR_LOG(JavaDOMGlobals::log, PR_LOG_ERROR,
("Entity.getSystemId: failed (%x)\n", rv));
return NULL;
}
jstring jret = env->NewString((jchar*) ret.get(), ret.Length());
if (!jret) {
PR_LOG(JavaDOMGlobals::log, PR_LOG_ERROR,
1999-09-15 01:25:47 +04:00
("Entity.getSystemId: NewString failed\n"));
return NULL;
}
return jret;
}