Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
View | Details | Raw Unified | Return to bug 226462 | Differences between
and this patch

Collapse All | Expand All

(-)natives/unix/Debug/sources.mk (+17 lines)
Added Link Here
1
################################################################################
2
# Automatically-generated file. Do not edit!
3
################################################################################
4
5
O_SRCS := 
6
C_SRCS := 
7
S_SRCS := 
8
OBJ_SRCS := 
9
ASM_SRCS := 
10
OBJS := 
11
C_DEPS := 
12
LIBRARIES := 
13
14
# Every subdirectory with source files must be described here
15
SUBDIRS := \
16
. \
17
(-)natives/unix/Debug/getsystemproxy.d (+226 lines)
Added Link Here
1
getsystemproxy.d getsystemproxy.o: ../getsystemproxy.c \
2
  /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \
3
  /usr/include/glib-2.0/glib/gtypes.h \
4
  /usr/lib/glib-2.0/include/glibconfig.h \
5
  /usr/include/glib-2.0/glib/gmacros.h \
6
  /usr/include/glib-2.0/glib/garray.h \
7
  /usr/include/glib-2.0/glib/gasyncqueue.h \
8
  /usr/include/glib-2.0/glib/gthread.h \
9
  /usr/include/glib-2.0/glib/gerror.h /usr/include/glib-2.0/glib/gquark.h \
10
  /usr/include/glib-2.0/glib/gutils.h \
11
  /usr/include/glib-2.0/glib/gatomic.h \
12
  /usr/include/glib-2.0/glib/gbacktrace.h \
13
  /usr/include/glib-2.0/glib/gbase64.h \
14
  /usr/include/glib-2.0/glib/gbookmarkfile.h \
15
  /usr/include/glib-2.0/glib/gcache.h /usr/include/glib-2.0/glib/glist.h \
16
  /usr/include/glib-2.0/glib/gmem.h /usr/include/glib-2.0/glib/gslice.h \
17
  /usr/include/glib-2.0/glib/gcompletion.h \
18
  /usr/include/glib-2.0/glib/gconvert.h \
19
  /usr/include/glib-2.0/glib/gdataset.h \
20
  /usr/include/glib-2.0/glib/gdate.h /usr/include/glib-2.0/glib/gdir.h \
21
  /usr/include/glib-2.0/glib/gfileutils.h \
22
  /usr/include/glib-2.0/glib/ghash.h /usr/include/glib-2.0/glib/ghook.h \
23
  /usr/include/glib-2.0/glib/giochannel.h \
24
  /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gslist.h \
25
  /usr/include/glib-2.0/glib/gstring.h \
26
  /usr/include/glib-2.0/glib/gunicode.h \
27
  /usr/include/glib-2.0/glib/gkeyfile.h \
28
  /usr/include/glib-2.0/glib/gmappedfile.h \
29
  /usr/include/glib-2.0/glib/gmarkup.h \
30
  /usr/include/glib-2.0/glib/gmessages.h \
31
  /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/goption.h \
32
  /usr/include/glib-2.0/glib/gpattern.h \
33
  /usr/include/glib-2.0/glib/gprimes.h \
34
  /usr/include/glib-2.0/glib/gqsort.h /usr/include/glib-2.0/glib/gqueue.h \
35
  /usr/include/glib-2.0/glib/grand.h /usr/include/glib-2.0/glib/grel.h \
36
  /usr/include/glib-2.0/glib/gregex.h \
37
  /usr/include/glib-2.0/glib/gscanner.h \
38
  /usr/include/glib-2.0/glib/gsequence.h \
39
  /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gspawn.h \
40
  /usr/include/glib-2.0/glib/gstrfuncs.h \
41
  /usr/include/glib-2.0/glib/gthreadpool.h \
42
  /usr/include/glib-2.0/glib/gtimer.h /usr/include/glib-2.0/glib/gtree.h \
43
  /usr/include/gconf/2/gconf/gconf-value.h \
44
  /usr/include/gconf/2/gconf/gconf-error.h \
