Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTomasz Zarna2008-04-22 10:04:18 +0000
committerTomasz Zarna2008-04-22 10:04:18 +0000
commit5775f019803335dfb4c469cc876da2d43ea3f525 (patch)
tree3273d101eea9e54ff363d5946aadb1f373aacebc /bundles/org.eclipse.core.net/natives/unix
parent3a7288cf8b9b3f28b885bfe08c6fb1ed6eb0909d (diff)
downloadeclipse.platform.team-5775f019803335dfb4c469cc876da2d43ea3f525.tar.gz
eclipse.platform.team-5775f019803335dfb4c469cc876da2d43ea3f525.tar.xz
eclipse.platform.team-5775f019803335dfb4c469cc876da2d43ea3f525.zip
bug 226462: [Proxy] Use system values for proxy settings on Linux (Initial patch for org.eclipse.core.net)
Diffstat (limited to 'bundles/org.eclipse.core.net/natives/unix')
-rw-r--r--bundles/org.eclipse.core.net/natives/unix/Debug/getsystemproxy.d226
-rw-r--r--bundles/org.eclipse.core.net/natives/unix/Debug/makefile43
-rw-r--r--bundles/org.eclipse.core.net/natives/unix/Debug/objects.mk7
-rw-r--r--bundles/org.eclipse.core.net/natives/unix/Debug/sources.mk17
-rw-r--r--bundles/org.eclipse.core.net/natives/unix/Debug/subdir.mk24
-rw-r--r--bundles/org.eclipse.core.net/natives/unix/getsystemproxy.c237
6 files changed, 554 insertions, 0 deletions
diff --git a/bundles/org.eclipse.core.net/natives/unix/Debug/getsystemproxy.d b/bundles/org.eclipse.core.net/natives/unix/Debug/getsystemproxy.d
new file mode 100644
index 000000000..54ffd65ec
--- /dev/null
+++ b/bundles/org.eclipse.core.net/natives/unix/Debug/getsystemproxy.d
@@ -0,0 +1,226 @@
+getsystemproxy.d getsystemproxy.o: ../getsystemproxy.c \
+ /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \
+ /usr/include/glib-2.0/glib/gtypes.h \
+ /usr/lib/glib-2.0/include/glibconfig.h \
+ /usr/include/glib-2.0/glib/gmacros.h \
+ /usr/include/glib-2.0/glib/garray.h \
+ /usr/include/glib-2.0/glib/gasyncqueue.h \
+ /usr/include/glib-2.0/glib/gthread.h \
+ /usr/include/glib-2.0/glib/gerror.h /usr/include/glib-2.0/glib/gquark.h \
+ /usr/include/glib-2.0/glib/gutils.h \
+ /usr/include/glib-2.0/glib/gatomic.h \
+ /usr/include/glib-2.0/glib/gbacktrace.h \
+ /usr/include/glib-2.0/glib/gbase64.h \
+ /usr/include/glib-2.0/glib/gbookmarkfile.h \
+ /usr/include/glib-2.0/glib/gcache.h /usr/include/glib-2.0/glib/glist.h \
+ /usr/include/glib-2.0/glib/gmem.h /usr/include/glib-2.0/glib/gslice.h \
+ /usr/include/glib-2.0/glib/gcompletion.h \
+ /usr/include/glib-2.0/glib/gconvert.h \
+ /usr/include/glib-2.0/glib/gdataset.h \
+ /usr/include/glib-2.0/glib/gdate.h /usr/include/glib-2.0/glib/gdir.h \
+ /usr/include/glib-2.0/glib/gfileutils.h \
+ /usr/include/glib-2.0/glib/ghash.h /usr/include/glib-2.0/glib/ghook.h \
+ /usr/include/glib-2.0/glib/giochannel.h \
+ /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gslist.h \
+ /usr/include/glib-2.0/glib/gstring.h \
+ /usr/include/glib-2.0/glib/gunicode.h \
+ /usr/include/glib-2.0/glib/gkeyfile.h \
+ /usr/include/glib-2.0/glib/gmappedfile.h \
+ /usr/include/glib-2.0/glib/gmarkup.h \
+ /usr/include/glib-2.0/glib/gmessages.h \
+ /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/goption.h \
+ /usr/include/glib-2.0/glib/gpattern.h \
+ /usr/include/glib-2.0/glib/gprimes.h \
+ /usr/include/glib-2.0/glib/gqsort.h /usr/include/glib-2.0/glib/gqueue.h \
+ /usr/include/glib-2.0/glib/grand.h /usr/include/glib-2.0/glib/grel.h \
+ /usr/include/glib-2.0/glib/gregex.h \
+ /usr/include/glib-2.0/glib/gscanner.h \
+ /usr/include/glib-2.0/glib/gsequence.h \
+ /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gspawn.h \
+ /usr/include/glib-2.0/glib/gstrfuncs.h \
+ /usr/include/glib-2.0/glib/gthreadpool.h \
+ /usr/include/glib-2.0/glib/gtimer.h /usr/include/glib-2.0/glib/gtree.h \
+ /usr/include/gconf/2/gconf/gconf-value.h \
+ /usr/include/gconf/2/gconf/gconf-error.h \
+ /usr/include/gconf/2/gconf/gconf-client.h \
+ /usr/include/glib-2.0/glib-object.h \
+ /usr/include/glib-2.0/gobject/gboxed.h \
+ /usr/include/glib-2.0/gobject/gtype.h \
+ /usr/include/glib-2.0/gobject/genums.h \
+ /usr/include/glib-2.0/gobject/gobject.h \
+ /usr/include/glib-2.0/gobject/gvalue.h \
+ /usr/include/glib-2.0/gobject/gparam.h \
+ /usr/include/glib-2.0/gobject/gclosure.h \
+ /usr/include/glib-2.0/gobject/gsignal.h \
+ /usr/include/glib-2.0/gobject/gmarshal.h \
+ /usr/include/glib-2.0/gobject/gparamspecs.h \
+ /usr/include/glib-2.0/gobject/gsourceclosure.h \
+ /usr/include/glib-2.0/gobject/gtypemodule.h \
+ /usr/include/glib-2.0/gobject/gtypeplugin.h \
+ /usr/include/glib-2.0/gobject/gvaluearray.h \
+ /usr/include/glib-2.0/gobject/gvaluetypes.h \
+ /usr/include/gconf/2/gconf/gconf.h \
+ /usr/include/gconf/2/gconf/gconf-schema.h \
+ /usr/include/gconf/2/gconf/gconf-engine.h \
+ /usr/include/gconf/2/gconf/gconf-error.h \
+ /usr/include/gconf/2/gconf/gconf-enum-types.h \
+ /usr/include/gconf/2/gconf/gconf-listeners.h \
+ /usr/include/gconf/2/gconf/gconf-changeset.h
+
+/usr/include/glib-2.0/glib.h:
+
+/usr/include/glib-2.0/glib/galloca.h:
+
+/usr/include/glib-2.0/glib/gtypes.h:
+
+/usr/lib/glib-2.0/include/glibconfig.h:
+
+/usr/include/glib-2.0/glib/gmacros.h:
+
+/usr/include/glib-2.0/glib/garray.h:
+
+/usr/include/glib-2.0/glib/gasyncqueue.h:
+
+/usr/include/glib-2.0/glib/gthread.h:
+
+/usr/include/glib-2.0/glib/gerror.h:
+
+/usr/include/glib-2.0/glib/gquark.h:
+
+/usr/include/glib-2.0/glib/gutils.h:
+
+/usr/include/glib-2.0/glib/gatomic.h:
+
+/usr/include/glib-2.0/glib/gbacktrace.h:
+
+/usr/include/glib-2.0/glib/gbase64.h:
+
+/usr/include/glib-2.0/glib/gbookmarkfile.h:
+
+/usr/include/glib-2.0/glib/gcache.h:
+
+/usr/include/glib-2.0/glib/glist.h:
+
+/usr/include/glib-2.0/glib/gmem.h:
+
+/usr/include/glib-2.0/glib/gslice.h:
+
+/usr/include/glib-2.0/glib/gcompletion.h:
+
+/usr/include/glib-2.0/glib/gconvert.h:
+
+/usr/include/glib-2.0/glib/gdataset.h:
+
+/usr/include/glib-2.0/glib/gdate.h:
+
+/usr/include/glib-2.0/glib/gdir.h:
+
+/usr/include/glib-2.0/glib/gfileutils.h:
+
+/usr/include/glib-2.0/glib/ghash.h:
+
+/usr/include/glib-2.0/glib/ghook.h:
+
+/usr/include/glib-2.0/glib/giochannel.h:
+
+/usr/include/glib-2.0/glib/gmain.h:
+
+/usr/include/glib-2.0/glib/gslist.h:
+
+/usr/include/glib-2.0/glib/gstring.h:
+
+/usr/include/glib-2.0/glib/gunicode.h:
+
+/usr/include/glib-2.0/glib/gkeyfile.h:
+
+/usr/include/glib-2.0/glib/gmappedfile.h:
+
+/usr/include/glib-2.0/glib/gmarkup.h:
+
+/usr/include/glib-2.0/glib/gmessages.h:
+
+/usr/include/glib-2.0/glib/gnode.h:
+
+/usr/include/glib-2.0/glib/goption.h:
+
+/usr/include/glib-2.0/glib/gpattern.h:
+
+/usr/include/glib-2.0/glib/gprimes.h:
+
+/usr/include/glib-2.0/glib/gqsort.h:
+
+/usr/include/glib-2.0/glib/gqueue.h:
+
+/usr/include/glib-2.0/glib/grand.h:
+
+/usr/include/glib-2.0/glib/grel.h:
+
+/usr/include/glib-2.0/glib/gregex.h:
+
+/usr/include/glib-2.0/glib/gscanner.h:
+
+/usr/include/glib-2.0/glib/gsequence.h:
+
+/usr/include/glib-2.0/glib/gshell.h:
+
+/usr/include/glib-2.0/glib/gspawn.h:
+
+/usr/include/glib-2.0/glib/gstrfuncs.h:
+
+/usr/include/glib-2.0/glib/gthreadpool.h:
+
+/usr/include/glib-2.0/glib/gtimer.h:
+
+/usr/include/glib-2.0/glib/gtree.h:
+
+/usr/include/gconf/2/gconf/gconf-value.h:
+
+/usr/include/gconf/2/gconf/gconf-error.h:
+
+/usr/include/gconf/2/gconf/gconf-client.h:
+
+/usr/include/glib-2.0/glib-object.h:
+
+/usr/include/glib-2.0/gobject/gboxed.h:
+
+/usr/include/glib-2.0/gobject/gtype.h:
+
+/usr/include/glib-2.0/gobject/genums.h:
+
+/usr/include/glib-2.0/gobject/gobject.h:
+
+/usr/include/glib-2.0/gobject/gvalue.h:
+
+/usr/include/glib-2.0/gobject/gparam.h:
+
+/usr/include/glib-2.0/gobject/gclosure.h:
+
+/usr/include/glib-2.0/gobject/gsignal.h:
+
+/usr/include/glib-2.0/gobject/gmarshal.h:
+
+/usr/include/glib-2.0/gobject/gparamspecs.h:
+
+/usr/include/glib-2.0/gobject/gsourceclosure.h:
+
+/usr/include/glib-2.0/gobject/gtypemodule.h:
+
+/usr/include/glib-2.0/gobject/gtypeplugin.h:
+
+/usr/include/glib-2.0/gobject/gvaluearray.h:
+
+/usr/include/glib-2.0/gobject/gvaluetypes.h:
+
+/usr/include/gconf/2/gconf/gconf.h:
+
+/usr/include/gconf/2/gconf/gconf-schema.h:
+
+/usr/include/gconf/2/gconf/gconf-engine.h:
+
+/usr/include/gconf/2/gconf/gconf-error.h:
+
+/usr/include/gconf/2/gconf/gconf-enum-types.h:
+
+/usr/include/gconf/2/gconf/gconf-listeners.h:
+
+/usr/include/gconf/2/gconf/gconf-changeset.h:
diff --git a/bundles/org.eclipse.core.net/natives/unix/Debug/makefile b/bundles/org.eclipse.core.net/natives/unix/Debug/makefile
new file mode 100644
index 000000000..c102989ca
--- /dev/null
+++ b/bundles/org.eclipse.core.net/natives/unix/Debug/makefile
@@ -0,0 +1,43 @@
+################################################################################
+# Automatically-generated file. Do not edit!
+################################################################################
+
+-include ../makefile.init
+
+RM := rm -rf
+
+# All of the sources participating in the build are defined here
+-include sources.mk
+-include subdir.mk
+-include objects.mk
+
+ifneq ($(MAKECMDGOALS),clean)
+ifneq ($(strip $(C_DEPS)),)
+-include $(C_DEPS)
+endif
+endif
+
+-include ../makefile.defs
+
+# Add inputs and outputs from these tool invocations to the build variables
+
+# All Target
+all: libproxysupport.so
+
+# Tool invocations
+libproxysupport.so: $(OBJS) $(USER_OBJS)
+ @echo 'Building target: $@'
+ @echo 'Invoking: GCC C Linker'
+ gcc -m32 -shared -o"libproxysupport.so" $(OBJS) $(USER_OBJS) $(LIBS)
+ @echo 'Finished building target: $@'
+ @echo ' '
+
+# Other Targets
+clean:
+ -$(RM) $(OBJS)$(C_DEPS)$(LIBRARIES) libproxysupport.so
+ -@echo ' '
+
+.PHONY: all clean dependents
+.SECONDARY:
+
+-include ../makefile.targets
diff --git a/bundles/org.eclipse.core.net/natives/unix/Debug/objects.mk b/bundles/org.eclipse.core.net/natives/unix/Debug/objects.mk
new file mode 100644
index 000000000..a9828db0f
--- /dev/null
+++ b/bundles/org.eclipse.core.net/natives/unix/Debug/objects.mk
@@ -0,0 +1,7 @@
+################################################################################
+# Automatically-generated file. Do not edit!
+################################################################################
+
+USER_OBJS :=
+
+LIBS := -lgconf-2 -lORBit-2 -lgthread-2.0 -lrt -lgobject-2.0 -lglib-2.0
diff --git a/bundles/org.eclipse.core.net/natives/unix/Debug/sources.mk b/bundles/org.eclipse.core.net/natives/unix/Debug/sources.mk
new file mode 100644
index 000000000..2b71575c4
--- /dev/null
+++ b/bundles/org.eclipse.core.net/natives/unix/Debug/sources.mk
@@ -0,0 +1,17 @@
+################################################################################
+# Automatically-generated file. Do not edit!
+################################################################################
+
+O_SRCS :=
+C_SRCS :=
+S_SRCS :=
+OBJ_SRCS :=
+ASM_SRCS :=
+OBJS :=
+C_DEPS :=
+LIBRARIES :=
+
+# Every subdirectory with source files must be described here
+SUBDIRS := \
+. \
+
diff --git a/bundles/org.eclipse.core.net/natives/unix/Debug/subdir.mk b/bundles/org.eclipse.core.net/natives/unix/Debug/subdir.mk
new file mode 100644
index 000000000..404df796e
--- /dev/null
+++ b/bundles/org.eclipse.core.net/natives/unix/Debug/subdir.mk
@@ -0,0 +1,24 @@
+################################################################################
+# Automatically-generated file. Do not edit!
+################################################################################
+
+# Add inputs and outputs from these tool invocations to the build variables
+C_SRCS += \
+../getsystemproxy.c
+
+OBJS += \
+./getsystemproxy.o
+
+C_DEPS += \
+./getsystemproxy.d
+
+
+# Each subdirectory must supply rules for building sources it contributes
+%.o: ../%.c
+ @echo 'Building file: $<'
+ @echo 'Invoking: GCC C Compiler'
+ gcc -I/usr/include/gconf/2 -I/usr/include/orbit-2.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include/ -O0 -fPIC -g3 -Wall -c -fmessage-length=0 -m32 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o"$@" "$<"
+ @echo 'Finished building: $<'
+ @echo ' '
+
+
diff --git a/bundles/org.eclipse.core.net/natives/unix/getsystemproxy.c b/bundles/org.eclipse.core.net/natives/unix/getsystemproxy.c
new file mode 100644
index 000000000..069c3e19f
--- /dev/null
+++ b/bundles/org.eclipse.core.net/natives/unix/getsystemproxy.c
@@ -0,0 +1,237 @@
+/*
+ * Copyright 2008 Oakland Software Incorporated and others
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Oakland Software Incorporated - initial API and implementation
+ */
+
+#include <jni.h>
+
+#include <glib.h>
+#include <glib/gslist.h>
+#include <gconf/gconf-value.h>
+#include <gconf/gconf-client.h>
+
+#ifdef __linux__
+#include <string.h>
+#else
+#include <strings.h>
+#endif
+
+static GConfClient *client= NULL;
+
+static jclass proxyInfoClass;
+static jclass stringClass;
+static jmethodID proxyInfoConstructor;
+static jmethodID toString;
+
+static jmethodID hostMethod;
+static jmethodID portMethod;
+static jmethodID requiresAuthenticationMethod;
+static jmethodID userMethod;
+static jmethodID passwordMethod;
+
+#define CHECK_NULL(X) { if ((X) == NULL) fprintf (stderr,"JNI error at line %d\n", __LINE__); }
+
+static void gconfInit(JNIEnv *env) {
+ client = gconf_client_get_default();
+ jclass cls= NULL;
+ CHECK_NULL(cls = (*env)->FindClass(env, "org/eclipse/core/internal/net/ProxyData"));
+ proxyInfoClass = (*env)->NewGlobalRef(env, cls);
+
+ CHECK_NULL(cls = (*env)->FindClass(env, "java/lang/String"));
+ stringClass = (*env)->NewGlobalRef(env, cls);
+
+ CHECK_NULL(proxyInfoConstructor = (*env)->GetMethodID(env, proxyInfoClass, "<init>", "(Ljava/lang/String;)V"));
+
+ CHECK_NULL(toString = (*env)->GetMethodID(env, proxyInfoClass, "toString", "()Ljava/lang/String;"));
+
+ CHECK_NULL(hostMethod = (*env)->GetMethodID(env, proxyInfoClass, "setHost",
+ "(Ljava/lang/String;)V"));
+ CHECK_NULL(portMethod = (*env)->GetMethodID(env, proxyInfoClass, "setPort",
+ "(I)V"));
+ CHECK_NULL(requiresAuthenticationMethod= (*env)->GetMethodID(env, proxyInfoClass, "setRequiresAuthentication",
+ "(Z)V"));
+ CHECK_NULL(userMethod = (*env)->GetMethodID(env, proxyInfoClass, "setUserid",
+ "(Ljava/lang/String;)V"));
+ CHECK_NULL(passwordMethod = (*env)->GetMethodID(env, proxyInfoClass, "setPassword",
+ "(Ljava/lang/String;)V"));
+}
+
+/*
+ * Class: org_eclipse_core_internal_net_UnixProxyProvider
+ * Method: getGConfProxyInfo
+ * Signature: ([Ljava/lang/String);
+ */
+JNIEXPORT jobject JNICALL Java_org_eclipse_core_internal_net_UnixProxyProvider_getGConfProxyInfo(
+ JNIEnv *env, jclass clazz, jstring protocol) {
+
+ jboolean isCopy;
+ const char *cprotocol;
+
+ jobject proxyInfo= NULL;
+
+ if (client == NULL) {
+ gconfInit(env);
+ }
+
+ CHECK_NULL(proxyInfo = (*env)->NewObject(env, proxyInfoClass, proxyInfoConstructor, protocol));
+
+ cprotocol = (*env)->GetStringUTFChars(env, protocol, &isCopy);
+ if (cprotocol == NULL)
+ return NULL;
+
+ //printf("cprotocol: %s\n", cprotocol);
+
+ if (strcasecmp(cprotocol, "http") == 0) {
+ gboolean useProxy = gconf_client_get_bool(client,
+ "/system/http_proxy/use_http_proxy", NULL);
+ if (!useProxy) {
+ proxyInfo = NULL;
+ goto exit;
+ }
+
+ gchar *host = gconf_client_get_string(client,
+ "/system/http_proxy/host", NULL);
+ jobject jhost = (*env)->NewStringUTF(env, host);
+ (*env)->CallVoidMethod(env, proxyInfo, hostMethod, jhost);
+
+ gint port = gconf_client_get_int(client, "/system/http_proxy/port",
+ NULL);
+ (*env)->CallVoidMethod(env, proxyInfo, portMethod, port);
+
+ gboolean reqAuth = gconf_client_get_bool(client,
+ "/system/http_proxy/use_authentication", NULL);
+ (*env)->CallVoidMethod(env, proxyInfo,
+ requiresAuthenticationMethod, reqAuth);
+ if (reqAuth) {
+
+ gchar *user = gconf_client_get_string(client,
+ "/system/http_proxy/authentication_user", NULL);
+ jobject juser = (*env)->NewStringUTF(env, user);
+ (*env)->CallVoidMethod(env, proxyInfo, userMethod, juser);
+
+ gchar *password = gconf_client_get_string(client,
+ "/system/http_proxy/authentication_password", NULL);
+ jobject jpassword = (*env)->NewStringUTF(env, password);
+ (*env)->CallVoidMethod(env, proxyInfo, passwordMethod,
+ jpassword);
+ }
+ goto exit;
+ }
+
+ // Everything else applies only if the system proxy mode is manual
+ gchar *mode = gconf_client_get_string(client, "/system/proxy/mode", NULL);
+ if (strcasecmp(mode, "manual") != 0) {
+ proxyInfo = NULL;
+ goto exit;
+ }
+
+ char selector[100];
+
+ if (strcasecmp(cprotocol, "https") == 0) {
+ strcpy(selector, "/system/proxy/secure_");
+ } else if (strcasecmp(cprotocol, "socks") == 0) {
+ strcpy(selector, "/system/proxy/socks_");
+ } else if (strcasecmp(cprotocol, "ftp") == 0) {
+ strcpy(selector, "/system/proxy/ftp_");
+ } else {
+ proxyInfo = NULL;
+ goto exit;
+ }
+
+ char useSelector[100];
+ strcpy(useSelector, selector);
+
+ gchar *host = gconf_client_get_string(client, strcat(useSelector, "host"),
+ NULL);
+ jobject jhost = (*env)->NewStringUTF(env, host);
+ (*env)->CallVoidMethod(env, proxyInfo, hostMethod, jhost);
+
+ strcpy(useSelector, selector);
+ gint port = gconf_client_get_int(client, strcat(useSelector, "port"), NULL);
+ (*env)->CallVoidMethod(env, proxyInfo, portMethod, port);
+
+ exit: if (isCopy == JNI_TRUE)
+ (*env)->ReleaseStringUTFChars(env, protocol, cprotocol);
+ return proxyInfo;
+}
+
+typedef struct {
+ jobjectArray npHostArray;
+ JNIEnv *env;
+ int index;
+} ListProcContext;
+
+// user_data is the ListProcContext
+void listProc(gpointer data, gpointer user_data) {
+ ListProcContext *lpc = user_data;
+ jobject jnpHost = (*lpc->env)->NewStringUTF(lpc->env, (char *)data);
+ (*lpc->env)->SetObjectArrayElement(lpc->env, lpc->npHostArray,
+ lpc->index++, jnpHost);
+}
+
+/*
+ * Class: org_eclipse_core_internal_net_UnixProxyProvider
+ * Method: getGConfNonProxyHosts
+ * Signature: ()[Ljava/lang/String;
+ */
+JNIEXPORT jobjectArray JNICALL Java_org_eclipse_core_internal_net_UnixProxyProvider_getGConfNonProxyHosts(
+ JNIEnv *env, jclass clazz) {
+
+ if (client == NULL) {
+ gconfInit(env);
+ }
+
+ GSList *npHosts;
+ int size;
+
+ npHosts = gconf_client_get_list(client, "/system/http_proxy/ignore_hosts",
+ GCONF_VALUE_STRING, NULL);
+ size = g_slist_length(npHosts);
+
+ // TODO - I'm not sure this is really valid, it's from the JVM implementation
+ // of ProxySelector
+ if (size == 0) {
+ npHosts = gconf_client_get_list(client, "/system/proxy/no_proxy_for",
+ GCONF_VALUE_STRING, NULL);
+ }
+ size = g_slist_length(npHosts);
+
+ jobjectArray ret = (*env)->NewObjectArray(env, size, stringClass, NULL);
+
+ ListProcContext lpc;
+ lpc.env = env;
+ lpc.npHostArray = ret;
+ lpc.index = 0;
+
+ g_slist_foreach(npHosts, listProc, &lpc);
+ return ret;
+}
+
+/*
+ * Class: org_eclipse_core_internal_net_UnixProxyProvider
+ * Method: getKdeProxyInfo
+ * Signature: ([Ljava/lang/String);
+ */
+JNIEXPORT jobject JNICALL Java_org_eclipse_core_internal_net_UnixProxyProvider_getKdeProxyInfo(
+ JNIEnv *env, jclass clazz, jstring protocol) {
+ //printf("getKdeProxyInfo - not implemented\n");
+ return NULL;
+}
+
+/*
+ * Class: org_eclipse_core_internal_net_UnixProxyProvider
+ * Method: getKdeNonProxyHosts
+ * Signature: ()Ljava/lang/String;
+ */
+JNIEXPORT jobject JNICALL Java_org_eclipse_core_internal_net_UnixProxyProvider_getKdeNonProxyHosts(
+ JNIEnv *env, jclass clazz) {
+ //printf("getKdeNonProxyHosts - not implemented\n");
+ return NULL;
+}
+

Back to the top