From eb7b26af09df66f30ba50058e9e4a583028cd81a Mon Sep 17 00:00:00 2001 From: Krzysztof Kosi??ski Date: Tue, 23 Jul 2013 12:54:01 +0200 Subject: Remove the disabled script dialog and the nonfunctional Java binding (bzr r12428) --- src/bind/dobinding.cpp | 251 ------------------------------------------------- 1 file changed, 251 deletions(-) delete mode 100644 src/bind/dobinding.cpp (limited to 'src/bind/dobinding.cpp') diff --git a/src/bind/dobinding.cpp b/src/bind/dobinding.cpp deleted file mode 100644 index 03b16a9dd..000000000 --- a/src/bind/dobinding.cpp +++ /dev/null @@ -1,251 +0,0 @@ -/* - * This is a simple mechanism to bind Inkscape to Java, and thence - * to all of the nice things that can be layered upon that. - * - * Authors: - * Bob Jamison - * - * Copyright (C) 2007-2008 Bob Jamison - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ - - -#include -#include -#include -#include -#include - -#ifdef __WIN32__ -#include -#else -#include -#include -#endif - -#include "javabind.h" -#include "javabind-private.h" - -#include -#include - -namespace Inkscape -{ -namespace Bind -{ - -using namespace org::w3c::dom; - -/** - * This file has the actual C++ --> Java bindings - * This file can get quite large! - */ - -/** - * This struct associates a class name with its native - * bindings. Since C++ does not allow "flexible" arrays, - * we will separate each of the tables into a JNINativeMethod - * array, and a class with a name and a pointer to that array. - */ -typedef struct -{ - const char *className; - JNINativeMethod *methods; -} NativeClass; - -/** - * Although I dislike macros, this one seems reasonable - */ -#define EXCEPTION (getExceptionString(env).c_str()) - -//######################################################################## -//# BASE OBJECT -//######################################################################## - -static jmethodID _getPointer_id = NULL; - -static jlong getPointer(JNIEnv *env, jobject obj) -{ - if (!_getPointer_id) - { - _getPointer_id = env->GetMethodID(env->GetObjectClass(obj), "getPointer", "()J"); - if (!_getPointer_id) - { - err("getPointer(): %s", EXCEPTION); - return 0; - } - } - jlong val = env->CallLongMethod(obj, _getPointer_id); - return val; -} - - -static jmethodID _setPointer_id = NULL; - -static void setPointer(JNIEnv *env, jobject obj, jlong val) -{ - if (!_setPointer_id) - { - _setPointer_id = env->GetMethodID(env->GetObjectClass(obj), "setPointer", "(J)V"); - if (!_setPointer_id) - { - err("setPointer(): %s", EXCEPTION); - return; - } - } - env->CallVoidMethod(obj, _setPointer_id, val); -} - - -static void JNICALL BaseObject_construct (JNIEnv *env, jobject obj) -{ - setPointer(env, obj, 0L); -} - -static void JNICALL BaseObject_destruct (JNIEnv *env, jobject obj) -{ - BaseObject *ptr = reinterpret_cast(getPointer(env, obj)); - if (ptr) - { - delete ptr; - } - setPointer(env, obj, 0L); -} - - -static JNINativeMethod nm_BaseObject[] = -{ -{ (char *)"construct", (char *)"()V", (void *)BaseObject_construct }, -{ (char *)"destruct", (char *)"()V", (void *)BaseObject_destruct }, -{ NULL, NULL, NULL } -}; - -static NativeClass nc_BaseObject = -{ - "org/inkscape/cmn/BaseObject", - nm_BaseObject -}; - -//######################################################################## -//# BASE OBJECT -//######################################################################## - -static void JNICALL DOMBase_construct - (JNIEnv *env, jobject obj) -{ - setPointer(env, obj, 0L); -} - -static void JNICALL DOMBase_destruct - (JNIEnv *env, jobject obj) -{ - NodePtr *ptr = reinterpret_cast(getPointer(env, obj)); - if (ptr) - { - delete ptr; - } - setPointer(env, obj, 0L); -} - - -static JNINativeMethod nm_DOMBase[] = -{ -{ (char *)"construct", (char *)"()V", (void *)DOMBase_construct }, -{ (char *)"destruct", (char *)"()V", (void *)DOMBase_destruct }, -{ NULL, NULL, NULL } -}; - -static NativeClass nc_DOMBase = -{ - "org/inkscape/dom/DOMBase", - nm_DOMBase -}; - - -//######################################################################## -//# DOMImplementation -//######################################################################## - - -static void JNICALL DOMImplementation_nCreateDocument - (JNIEnv *env, jobject obj) -{ - DOMImplementationImpl domImpl; - DocumentTypePtr docType = domImpl.createDocumentType("", "", ""); - DocumentPtr doc = domImpl.createDocument("", "", docType); - DocumentPtr *ptr = new DocumentPtr(doc); - setPointer(env, obj, (jlong)ptr); -} - - - -static JNINativeMethod nm_DOMImplementation[] = -{ -{ (char *)"construct", (char *)"()V", (void *)DOMImplementation_nCreateDocument }, -{ NULL, NULL, NULL } -}; - -static NativeClass nc_DOMImplementation = -{ - "org/inkscape/dom/DOMImplementation", - nm_DOMImplementation -}; - - - -//######################################################################## -//# MAIN -//######################################################################## - - -/** - * This is a table-of-tables, matching a class name to its - * table of native methods. We can probably think of a cleaner way - * of doing this - */ -static NativeClass *allClasses[] = -{ - &nc_BaseObject, - &nc_DOMBase, - &nc_DOMImplementation, - NULL -}; - - - -bool JavaBinderyImpl::doBinding() -{ - for (NativeClass **nc = allClasses ; *nc ; nc++) - { - bool ret = registerNatives((*nc)->className, (*nc)->methods); - if (!ret) - { - err("Could not bind native methods"); - return false; - } - } - return true; -} - - - - -} // namespace Bind -} // namespace Inkscape - -//######################################################################## -//# E N D O F F I L E -//######################################################################## -- cgit v1.2.3