45
  /usr/include/gconf/2/gconf/gconf-client.h \
46
  /usr/include/glib-2.0/glib-object.h \
47
  /usr/include/glib-2.0/gobject/gboxed.h \
48
  /usr/include/glib-2.0/gobject/gtype.h \
49
  /usr/include/glib-2.0/gobject/genums.h \
50
  /usr/include/glib-2.0/gobject/gobject.h \
51
  /usr/include/glib-2.0/gobject/gvalue.h \
52
  /usr/include/glib-2.0/gobject/gparam.h \
53
  /usr/include/glib-2.0/gobject/gclosure.h \
54
  /usr/include/glib-2.0/gobject/gsignal.h \
55
  /usr/include/glib-2.0/gobject/gmarshal.h \
56
  /usr/include/glib-2.0/gobject/gparamspecs.h \
57
  /usr/include/glib-2.0/gobject/gsourceclosure.h \
58
  /usr/include/glib-2.0/gobject/gtypemodule.h \
59
  /usr/include/glib-2.0/gobject/gtypeplugin.h \
60
  /usr/include/glib-2.0/gobject/gvaluearray.h \
61
  /usr/include/glib-2.0/gobject/gvaluetypes.h \
62
  /usr/include/gconf/2/gconf/gconf.h \
63
  /usr/include/gconf/2/gconf/gconf-schema.h \
64
  /usr/include/gconf/2/gconf/gconf-engine.h \
65
  /usr/include/gconf/2/gconf/gconf-error.h \
66
  /usr/include/gconf/2/gconf/gconf-enum-types.h \
67
  /usr/include/gconf/2/gconf/gconf-listeners.h \
68
  /usr/include/gconf/2/gconf/gconf-changeset.h
