163 |
g_free(key); |
g_free(key); |
164 |
st++; |
st++; |
165 |
} |
} |
|
} |
|
|
|
|
|
/* restore wms server list */ |
|
|
char *key = g_strdup_printf("/apps/" PACKAGE "/wms/count"); |
|
|
GConfValue *value = gconf_client_get(client, key, NULL); |
|
|
if(value) { |
|
|
gconf_value_free(value); |
|
|
|
|
|
int i, count = gconf_client_get_int(client, key, NULL); |
|
|
g_free(key); |
|
166 |
|
|
167 |
wms_server_t **cur = &settings->wms_server; |
/* restore wms server list */ |
168 |
for(i=0;i<count;i++) { |
char *key = g_strdup_printf("/apps/" PACKAGE "/wms/count"); |
169 |
key = g_strdup_printf("/apps/" PACKAGE "/wms/name%d", i); |
GConfValue *value = gconf_client_get(client, key, NULL); |
170 |
char *name = gconf_client_get_string(client, key, NULL); |
if(value) { |
171 |
g_free(key); |
gconf_value_free(value); |
172 |
key = g_strdup_printf("/apps/" PACKAGE "/wms/server%d", i); |
|
173 |
char *server = gconf_client_get_string(client, key, NULL); |
int i, count = gconf_client_get_int(client, key, NULL); |
174 |
g_free(key); |
g_free(key); |
175 |
key = g_strdup_printf("/apps/" PACKAGE "/wms/path%d", i); |
|
176 |
char *path = gconf_client_get_string(client, key, NULL); |
wms_server_t **cur = &settings->wms_server; |
177 |
|
for(i=0;i<count;i++) { |
178 |
|
key = g_strdup_printf("/apps/" PACKAGE "/wms/name%d", i); |
179 |
|
char *name = gconf_client_get_string(client, key, NULL); |
180 |
|
g_free(key); |
181 |
|
key = g_strdup_printf("/apps/" PACKAGE "/wms/server%d", i); |
182 |
|
char *server = gconf_client_get_string(client, key, NULL); |
183 |
|
g_free(key); |
184 |
|
key = g_strdup_printf("/apps/" PACKAGE "/wms/path%d", i); |
185 |
|
char *path = gconf_client_get_string(client, key, NULL); |
186 |
|
g_free(key); |
187 |
|
|
188 |
|
/* apply valid entry to list */ |
189 |
|
if(name && server && path) { |
190 |
|
*cur = g_new0(wms_server_t, 1); |
191 |
|
(*cur)->name = name; |
192 |
|
(*cur)->server = server; |
193 |
|
(*cur)->path = path; |
194 |
|
cur = &(*cur)->next; |
195 |
|
} else { |
196 |
|
if(name) g_free(name); |
197 |
|
if(server) g_free(server); |
198 |
|
if(path) g_free(path); |
199 |
|
} |
200 |
|
} |
201 |
|
} else { |
202 |
g_free(key); |
g_free(key); |
203 |
|
|
204 |
/* apply valid entry to list */ |
/* add default server(s) */ |
205 |
if(name && server && path) { |
printf("No WMS servers configured, adding default\n"); |
206 |
*cur = g_new0(wms_server_t, 1); |
settings->wms_server = wms_server_get_default(); |
207 |
(*cur)->name = name; |
} |
208 |
(*cur)->server = server; |
|
209 |
(*cur)->path = path; |
/* ------------- get proxy settings -------------------- */ |
210 |
cur = &(*cur)->next; |
if(gconf_client_get_bool(client, PROXY_KEY "use_http_proxy", NULL)) { |
211 |
} else { |
proxy_t *proxy = settings->proxy = g_new0(proxy_t, 1); |
212 |
if(name) g_free(name); |
|
213 |
if(server) g_free(server); |
/* get basic settings */ |
214 |
if(path) g_free(path); |
proxy->host = gconf_client_get_string(client, PROXY_KEY "host", NULL); |
215 |
|
proxy->port = gconf_client_get_int(client, PROXY_KEY "port", NULL); |
216 |
|
proxy->ignore_hosts = |
217 |
|
gconf_client_get_string(client, PROXY_KEY "ignore_hosts", NULL); |
218 |
|
|
219 |
|
/* check for authentication */ |
220 |
|
proxy->use_authentication = |
221 |
|
gconf_client_get_bool(client, PROXY_KEY "use_authentication", NULL); |
222 |
|
|
223 |
|
if(proxy->use_authentication) { |
224 |
|
proxy->authentication_user = |
225 |
|
gconf_client_get_string(client, PROXY_KEY "authentication_user", NULL); |
226 |
|
proxy->authentication_password = |
227 |
|
gconf_client_get_string(client, PROXY_KEY "authentication_password", |
228 |
|
NULL); |
229 |
} |
} |
230 |
} |
} |
|
} else { |
|
|
g_free(key); |
|
|
|
|
|
/* add default server(s) */ |
|
|
printf("No WMS servers configured, adding default\n"); |
|
|
settings->wms_server = wms_server_get_default(); |
|
|
} |
|
|
|
|
|
/* ------------- get proxy settings -------------------- */ |
|
|
if(gconf_client_get_bool(client, PROXY_KEY "use_http_proxy", NULL)) { |
|
|
proxy_t *proxy = settings->proxy = g_new0(proxy_t, 1); |
|
|
|
|
|
/* get basic settings */ |
|
|
proxy->host = gconf_client_get_string(client, PROXY_KEY "host", NULL); |
|
|
proxy->port = gconf_client_get_int(client, PROXY_KEY "port", NULL); |
|
|
proxy->ignore_hosts = |
|
|
gconf_client_get_string(client, PROXY_KEY "ignore_hosts", NULL); |
|
|
|
|
|
/* check for authentication */ |
|
|
proxy->use_authentication = |
|
|
gconf_client_get_bool(client, PROXY_KEY "use_authentication", NULL); |
|
231 |
|
|
232 |
if(proxy->use_authentication) { |
#if 1 // def USE_HILDON |
233 |
proxy->authentication_user = |
/* demo setup for maemo/hildon */ |
234 |
gconf_client_get_string(client, PROXY_KEY "authentication_user", NULL); |
{ |
235 |
proxy->authentication_password = |
char *key = g_strdup_printf("/apps/" PACKAGE "/base_path"); |
236 |
gconf_client_get_string(client, PROXY_KEY "authentication_password", |
GConfValue *value = gconf_client_get(client, key, NULL); |
237 |
NULL); |
if(value) |
238 |
|
gconf_value_free(value); |
239 |
|
else { |
240 |
|
printf("base_path not set, assuming first time boot\n"); |
241 |
|
|
242 |
|
/* check for presence of demo project */ |
243 |
|
|
244 |
|
} |
245 |
} |
} |
246 |
|
#endif |
247 |
|
|
248 |
} |
} |
249 |
|
|
250 |
|
|
251 |
return settings; |
return settings; |
252 |
} |
} |
253 |
|
|