69
70
/usr/include/glib-2.0/glib.h:
71
72
/usr/include/glib-2.0/glib/galloca.h:
73
74
/usr/include/glib-2.0/glib/gtypes.h:
75
76
/usr/lib/glib-2.0/include/glibconfig.h:
77
78
/usr/include/glib-2.0/glib/gmacros.h:
79
80
/usr/include/glib-2.0/glib/garray.h:
81
82
/usr/include/glib-2.0/glib/gasyncqueue.h:
83
84
/usr/include/glib-2.0/glib/gthread.h:
85
86
/usr/include/glib-2.0/glib/gerror.h:
87
88
/usr/include/glib-2.0/glib/gquark.h:
89
90
/usr/include/glib-2.0/glib/gutils.h:
91
92
/usr/include/glib-2.0/glib/gatomic.h:
93
94
/usr/include/glib-2.0/glib/gbacktrace.h:
95
96
/usr/include/glib-2.0/glib/gbase64.h:
97
98
/usr/include/glib-2.0/glib/gbookmarkfile.h:
99
100
/usr/include/glib-2.0/glib/gcache.h:
101
102
/usr/include/glib-2.0/glib/glist.h:
103
104
/usr/include/glib-2.0/glib/gmem.h:
105
106
/usr/include/glib-2.0/glib/gslice.h:
107
108
/usr/include/glib-2.0/glib/gcompletion.h:
109
110
/usr/include/glib-2.0/glib/gconvert.h:
111
112
/usr/include/glib-2.0/glib/gdataset.h:
113
114
/usr/include/glib-2.0/glib/gdate.h:
115
116
/usr/include/glib-2.0/glib/gdir.h:
117
118
/usr/include/glib-2.0/glib/gfileutils.h:
119
120
/usr/include/glib-2.0/glib/ghash.h:
121
122
/usr/include/glib-2.0/glib/ghook.h:
123
124
/usr/include/glib-2.0/glib/giochannel.h:
125
126
/usr/include/glib-2.0/glib/gmain.h:
127
128
/usr/include/glib-2.0/glib/gslist.h:
129
130
/usr/include/glib-2.0/glib/gstring.h:
131
132
/usr/include/glib-2.0/glib/gunicode.h:
133
134
/usr/include/glib-2.0/glib/gkeyfile.h:
135
136
/usr/include/glib-2.0/glib/gmappedfile.h:
137
138
/usr/include/glib-2.0/glib/gmarkup.h:
139
140
/usr/include/glib-2.0/glib/gmessages.h:
141
142
/usr/include/glib-2.0/glib/gnode.h:
143
144
/usr/include/glib-2.0/glib/goption.h:
145
146
/usr/include/glib-2.0/glib/gpattern.h:
147
148
/usr/include/glib-2.0/glib/gprimes.h:
149
150
/usr/include/glib-2.0/glib/gqsort.h:
151
152
/usr/include/glib-2.0/glib/gqueue.h:
153
154
/usr/include/glib-2.0/glib/grand.h:
155
156
/usr/include/glib-2.0/glib/grel.h:
157
158
/usr/include/glib-2.0/glib/gregex.h:
159
160
/usr/include/glib-2.0/glib/gscanner.h:
161
162
/usr/include/glib-2.0/glib/gsequence.h:
163
164
/usr/include/glib-2.0/glib/gshell.h:
165
166
/usr/include/glib-2.0/glib/gspawn.h:
167
168
/usr/include/glib-2.0/glib/gstrfuncs.h:
169
170
/usr/include/glib-2.0/glib/gthreadpool.h:
171
172
/usr/include/glib-2.0/glib/gtimer.h:
173
174
/usr/include/glib-2.0/glib/gtree.h:
175
176
/usr/include/gconf/2/gconf/gconf-value.h:
177
178
/usr/include/gconf/2/gconf/gconf-error.h:
179
180
/usr/include/gconf/2/gconf/gconf-client.h:
181
182
/usr/include/glib-2.0/glib-object.h:
183
184
/usr/include/glib-2.0/gobject/gboxed.h:
185
186
/usr/include/glib-2.0/gobject/gtype.h:
187
188
/usr/include/glib-2.0/gobject/genums.h:
189
190
/usr/include/glib-2.0/gobject/gobject.h:
191
192
/usr/include/glib-2.0/gobject/gvalue.h:
193
194
/usr/include/glib-2.0/gobject/gparam.h:
195
196
/usr/include/glib-2.0/gobject/gclosure.h:
197
198
/usr/include/glib-2.0/gobject/gsignal.h:
199
200
/usr/include/glib-2.0/gobject/gmarshal.h:
201
202
/usr/include/glib-2.0/gobject/gparamspecs.h:
203
204
/usr/include/glib-2.0/gobject/gsourceclosure.h:
205
206
/usr/include/glib-2.0/gobject/gtypemodule.h:
207
208
/usr/include/glib-2.0/gobject/gtypeplugin.h:
209
210
/usr/include/glib-2.0/gobject/gvaluearray.h:
211
212
/usr/include/glib-2.0/gobject/gvaluetypes.h:
213
214
/usr/include/gconf/2/gconf/gconf.h:
215
216
/usr/include/gconf/2/gconf/gconf-schema.h:
217
218
/usr/include/gconf/2/gconf/gconf-engine.h:
219
220
/usr/include/gconf/2/gconf/gconf-error.h:
221
222
/usr/include/gconf/2/gconf/gconf-enum-types.h:
223
224
/usr/include/gconf/2/gconf/gconf-listeners.h:
225
226
/usr/include/gconf/2/gconf/gconf-changeset.h:
(-)natives/unix/Debug/objects.mk (+7 lines)
Added Link Here
1
################################################################################
2
# Automatically-generated file. Do not edit!
3
################################################################################
4
5
USER_OBJS :=
6
7
LIBS := -lgconf-2 -lORBit-2 -lgthread-2.0 -lrt -lgobject-2.0 -lglib-2.0
(-)natives/unix/getsystemproxy.c (+237 lines)
Added Link Here
1
/*
2
 * Copyright 2008 Oakland Software Incorporated and others
3
 * All rights reserved. This program and the accompanying materials 
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
6
 * http://www.eclipse.org/legal/epl-v10.html
7
 * 
8
 * Contributors:
9
 *     Oakland Software Incorporated - initial API and implementation
10
 */
11
12
#include <jni.h>
13
14
#include <glib.h>
15
#include <glib/gslist.h>
16
#include <gconf/gconf-value.h>
17
#include <gconf/gconf-client.h>
18
19
#ifdef __linux__
20
#include <string.h>
21
#else
22
#include <strings.h>
23
#endif
24
25
static GConfClient *client= NULL;
26
27
static jclass proxyInfoClass;
28
static jclass stringClass;
29
static jmethodID proxyInfoConstructor;
30
static jmethodID toString;
31
32
static jmethodID hostMethod;
33
static jmethodID portMethod;
34
static jmethodID requiresAuthenticationMethod;
35
static jmethodID userMethod;
36
static jmethodID passwordMethod;
37
38
#define CHECK_NULL(X) { if ((X) == NULL) fprintf (stderr,"JNI error at line %d\n", __LINE__); } 
39
40
static void gconfInit(JNIEnv *env) {
41
	client = gconf_client_get_default();
42
	jclass cls= NULL;
43
	CHECK_NULL(cls = (*env)->FindClass(env, "org/eclipse/core/internal/net/ProxyData"));
44
	proxyInfoClass = (*env)->NewGlobalRef(env, cls);
45
46
	CHECK_NULL(cls = (*env)->FindClass(env, "java/lang/String"));
47
	stringClass = (*env)->NewGlobalRef(env, cls);
48
49
	CHECK_NULL(proxyInfoConstructor = (*env)->GetMethodID(env, proxyInfoClass, "<init>", "(Ljava/lang/String;)V"));
50
51
	CHECK_NULL(toString = (*env)->GetMethodID(env, proxyInfoClass, "toString", "()Ljava/lang/String;"));
52
53
	CHECK_NULL(hostMethod = (*env)->GetMethodID(env, proxyInfoClass, "setHost",
54
					"(Ljava/lang/String;)V"));
55
	CHECK_NULL(portMethod = (*env)->GetMethodID(env, proxyInfoClass, "setPort",
56
					"(I)V"));
57
	CHECK_NULL(requiresAuthenticationMethod= (*env)->GetMethodID(env, proxyInfoClass, "setRequiresAuthentication",
58
					"(Z)V"));
59
	CHECK_NULL(userMethod = (*env)->GetMethodID(env, proxyInfoClass, "setUserid",
60
					"(Ljava/lang/String;)V"));
61
	CHECK_NULL(passwordMethod = (*env)->GetMethodID(env, proxyInfoClass, "setPassword",
62
					"(Ljava/lang/String;)V"));
63
}
64
65
/*
66
 * Class:     org_eclipse_core_internal_net_UnixProxyProvider
67
 * Method:    getGConfProxyInfo
68
 * Signature: ([Ljava/lang/String);
69
 */
70
JNIEXPORT jobject JNICALL Java_org_eclipse_core_internal_net_UnixProxyProvider_getGConfProxyInfo(
71
		JNIEnv *env, jclass clazz, jstring protocol) {
72
73
	jboolean isCopy;
74
	const char *cprotocol;
75
76
	jobject proxyInfo= NULL;
77
78
	if (client == NULL) {
79
		gconfInit(env);
80
	}
81
82
	CHECK_NULL(proxyInfo = (*env)->NewObject(env, proxyInfoClass, proxyInfoConstructor, protocol));
83
84
	cprotocol = (*env)->GetStringUTFChars(env, protocol, &isCopy);
85
	if (cprotocol == NULL)
86
		return NULL;
87
88
	//printf("cprotocol: %s\n", cprotocol);
89
90
	if (strcasecmp(cprotocol, "http") == 0) {
91
		gboolean useProxy = gconf_client_get_bool(client,
92
				"/system/http_proxy/use_http_proxy", NULL);
93
		if (!useProxy) {
94
			proxyInfo = NULL;
95
			goto exit;
96
		}
97
98
		gchar *host = gconf_client_get_string(client,
99
				"/system/http_proxy/host", NULL);
100
		jobject jhost = (*env)->NewStringUTF(env, host);
101
		(*env)->CallVoidMethod(env, proxyInfo, hostMethod, jhost);
102
103
		gint port = gconf_client_get_int(client, "/system/http_proxy/port",
104
				NULL);
105
		(*env)->CallVoidMethod(env, proxyInfo, portMethod, port);
106
107
		gboolean reqAuth = gconf_client_get_bool(client,
108
				"/system/http_proxy/use_authentication", NULL);
109
		(*env)->CallVoidMethod(env, proxyInfo,
110
				requiresAuthenticationMethod, reqAuth);
111
		if (reqAuth) {
112
113
			gchar *user = gconf_client_get_string(client,
114
					"/system/http_proxy/authentication_user", NULL);
115
			jobject juser = (*env)->NewStringUTF(env, user);
116
			(*env)->CallVoidMethod(env, proxyInfo, userMethod, juser);
117
118
			gchar *password = gconf_client_get_string(client,
119
					"/system/http_proxy/authentication_password", NULL);
120
			jobject jpassword = (*env)->NewStringUTF(env, password);
121
			(*env)->CallVoidMethod(env, proxyInfo, passwordMethod,
122
					jpassword);
123
		}
124
		goto exit;
125
	}
126
127
	// Everything else applies only if the system proxy mode is manual
128
	gchar *mode = gconf_client_get_string(client, "/system/proxy/mode", NULL);
129
	if (strcasecmp(mode, "manual") != 0) {
130
		proxyInfo = NULL;
131
		goto exit;
132
	}
133
134
	char selector[100];
135
136
	if (strcasecmp(cprotocol, "https") == 0) {
137
		strcpy(selector, "/system/proxy/secure_");
138
	} else if (strcasecmp(cprotocol, "socks") == 0) {
139
		strcpy(selector, "/system/proxy/socks_");
140
	} else if (strcasecmp(cprotocol, "ftp") == 0) {
141
		strcpy(selector, "/system/proxy/ftp_");
142
	} else {
143
		proxyInfo = NULL;
144
		goto exit;
145
	}
146
147
	char useSelector[100];
148
	strcpy(useSelector, selector);
149
150
	gchar *host = gconf_client_get_string(client, strcat(useSelector, "host"),
151
			NULL);
152
	jobject jhost = (*env)->NewStringUTF(env, host);
153
	(*env)->CallVoidMethod(env, proxyInfo, hostMethod, jhost);
154
155
	strcpy(useSelector, selector);
156
	gint port = gconf_client_get_int(client, strcat(useSelector, "port"), NULL);
157
	(*env)->CallVoidMethod(env, proxyInfo, portMethod, port);
158
159
	exit: if (isCopy == JNI_TRUE)
160
		(*env)->ReleaseStringUTFChars(env, protocol, cprotocol);
161
	return proxyInfo;
162
}
163
164
typedef struct {
165
	jobjectArray npHostArray;
166
	JNIEnv *env;
167
	int index;
168
} ListProcContext;
169
170
// user_data is the ListProcContext
171
void listProc(gpointer data, gpointer user_data) {
172
	ListProcContext *lpc = user_data;
173
	jobject jnpHost = (*lpc->env)->NewStringUTF(lpc->env, (char *)data);
174
	(*lpc->env)->SetObjectArrayElement(lpc->env, lpc->npHostArray,
175
			lpc->index++, jnpHost);
176
}
177
178
/*
179
 * Class:     org_eclipse_core_internal_net_UnixProxyProvider
180
 * Method:    getGConfNonProxyHosts
181
 * Signature: ()[Ljava/lang/String;
182
 */
183
JNIEXPORT jobjectArray JNICALL Java_org_eclipse_core_internal_net_UnixProxyProvider_getGConfNonProxyHosts(
184
		JNIEnv *env, jclass clazz) {
185
186
	if (client == NULL) {
187
		gconfInit(env);
188
	}
189
190
	GSList *npHosts;
191
	int size;
192
193
	npHosts = gconf_client_get_list(client, "/system/http_proxy/ignore_hosts",
194
			GCONF_VALUE_STRING, NULL);
195
	size = g_slist_length(npHosts);
196
197
	// TODO - I'm not sure this is really valid, it's from the JVM implementation
198
	// of ProxySelector
199
	if (size == 0) {
200
		npHosts = gconf_client_get_list(client, "/system/proxy/no_proxy_for",
201
				GCONF_VALUE_STRING, NULL);
202
	}
203
	size = g_slist_length(npHosts);
204
205
	jobjectArray ret = (*env)->NewObjectArray(env, size, stringClass, NULL);
206
207
	ListProcContext lpc;
208
	lpc.env = env;
209
	lpc.npHostArray = ret;
210
	lpc.index = 0;
211
212
	g_slist_foreach(npHosts, listProc, &lpc);
213
	return ret;
214
}
215
216
/*
217
 * Class:     org_eclipse_core_internal_net_UnixProxyProvider
218
 * Method:    getKdeProxyInfo
219
 * Signature: ([Ljava/lang/String);
220
 */
221
JNIEXPORT jobject JNICALL Java_org_eclipse_core_internal_net_UnixProxyProvider_getKdeProxyInfo(
222
		JNIEnv *env, jclass clazz, jstring protocol) {
223
	//printf("getKdeProxyInfo - not implemented\n");
224
	return NULL;
225
}
226
227
/*
228
 * Class:     org_eclipse_core_internal_net_UnixProxyProvider
229
 * Method:    getKdeNonProxyHosts
230
 * Signature: ()Ljava/lang/String;
231
 */
232
JNIEXPORT jobject JNICALL Java_org_eclipse_core_internal_net_UnixProxyProvider_getKdeNonProxyHosts(
233
		JNIEnv *env, jclass clazz) {
234
	//printf("getKdeNonProxyHosts - not implemented\n");
235
	return NULL;
236
}
237
(-)src/org/eclipse/core/internal/net/proxy/unix/UnixProxyProvider.java (+109 lines)
Added Link Here
1
/*******************************************************************************
2
 * Copyright (c) 2008 Oakland Software Incorporated and others
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
6
 * http://www.eclipse.org/legal/epl-v10.html
7
 *
8
 * Contributors:
9
 *     Oakland Software Incorporated - initial API and implementation
10
 *******************************************************************************/
11
package org.eclipse.core.internal.net.proxy.unix;
12
13
import java.net.URI;
14
import java.net.URISyntaxException;
15
16
import org.eclipse.core.internal.net.AbstractProxyProvider;
17
import org.eclipse.core.internal.net.ProxyData;
18
import org.eclipse.core.net.proxy.IProxyData;
19
20
public class UnixProxyProvider extends AbstractProxyProvider {
21
22
	static {
23
		try {
24
			System.loadLibrary("libproxysupport"); //$NON-NLS-1$
25
		} catch (UnsatisfiedLinkError ex) {
26
			// This will happen on systems that are missing Gnome libraries
27
		}
28
	}
29
30
	public UnixProxyProvider() {
31
		// Nothing to initialize
32
	}
33
34
	public IProxyData[] getProxyData(URI uri) {
35
		String protocol = uri.getScheme();
36
37
		ProxyData pd = getSystemProxyInfo(protocol);
38
39
		if (pd != null) {
40
			IProxyData[] pds = new IProxyData[1];
41
			pds[0] = pd;
42
			return pds;
43
		}
44
45
		return new IProxyData[0];
46
	}
47
48
	protected String[] getNonProxiedHosts() {
49
		try {
50
			String[] npHosts = getGConfNonProxyHosts();
51
			if (npHosts != null && npHosts.length > 0)
52
				return npHosts;
53
			return getKdeNonProxyHosts();
54
		} catch (UnsatisfiedLinkError ex) {
55
			// This has already been reported (the native code did not load)
56
		}
57
		return new String[] {};
58
	}
59
60
	// Returns null if something wrong or there is no proxy for the protocol
61
	protected ProxyData getSystemProxyInfo(String protocol) {
62
		ProxyData pd = null;
63
64
		// First try the environment variable which is a URL
65
		// TODO: native calls for system properties, since System#getenx is
66
		// deprecated in 1.4
67
		String sysHttp = null;
68
		// System.getenv(protocol.toLowerCase() + "_proxy"); //$NON-NLS-1$
69
		if (sysHttp != null) {
70
			URI uri = null;
71
			try {
72
				uri = new URI(sysHttp);
73
			} catch (URISyntaxException e) {
74
				return null;
75
			}
76
77
			pd = new ProxyData(protocol);
78
			pd.setHost(uri.getHost());
79
			pd.setPort(uri.getPort());
80
			return pd;
81
		}
82
83
		try {
84
			// Then ask Gnome
85
			pd = getGConfProxyInfo(protocol);
86
87
			if (pd != null)
88
				return pd;
89
90
			// Then ask KDE
91
			pd = getKdeProxyInfo(protocol);
92
			if (pd != null)
93
				return pd;
94
		} catch (UnsatisfiedLinkError ex) {
95
			// This has already been reported when the native code did not load
96
		}
97
98
		return null;
99
	}
100
101
	protected static native ProxyData getGConfProxyInfo(String protocol);
102
103
	protected static native String[] getGConfNonProxyHosts();
104
105
	protected static native ProxyData getKdeProxyInfo(String protocol);
106
107
	protected static native String[] getKdeNonProxyHosts();
108
109
}
(-)natives/unix/Debug/subdir.mk (+24 lines)
Added Link Here
1
################################################################################
2
# Automatically-generated file. Do not edit!
3
################################################################################
4
5
# Add inputs and outputs from these tool invocations to the build variables 
6
C_SRCS += \
7
../getsystemproxy.c 
8
9
OBJS += \
10
./getsystemproxy.o 
11
12
C_DEPS += \
13
./getsystemproxy.d 
14
15
16
# Each subdirectory must supply rules for building sources it contributes
17
%.o: ../%.c
18
	@echo 'Building file: $<'
19
	@echo 'Invoking: GCC C Compiler'
20
	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"$@" "$<"
21
	@echo 'Finished building: $<'
22
	@echo ' '
23
24
(-)natives/unix/Debug/makefile (+43 lines)
Added Link Here
1
################################################################################
2
# Automatically-generated file. Do not edit!
3
################################################################################
4
5
-include ../makefile.init
6
7
RM := rm -rf
8
9
# All of the sources participating in the build are defined here
10
-include sources.mk
11
-include subdir.mk
12
-include objects.mk
13
14
ifneq ($(MAKECMDGOALS),clean)
15
ifneq ($(strip $(C_DEPS)),)
16
-include $(C_DEPS)
17
endif
18
endif
19
20
-include ../makefile.defs
21
22
# Add inputs and outputs from these tool invocations to the build variables 
23
24
# All Target
25
all: libproxysupport.so
26
27
# Tool invocations
28
libproxysupport.so: $(OBJS) $(USER_OBJS)
29
	@echo 'Building target: $@'
30
	@echo 'Invoking: GCC C Linker'
31
	gcc -m32 -shared -o"libproxysupport.so" $(OBJS) $(USER_OBJS) $(LIBS)
32
	@echo 'Finished building target: $@'
33
	@echo ' '
34
35
# Other Targets
36
clean:
37
	-$(RM) $(OBJS)$(C_DEPS)$(LIBRARIES) libproxysupport.so
38
	-@echo ' '
39
40
.PHONY: all clean dependents
41
.SECONDARY:
42
43
-include ../makefile.targets

Return to bug 226462