diff options
author | Christian Grothoff <christian@grothoff.org> | 2011-08-15 16:36:48 +0000 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2011-08-15 16:36:48 +0000 |
commit | 05497278d9c4374864c6b77c06615744354ba2e7 (patch) | |
tree | 886cffd1ae443f73d659ea2e422bb06533e9f0c3 | |
parent | d4ce88d7a348662d778b20b1eee49475fa9e34fd (diff) | |
download | gnunet-gtk-05497278d9c4374864c6b77c06615744354ba2e7.tar.gz gnunet-gtk-05497278d9c4374864c6b77c06615744354ba2e7.zip |
make gnunet-setup compile
-rw-r--r-- | src/setup/gnunet-setup-datacache-config.c | 6 | ||||
-rw-r--r-- | src/setup/gnunet-setup-datastore-config.c | 6 | ||||
-rw-r--r-- | src/setup/gnunet-setup-hostlist-editing.c | 3 | ||||
-rw-r--r-- | src/setup/gnunet-setup-options.c | 15 | ||||
-rw-r--r-- | src/setup/gnunet-setup-transport-http.c | 15 | ||||
-rw-r--r-- | src/setup/gnunet-setup-transport-https.c | 15 | ||||
-rw-r--r-- | src/setup/gnunet-setup-transport-tcp.c | 15 | ||||
-rw-r--r-- | src/setup/gnunet-setup-transport-udp.c | 15 | ||||
-rw-r--r-- | src/setup/gnunet-setup-transport.c | 15 | ||||
-rw-r--r-- | src/setup/gnunet-setup.c | 305 | ||||
-rw-r--r-- | src/setup/gnunet-setup.h | 9 |
11 files changed, 150 insertions, 269 deletions
diff --git a/src/setup/gnunet-setup-datacache-config.c b/src/setup/gnunet-setup-datacache-config.c index 585a786f..f779d8c4 100644 --- a/src/setup/gnunet-setup-datacache-config.c +++ b/src/setup/gnunet-setup-datacache-config.c | |||
@@ -67,16 +67,14 @@ test_config (const char *name) | |||
67 | static void | 67 | static void |
68 | show (const char *name) | 68 | show (const char *name) |
69 | { | 69 | { |
70 | gtk_widget_show (GTK_WIDGET (gtk_builder_get_object (builder, | 70 | gtk_widget_show (GTK_WIDGET (GNUNET_SETUP_get_object (name))); |
71 | name))); | ||
72 | } | 71 | } |
73 | 72 | ||
74 | 73 | ||
75 | static void | 74 | static void |
76 | hide (const char *name) | 75 | hide (const char *name) |
77 | { | 76 | { |
78 | gtk_widget_hide (GTK_WIDGET (gtk_builder_get_object (builder, | 77 | gtk_widget_hide (GTK_WIDGET (GNUNET_SETUP_get_object (name))); |
79 | name))); | ||
80 | } | 78 | } |
81 | 79 | ||
82 | 80 | ||
diff --git a/src/setup/gnunet-setup-datastore-config.c b/src/setup/gnunet-setup-datastore-config.c index ad9c541a..86925418 100644 --- a/src/setup/gnunet-setup-datastore-config.c +++ b/src/setup/gnunet-setup-datastore-config.c | |||
@@ -63,16 +63,14 @@ test_config (const char *name) | |||
63 | static void | 63 | static void |
64 | show (const char *name) | 64 | show (const char *name) |
65 | { | 65 | { |
66 | gtk_widget_show (GTK_WIDGET (gtk_builder_get_object (builder, | 66 | gtk_widget_show (GTK_WIDGET (GNUNET_SETUP_get_object (name))); |
67 | name))); | ||
68 | } | 67 | } |
69 | 68 | ||
70 | 69 | ||
71 | static void | 70 | static void |
72 | hide (const char *name) | 71 | hide (const char *name) |
73 | { | 72 | { |
74 | gtk_widget_hide (GTK_WIDGET (gtk_builder_get_object (builder, | 73 | gtk_widget_hide (GTK_WIDGET (GNUNET_SETUP_get_object (name))); |
75 | name))); | ||
76 | } | 74 | } |
77 | 75 | ||
78 | 76 | ||
diff --git a/src/setup/gnunet-setup-hostlist-editing.c b/src/setup/gnunet-setup-hostlist-editing.c index 471327ca..98e6e136 100644 --- a/src/setup/gnunet-setup-hostlist-editing.c +++ b/src/setup/gnunet-setup-hostlist-editing.c | |||
@@ -45,8 +45,7 @@ GNUNET_setup_hostlist_url_cellrenderertext_edited_cb (GtkCellRendererText *rende | |||
45 | GtkTreeIter old; | 45 | GtkTreeIter old; |
46 | GtkTreeIter iter; | 46 | GtkTreeIter iter; |
47 | 47 | ||
48 | ls = GTK_LIST_STORE (gtk_builder_get_object (builder, | 48 | ls = GTK_LIST_STORE (GNUNET_SETUP_get_object ("GNUNET_setup_hostlist_url_liststore")); |
49 | "GNUNET_setup_hostlist_url_liststore")); | ||
50 | if (ls == NULL) | 49 | if (ls == NULL) |
51 | { | 50 | { |
52 | GNUNET_break (0); | 51 | GNUNET_break (0); |
diff --git a/src/setup/gnunet-setup-options.c b/src/setup/gnunet-setup-options.c index ae2c436e..ee230c2b 100644 --- a/src/setup/gnunet-setup-options.c +++ b/src/setup/gnunet-setup-options.c | |||
@@ -942,8 +942,7 @@ save_vpn_dns_service_dnsname (GtkCellRendererText *renderer, | |||
942 | GtkTreeIter iter; | 942 | GtkTreeIter iter; |
943 | gchar *old; | 943 | gchar *old; |
944 | 944 | ||
945 | tm = GTK_TREE_MODEL (gtk_builder_get_object (builder, | 945 | tm = GTK_TREE_MODEL (GNUNET_SETUP_get_object ("vpn_dns_config_liststore")); |
946 | "vpn_dns_config_liststore")); | ||
947 | if (NULL == tm) | 946 | if (NULL == tm) |
948 | { | 947 | { |
949 | GNUNET_break (0); | 948 | GNUNET_break (0); |
@@ -1049,8 +1048,7 @@ save_vpn_dns_service_tcpudp (GtkCellRendererText *renderer, | |||
1049 | /* FIXME: warn... */ | 1048 | /* FIXME: warn... */ |
1050 | return; | 1049 | return; |
1051 | } | 1050 | } |
1052 | tm = GTK_TREE_MODEL (gtk_builder_get_object (builder, | 1051 | tm = GTK_TREE_MODEL (GNUNET_SETUP_get_object ("vpn_dns_config_liststore")); |
1053 | "vpn_dns_config_liststore")); | ||
1054 | if (NULL == tm) | 1052 | if (NULL == tm) |
1055 | { | 1053 | { |
1056 | GNUNET_break (0); | 1054 | GNUNET_break (0); |
@@ -1139,8 +1137,7 @@ save_vpn_dns_service_sourceport (GtkCellRendererText *renderer, | |||
1139 | /* invalid port, FIXME: warn */ | 1137 | /* invalid port, FIXME: warn */ |
1140 | return; | 1138 | return; |
1141 | } | 1139 | } |
1142 | tm = GTK_TREE_MODEL (gtk_builder_get_object (builder, | 1140 | tm = GTK_TREE_MODEL (GNUNET_SETUP_get_object ("vpn_dns_config_liststore")); |
1143 | "vpn_dns_config_liststore")); | ||
1144 | if (NULL == tm) | 1141 | if (NULL == tm) |
1145 | { | 1142 | { |
1146 | GNUNET_break (0); | 1143 | GNUNET_break (0); |
@@ -1222,8 +1219,7 @@ save_vpn_dns_service_targethostname (GtkCellRendererText *renderer, | |||
1222 | GtkListStore *ls; | 1219 | GtkListStore *ls; |
1223 | GtkTreeIter iter; | 1220 | GtkTreeIter iter; |
1224 | 1221 | ||
1225 | tm = GTK_TREE_MODEL (gtk_builder_get_object (builder, | 1222 | tm = GTK_TREE_MODEL (GNUNET_SETUP_get_object ("vpn_dns_config_liststore")); |
1226 | "vpn_dns_config_liststore")); | ||
1227 | if (NULL == tm) | 1223 | if (NULL == tm) |
1228 | { | 1224 | { |
1229 | GNUNET_break (0); | 1225 | GNUNET_break (0); |
@@ -1312,8 +1308,7 @@ save_vpn_dns_service_targetport (GtkCellRendererText *renderer, | |||
1312 | /* invalid port, FIXME: warn */ | 1308 | /* invalid port, FIXME: warn */ |
1313 | return; | 1309 | return; |
1314 | } | 1310 | } |
1315 | tm = GTK_TREE_MODEL (gtk_builder_get_object (builder, | 1311 | tm = GTK_TREE_MODEL (GNUNET_SETUP_get_object ("vpn_dns_config_liststore")); |
1316 | "vpn_dns_config_liststore")); | ||
1317 | if (NULL == tm) | 1312 | if (NULL == tm) |
1318 | { | 1313 | { |
1319 | GNUNET_break (0); | 1314 | GNUNET_break (0); |
diff --git a/src/setup/gnunet-setup-transport-http.c b/src/setup/gnunet-setup-transport-http.c index 6021413b..36447917 100644 --- a/src/setup/gnunet-setup-transport-http.c +++ b/src/setup/gnunet-setup-transport-http.c | |||
@@ -145,8 +145,7 @@ GNUNET_setup_transport_http_test_button_clicked_cb () | |||
145 | 145 | ||
146 | GNUNET_assert (GNUNET_SCHEDULER_NO_TASK == tsk); | 146 | GNUNET_assert (GNUNET_SCHEDULER_NO_TASK == tsk); |
147 | GNUNET_assert (NULL == tst); | 147 | GNUNET_assert (NULL == tst); |
148 | w = GTK_WIDGET (gtk_builder_get_object (builder, | 148 | w = GTK_WIDGET (GNUNET_SETUP_get_object ("GNUNET_setup_transport_http_test_success_image")); |
149 | "GNUNET_setup_transport_http_test_success_image")); | ||
150 | gtk_widget_hide (w); | 149 | gtk_widget_hide (w); |
151 | resolver = GNUNET_OS_start_process (NULL, NULL, | 150 | resolver = GNUNET_OS_start_process (NULL, NULL, |
152 | "gnunet-service-resolver", | 151 | "gnunet-service-resolver", |
@@ -160,20 +159,16 @@ GNUNET_setup_transport_http_test_button_clicked_cb () | |||
160 | } | 159 | } |
161 | if (GNUNET_YES != ok) | 160 | if (GNUNET_YES != ok) |
162 | { | 161 | { |
163 | w = GTK_WIDGET (gtk_builder_get_object (builder, | 162 | w = GTK_WIDGET (GNUNET_SETUP_get_object ("GNUNET_setup_transport_http_test_fail_image")); |
164 | "GNUNET_setup_transport_http_test_fail_image")); | ||
165 | gtk_widget_show (w); | 163 | gtk_widget_show (w); |
166 | w = GTK_WIDGET (gtk_builder_get_object (builder, | 164 | w = GTK_WIDGET (GNUNET_SETUP_get_object ("GNUNET_setup_transport_http_test_success_image")); |
167 | "GNUNET_setup_transport_http_test_success_image")); | ||
168 | gtk_widget_hide (w); | 165 | gtk_widget_hide (w); |
169 | } | 166 | } |
170 | else | 167 | else |
171 | { | 168 | { |
172 | w = GTK_WIDGET (gtk_builder_get_object (builder, | 169 | w = GTK_WIDGET (GNUNET_SETUP_get_object ("GNUNET_setup_transport_http_test_fail_image")); |
173 | "GNUNET_setup_transport_http_test_fail_image")); | ||
174 | gtk_widget_hide (w); | 170 | gtk_widget_hide (w); |
175 | w = GTK_WIDGET (gtk_builder_get_object (builder, | 171 | w = GTK_WIDGET (GNUNET_SETUP_get_object ("GNUNET_setup_transport_http_test_success_image")); |
176 | "GNUNET_setup_transport_http_test_success_image")); | ||
177 | gtk_widget_show (w); | 172 | gtk_widget_show (w); |
178 | } | 173 | } |
179 | } | 174 | } |
diff --git a/src/setup/gnunet-setup-transport-https.c b/src/setup/gnunet-setup-transport-https.c index 8d53b1f4..c4ac462a 100644 --- a/src/setup/gnunet-setup-transport-https.c +++ b/src/setup/gnunet-setup-transport-https.c | |||
@@ -145,8 +145,7 @@ GNUNET_setup_transport_https_test_button_clicked_cb () | |||
145 | 145 | ||
146 | GNUNET_assert (GNUNET_SCHEDULER_NO_TASK == tsk); | 146 | GNUNET_assert (GNUNET_SCHEDULER_NO_TASK == tsk); |
147 | GNUNET_assert (NULL == tst); | 147 | GNUNET_assert (NULL == tst); |
148 | w = GTK_WIDGET (gtk_builder_get_object (builder, | 148 | w = GTK_WIDGET (GNUNET_SETUP_get_object ("GNUNET_setup_transport_https_test_success_image")); |
149 | "GNUNET_setup_transport_https_test_success_image")); | ||
150 | gtk_widget_hide (w); | 149 | gtk_widget_hide (w); |
151 | resolver = GNUNET_OS_start_process (NULL, NULL, | 150 | resolver = GNUNET_OS_start_process (NULL, NULL, |
152 | "gnunet-service-resolver", | 151 | "gnunet-service-resolver", |
@@ -160,20 +159,16 @@ GNUNET_setup_transport_https_test_button_clicked_cb () | |||
160 | } | 159 | } |
161 | if (GNUNET_YES != ok) | 160 | if (GNUNET_YES != ok) |
162 | { | 161 | { |
163 | w = GTK_WIDGET (gtk_builder_get_object (builder, | 162 | w = GTK_WIDGET (GNUNET_SETUP_get_object ("GNUNET_setup_transport_https_test_fail_image")); |
164 | "GNUNET_setup_transport_https_test_fail_image")); | ||
165 | gtk_widget_show (w); | 163 | gtk_widget_show (w); |
166 | w = GTK_WIDGET (gtk_builder_get_object (builder, | 164 | w = GTK_WIDGET (GNUNET_SETUP_get_object ("GNUNET_setup_transport_https_test_success_image")); |
167 | "GNUNET_setup_transport_https_test_success_image")); | ||
168 | gtk_widget_hide (w); | 165 | gtk_widget_hide (w); |
169 | } | 166 | } |
170 | else | 167 | else |
171 | { | 168 | { |
172 | w = GTK_WIDGET (gtk_builder_get_object (builder, | 169 | w = GTK_WIDGET (GNUNET_SETUP_get_object ("GNUNET_setup_transport_https_test_fail_image")); |
173 | "GNUNET_setup_transport_https_test_fail_image")); | ||
174 | gtk_widget_hide (w); | 170 | gtk_widget_hide (w); |
175 | w = GTK_WIDGET (gtk_builder_get_object (builder, | 171 | w = GTK_WIDGET (GNUNET_SETUP_get_object ("GNUNET_setup_transport_https_test_success_image")); |
176 | "GNUNET_setup_transport_https_test_success_image")); | ||
177 | gtk_widget_show (w); | 172 | gtk_widget_show (w); |
178 | } | 173 | } |
179 | } | 174 | } |
diff --git a/src/setup/gnunet-setup-transport-tcp.c b/src/setup/gnunet-setup-transport-tcp.c index ba592846..52312a4b 100644 --- a/src/setup/gnunet-setup-transport-tcp.c +++ b/src/setup/gnunet-setup-transport-tcp.c | |||
@@ -145,8 +145,7 @@ GNUNET_setup_transport_tcp_test_button_clicked_cb () | |||
145 | 145 | ||
146 | GNUNET_assert (GNUNET_SCHEDULER_NO_TASK == tsk); | 146 | GNUNET_assert (GNUNET_SCHEDULER_NO_TASK == tsk); |
147 | GNUNET_assert (NULL == tst); | 147 | GNUNET_assert (NULL == tst); |
148 | w = GTK_WIDGET (gtk_builder_get_object (builder, | 148 | w = GTK_WIDGET (GNUNET_SETUP_get_object ("GNUNET_setup_transport_tcp_test_success_image")); |
149 | "GNUNET_setup_transport_tcp_test_success_image")); | ||
150 | gtk_widget_hide (w); | 149 | gtk_widget_hide (w); |
151 | resolver = GNUNET_OS_start_process (NULL, NULL, | 150 | resolver = GNUNET_OS_start_process (NULL, NULL, |
152 | "gnunet-service-resolver", | 151 | "gnunet-service-resolver", |
@@ -160,20 +159,16 @@ GNUNET_setup_transport_tcp_test_button_clicked_cb () | |||
160 | } | 159 | } |
161 | if (GNUNET_YES != ok) | 160 | if (GNUNET_YES != ok) |
162 | { | 161 | { |
163 | w = GTK_WIDGET (gtk_builder_get_object (builder, | 162 | w = GTK_WIDGET (GNUNET_SETUP_get_object ("GNUNET_setup_transport_tcp_test_fail_image")); |
164 | "GNUNET_setup_transport_tcp_test_fail_image")); | ||
165 | gtk_widget_show (w); | 163 | gtk_widget_show (w); |
166 | w = GTK_WIDGET (gtk_builder_get_object (builder, | 164 | w = GTK_WIDGET (GNUNET_SETUP_get_object ("GNUNET_setup_transport_tcp_test_success_image")); |
167 | "GNUNET_setup_transport_tcp_test_success_image")); | ||
168 | gtk_widget_hide (w); | 165 | gtk_widget_hide (w); |
169 | } | 166 | } |
170 | else | 167 | else |
171 | { | 168 | { |
172 | w = GTK_WIDGET (gtk_builder_get_object (builder, | 169 | w = GTK_WIDGET (GNUNET_SETUP_get_object ("GNUNET_setup_transport_tcp_test_fail_image")); |
173 | "GNUNET_setup_transport_tcp_test_fail_image")); | ||
174 | gtk_widget_hide (w); | 170 | gtk_widget_hide (w); |
175 | w = GTK_WIDGET (gtk_builder_get_object (builder, | 171 | w = GTK_WIDGET (GNUNET_SETUP_get_object ("GNUNET_setup_transport_tcp_test_success_image")); |
176 | "GNUNET_setup_transport_tcp_test_success_image")); | ||
177 | gtk_widget_show (w); | 172 | gtk_widget_show (w); |
178 | } | 173 | } |
179 | } | 174 | } |
diff --git a/src/setup/gnunet-setup-transport-udp.c b/src/setup/gnunet-setup-transport-udp.c index 28aec749..989b5bf3 100644 --- a/src/setup/gnunet-setup-transport-udp.c +++ b/src/setup/gnunet-setup-transport-udp.c | |||
@@ -144,8 +144,7 @@ GNUNET_setup_transport_udp_test_button_clicked_cb () | |||
144 | 144 | ||
145 | GNUNET_assert (GNUNET_SCHEDULER_NO_TASK == tsk); | 145 | GNUNET_assert (GNUNET_SCHEDULER_NO_TASK == tsk); |
146 | GNUNET_assert (NULL == tst); | 146 | GNUNET_assert (NULL == tst); |
147 | w = GTK_WIDGET (gtk_builder_get_object (builder, | 147 | w = GTK_WIDGET (GNUNET_SETUP_get_object ("GNUNET_setup_transport_udp_test_success_image")); |
148 | "GNUNET_setup_transport_udp_test_success_image")); | ||
149 | gtk_widget_hide (w); | 148 | gtk_widget_hide (w); |
150 | resolver = GNUNET_OS_start_process (NULL, NULL, | 149 | resolver = GNUNET_OS_start_process (NULL, NULL, |
151 | "gnunet-service-resolver", | 150 | "gnunet-service-resolver", |
@@ -159,20 +158,16 @@ GNUNET_setup_transport_udp_test_button_clicked_cb () | |||
159 | } | 158 | } |
160 | if (GNUNET_YES != ok) | 159 | if (GNUNET_YES != ok) |
161 | { | 160 | { |
162 | w = GTK_WIDGET (gtk_builder_get_object (builder, | 161 | w = GTK_WIDGET (GNUNET_SETUP_get_object ("GNUNET_setup_transport_udp_test_fail_image")); |
163 | "GNUNET_setup_transport_udp_test_fail_image")); | ||
164 | gtk_widget_show (w); | 162 | gtk_widget_show (w); |
165 | w = GTK_WIDGET (gtk_builder_get_object (builder, | 163 | w = GTK_WIDGET (GNUNET_SETUP_get_object ("GNUNET_setup_transport_udp_test_success_image")); |
166 | "GNUNET_setup_transport_udp_test_success_image")); | ||
167 | gtk_widget_hide (w); | 164 | gtk_widget_hide (w); |
168 | } | 165 | } |
169 | else | 166 | else |
170 | { | 167 | { |
171 | w = GTK_WIDGET (gtk_builder_get_object (builder, | 168 | w = GTK_WIDGET (GNUNET_SETUP_get_object ("GNUNET_setup_transport_udp_test_fail_image")); |
172 | "GNUNET_setup_transport_udp_test_fail_image")); | ||
173 | gtk_widget_hide (w); | 169 | gtk_widget_hide (w); |
174 | w = GTK_WIDGET (gtk_builder_get_object (builder, | 170 | w = GTK_WIDGET (GNUNET_SETUP_get_object ("GNUNET_setup_transport_udp_test_success_image")); |
175 | "GNUNET_setup_transport_udp_test_success_image")); | ||
176 | gtk_widget_show (w); | 171 | gtk_widget_show (w); |
177 | } | 172 | } |
178 | } | 173 | } |
diff --git a/src/setup/gnunet-setup-transport.c b/src/setup/gnunet-setup-transport.c index 58a25c15..652c356b 100644 --- a/src/setup/gnunet-setup-transport.c +++ b/src/setup/gnunet-setup-transport.c | |||
@@ -173,8 +173,7 @@ nipo (void *cls, | |||
173 | "nat", | 173 | "nat", |
174 | "INTERNAL_ADDRESS", | 174 | "INTERNAL_ADDRESS", |
175 | buf); | 175 | buf); |
176 | entry = GTK_ENTRY (gtk_builder_get_object (builder, | 176 | entry = GTK_ENTRY (GNUNET_SETUP_get_object ("GNUNET_setup_transport_internal_ip_entry")); |
177 | "GNUNET_setup_transport_internal_ip_entry")); | ||
178 | if (entry == NULL) | 177 | if (entry == NULL) |
179 | { | 178 | { |
180 | GNUNET_break (0); | 179 | GNUNET_break (0); |
@@ -210,8 +209,7 @@ GNUNET_setup_transport_autoconfig_button_clicked_cb () | |||
210 | "nat", | 209 | "nat", |
211 | "BEHIND_NAT", | 210 | "BEHIND_NAT", |
212 | "YES"); | 211 | "YES"); |
213 | button = GTK_TOGGLE_BUTTON (gtk_builder_get_object (builder, | 212 | button = GTK_TOGGLE_BUTTON (GNUNET_SETUP_get_object ("GNUNET_setup_transport_nat_checkbutton")); |
214 | "GNUNET_setup_transport_nat_checkbutton")); | ||
215 | if (button == NULL) | 213 | if (button == NULL) |
216 | { | 214 | { |
217 | GNUNET_break (0); | 215 | GNUNET_break (0); |
@@ -226,8 +224,7 @@ GNUNET_setup_transport_autoconfig_button_clicked_cb () | |||
226 | "nat", | 224 | "nat", |
227 | "EXTERNAL_ADDRESS", | 225 | "EXTERNAL_ADDRESS", |
228 | buf); | 226 | buf); |
229 | entry = GTK_ENTRY (gtk_builder_get_object (builder, | 227 | entry = GTK_ENTRY (GNUNET_SETUP_get_object ("GNUNET_setup_transport_external_ip_address_entry")); |
230 | "GNUNET_setup_transport_external_ip_address_entry")); | ||
231 | if (entry == NULL) | 228 | if (entry == NULL) |
232 | { | 229 | { |
233 | GNUNET_break (0); | 230 | GNUNET_break (0); |
@@ -260,8 +257,7 @@ GNUNET_setup_transport_autoconfig_button_clicked_cb () | |||
260 | if (hns) | 257 | if (hns) |
261 | hns = test_connection_reversal (); | 258 | hns = test_connection_reversal (); |
262 | 259 | ||
263 | button = GTK_TOGGLE_BUTTON (gtk_builder_get_object (builder, | 260 | button = GTK_TOGGLE_BUTTON (GNUNET_SETUP_get_object ("GNUNET_setup_transport_icmp_server_enable_checkbutton")); |
264 | "GNUNET_setup_transport_icmp_server_enable_checkbutton")); | ||
265 | if (button == NULL) | 261 | if (button == NULL) |
266 | { | 262 | { |
267 | GNUNET_break (0); | 263 | GNUNET_break (0); |
@@ -286,8 +282,7 @@ GNUNET_setup_transport_autoconfig_button_clicked_cb () | |||
286 | (GNUNET_YES == | 282 | (GNUNET_YES == |
287 | GNUNET_OS_check_helper_binary ("gnunet-helper-nat-client")) ); | 283 | GNUNET_OS_check_helper_binary ("gnunet-helper-nat-client")) ); |
288 | GNUNET_free_non_null (tmp); | 284 | GNUNET_free_non_null (tmp); |
289 | button = GTK_TOGGLE_BUTTON (gtk_builder_get_object (builder, | 285 | button = GTK_TOGGLE_BUTTON (GNUNET_SETUP_get_object ("GNUNET_setup_transport_icmp_client_enable_checkbutton")); |
290 | "GNUNET_setup_transport_icmp_client_enable_checkbutton")); | ||
291 | if (button == NULL) | 286 | if (button == NULL) |
292 | { | 287 | { |
293 | GNUNET_break (0); | 288 | GNUNET_break (0); |
diff --git a/src/setup/gnunet-setup.c b/src/setup/gnunet-setup.c index 1845c683..136eff23 100644 --- a/src/setup/gnunet-setup.c +++ b/src/setup/gnunet-setup.c | |||
@@ -31,119 +31,40 @@ | |||
31 | #include <regex.h> | 31 | #include <regex.h> |
32 | 32 | ||
33 | /** | 33 | /** |
34 | * Builder for the main window (global!) | 34 | * Main loop handle. |
35 | */ | 35 | */ |
36 | GtkBuilder *builder; | 36 | static struct GNUNET_GTK_MainLoop *ml; |
37 | 37 | ||
38 | /** | 38 | /** |
39 | * Our configuration (global!) | 39 | * Name of the configuration file. |
40 | */ | 40 | */ |
41 | struct GNUNET_CONFIGURATION_Handle *cfg; | 41 | static char *cfgName; |
42 | |||
43 | 42 | ||
44 | /** | 43 | /** |
45 | * @brief get the path to a specific GNUnet installation directory or, | 44 | * Our log level (FIXME: needed!?) |
46 | * with GNUNET_IPK_SELF_PREFIX, the current running apps installation directory | ||
47 | * @author Milan | ||
48 | * @return a pointer to the dir path (to be freed by the caller) | ||
49 | */ | 45 | */ |
50 | char * | 46 | static char *loglev; |
51 | GNUNET_GTK_installation_get_path (enum GNUNET_OS_InstallationPathKind dirkind); | ||
52 | |||
53 | |||
54 | 47 | ||
55 | /** | 48 | /** |
56 | * Get the name of the directory where all of our package | 49 | * Our configuration. |
57 | * data is stored ($PREFIX/share/) | ||
58 | * | ||
59 | * @return name of the data directory | ||
60 | */ | 50 | */ |
61 | const char * | 51 | struct GNUNET_CONFIGURATION_Handle *cfg; |
62 | GNUNET_GTK_get_data_dir () | ||
63 | { | ||
64 | static char *dd; | ||
65 | |||
66 | if (dd == NULL) | ||
67 | dd = GNUNET_GTK_installation_get_path (GNUNET_OS_IPK_DATADIR); | ||
68 | return dd; | ||
69 | } | ||
70 | |||
71 | |||
72 | /** | ||
73 | * Create an initialize a new builder based on the | ||
74 | * GNUnet-GTK glade file. | ||
75 | * | ||
76 | * @param filename name of the resource file to load | ||
77 | * @return NULL on error | ||
78 | */ | ||
79 | GtkBuilder * | ||
80 | GNUNET_GTK_get_new_builder (const char *filename) | ||
81 | { | ||
82 | char *glade_path; | ||
83 | GtkBuilder *ret; | ||
84 | GError *error; | ||
85 | |||
86 | ret = gtk_builder_new (); | ||
87 | gtk_builder_set_translation_domain (ret, "gnunet-gtk"); | ||
88 | GNUNET_asprintf (&glade_path, | ||
89 | "%s%s", | ||
90 | GNUNET_GTK_get_data_dir (), | ||
91 | filename); | ||
92 | error = NULL; | ||
93 | if (0 == gtk_builder_add_from_file (ret, glade_path, &error)) | ||
94 | { | ||
95 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, | ||
96 | _("Failed to load `%s': %s\n"), | ||
97 | glade_path, | ||
98 | error->message); | ||
99 | g_error_free (error); | ||
100 | GNUNET_free (glade_path); | ||
101 | return NULL; | ||
102 | } | ||
103 | gtk_builder_connect_signals (ret, NULL); | ||
104 | GNUNET_free (glade_path); | ||
105 | return ret; | ||
106 | } | ||
107 | |||
108 | |||
109 | 52 | ||
110 | /** | 53 | /** |
111 | * Initialize GNU gettext for message translation. | 54 | * Global return value (for success/failure of gnunet-setup). |
112 | */ | 55 | */ |
113 | static void | 56 | static int gret; |
114 | setup_nls () | ||
115 | { | ||
116 | #if ENABLE_NLS | ||
117 | char *path; | ||
118 | |||
119 | setlocale (LC_ALL, ""); | ||
120 | GNUNET_asprintf (&path, | ||
121 | "%s/%s/locale/", | ||
122 | GNUNET_GTK_get_data_dir (), | ||
123 | PACKAGE_NAME); | ||
124 | bindtextdomain ("gnunet-setup", path); | ||
125 | textdomain ("gnunet-setup"); | ||
126 | bind_textdomain_codeset ("GNUnet", "UTF-8"); | ||
127 | bind_textdomain_codeset ("gnunet-setup", "UTF-8"); | ||
128 | GNUNET_free (path); | ||
129 | #else | ||
130 | fprintf (stderr, | ||
131 | "WARNING: gnunet-setup was compiled without i18n support (did CFLAGS contain -Werror?).\n"); | ||
132 | #endif | ||
133 | } | ||
134 | |||
135 | 57 | ||
136 | /** | 58 | /** |
137 | * Initialize GTK search path for icons. | 59 | * Get an object from the main window. |
60 | * | ||
61 | * @param name name of the object | ||
62 | * @return NULL on error, otherwise the object | ||
138 | */ | 63 | */ |
139 | static void | 64 | GObject * |
140 | set_icon_search_path () | 65 | GNUNET_SETUP_get_object (const char *name) |
141 | { | 66 | { |
142 | char *buf; | 67 | return GNUNET_GTK_main_loop_get_object (ml, name); |
143 | |||
144 | buf = GNUNET_GTK_installation_get_path (GNUNET_OS_IPK_ICONDIR); | ||
145 | gtk_icon_theme_append_search_path (gtk_icon_theme_get_default (), buf); | ||
146 | GNUNET_free (buf); | ||
147 | } | 68 | } |
148 | 69 | ||
149 | 70 | ||
@@ -157,8 +78,7 @@ help_click_callback (GtkWidget *widget, | |||
157 | 78 | ||
158 | if (event->type != GDK_BUTTON_PRESS) | 79 | if (event->type != GDK_BUTTON_PRESS) |
159 | return FALSE; | 80 | return FALSE; |
160 | help = GTK_LINK_BUTTON (gtk_builder_get_object (builder, | 81 | help = GTK_LINK_BUTTON (GNUNET_SETUP_get_object ("GNUNET_setup_help_text")); |
161 | "GNUNET_setup_help_text")); | ||
162 | gtk_link_button_set_uri (help, | 82 | gtk_link_button_set_uri (help, |
163 | os->help_url); | 83 | os->help_url); |
164 | gtk_button_set_label (GTK_BUTTON (help), | 84 | gtk_button_set_label (GTK_BUTTON (help), |
@@ -189,8 +109,7 @@ update_visibility (const struct GNUNET_SETUP_OptionSpecification *os, | |||
189 | while (os->visibility[i].widget_name != NULL) | 109 | while (os->visibility[i].widget_name != NULL) |
190 | { | 110 | { |
191 | vs = &os->visibility[i]; | 111 | vs = &os->visibility[i]; |
192 | widget = GTK_WIDGET (gtk_builder_get_object (builder, | 112 | widget = GTK_WIDGET (GNUNET_SETUP_get_object (vs->widget_name)); |
193 | vs->widget_name)); | ||
194 | if (widget == NULL) | 113 | if (widget == NULL) |
195 | { | 114 | { |
196 | GNUNET_log (GNUNET_ERROR_TYPE_WARNING, | 115 | GNUNET_log (GNUNET_ERROR_TYPE_WARNING, |
@@ -243,8 +162,7 @@ widget_state_change_callback (const struct GNUNET_SETUP_OptionSpecification *os) | |||
243 | GObject *widget; | 162 | GObject *widget; |
244 | char *value; | 163 | char *value; |
245 | 164 | ||
246 | widget = gtk_builder_get_object (builder, | 165 | widget = GNUNET_SETUP_get_object (os->widget_name); |
247 | os->widget_name); | ||
248 | GNUNET_assert (NULL != os->save_function); | 166 | GNUNET_assert (NULL != os->save_function); |
249 | if (GNUNET_OK != | 167 | if (GNUNET_OK != |
250 | os->save_function (os->load_save_cls, | 168 | os->save_function (os->load_save_cls, |
@@ -272,67 +190,22 @@ widget_state_change_callback (const struct GNUNET_SETUP_OptionSpecification *os) | |||
272 | } | 190 | } |
273 | 191 | ||
274 | 192 | ||
275 | int | 193 | /** |
276 | main (int argc, | 194 | * Load options into the main dialog. |
277 | char *const *argv) | 195 | */ |
196 | static void | ||
197 | load_options () | ||
278 | { | 198 | { |
279 | char *cfgName = GNUNET_strdup (GNUNET_DEFAULT_USER_CONFIG_FILE); | ||
280 | char *loglev = GNUNET_strdup ("WARNING"); | ||
281 | struct GNUNET_GETOPT_CommandLineOption options[] = { | ||
282 | GNUNET_GETOPT_OPTION_CFG_FILE (&cfgName), | ||
283 | GNUNET_GETOPT_OPTION_HELP (gettext_noop ("Setup tool for GNUnet")), | ||
284 | GNUNET_GETOPT_OPTION_LOGLEVEL (&loglev), | ||
285 | GNUNET_GETOPT_OPTION_VERSION (PACKAGE_VERSION), | ||
286 | GNUNET_GETOPT_OPTION_END | ||
287 | }; | ||
288 | gint ret; | ||
289 | GtkWidget *main_window; | ||
290 | GtkWidget *dialog; | ||
291 | GObject *widget; | ||
292 | int arg_off; | ||
293 | int iret; | ||
294 | char *const *argp; | ||
295 | char *value; | ||
296 | struct GNUNET_CONFIGURATION_Handle *cfgDefault; | ||
297 | const struct GNUNET_SETUP_OptionSpecification *os; | 199 | const struct GNUNET_SETUP_OptionSpecification *os; |
298 | unsigned int i; | 200 | unsigned int i; |
299 | 201 | GObject *widget; | |
300 | arg_off = GNUNET_GETOPT_run ("gnunet-setup", | 202 | char *value; |
301 | options, | 203 | |
302 | argc, | ||
303 | argv); | ||
304 | if (arg_off == GNUNET_SYSERR) | ||
305 | { | ||
306 | GNUNET_free (loglev); | ||
307 | GNUNET_free (cfgName); | ||
308 | return 1; | ||
309 | } | ||
310 | (void) GNUNET_log_setup ("gnunet-setup", | ||
311 | loglev, | ||
312 | NULL); | ||
313 | argp = &argv[arg_off]; | ||
314 | argc -= arg_off; | ||
315 | gtk_init (&argc, (char ***) &argp); | ||
316 | set_icon_search_path (); | ||
317 | setup_nls (); | ||
318 | builder = GNUNET_GTK_get_new_builder ("gnunet-setup.glade"); | ||
319 | if (builder == NULL) | ||
320 | { | ||
321 | GNUNET_free (loglev); | ||
322 | GNUNET_free (cfgName); | ||
323 | return 1; | ||
324 | } | ||
325 | cfg = GNUNET_CONFIGURATION_create (); | ||
326 | (void) GNUNET_CONFIGURATION_load (cfg, cfgName); | ||
327 | main_window = GTK_WIDGET (gtk_builder_get_object (builder, | ||
328 | "GNUNET_setup_dialog")); | ||
329 | /* load options into dialog */ | ||
330 | i = 0; | 204 | i = 0; |
331 | while (option_specifications[i].widget_name != NULL) | 205 | while (option_specifications[i].widget_name != NULL) |
332 | { | 206 | { |
333 | os = &option_specifications[i]; | 207 | os = &option_specifications[i]; |
334 | widget = gtk_builder_get_object (builder, | 208 | widget = GNUNET_SETUP_get_object (os->widget_name); |
335 | os->widget_name); | ||
336 | if (NULL == widget) | 209 | if (NULL == widget) |
337 | { | 210 | { |
338 | GNUNET_log (GNUNET_ERROR_TYPE_WARNING, | 211 | GNUNET_log (GNUNET_ERROR_TYPE_WARNING, |
@@ -410,53 +283,91 @@ main (int argc, | |||
410 | i++; | 283 | i++; |
411 | } | 284 | } |
412 | 285 | ||
413 | RESTART: | 286 | } |
414 | ret = gtk_dialog_run (GTK_DIALOG (main_window)); | 287 | |
415 | gtk_widget_hide (main_window); | 288 | |
289 | /** | ||
290 | * Callback invoked if the application is supposed to exit. | ||
291 | */ | ||
292 | void | ||
293 | GNUNET_SETUP_quit_cb (GtkObject *object, | ||
294 | gpointer user_data) | ||
295 | { | ||
296 | struct GNUNET_CONFIGURATION_Handle *cfgDefault; | ||
297 | |||
298 | GNUNET_GTK_main_loop_quit (ml); | ||
416 | cfgDefault = GNUNET_CONFIGURATION_create (); | 299 | cfgDefault = GNUNET_CONFIGURATION_create (); |
417 | (void) GNUNET_CONFIGURATION_load (cfgDefault, NULL); /* load defaults only */ | 300 | (void) GNUNET_CONFIGURATION_load (cfgDefault, NULL); /* load defaults only */ |
418 | iret = 0; | 301 | if (GNUNET_OK != |
419 | switch (ret) | 302 | GNUNET_CONFIGURATION_write_diffs (cfgDefault, |
420 | { | 303 | cfg, |
421 | case GTK_RESPONSE_CANCEL: /* -6 */ | 304 | cfgName)) |
422 | /* explicit cancel, do not save! */ | 305 | gret = 1; |
423 | break; | ||
424 | case GTK_RESPONSE_OK: /* save-as, -5 */ | ||
425 | dialog = gtk_file_chooser_dialog_new (_("Save Configuration File"), | ||
426 | NULL, | ||
427 | GTK_FILE_CHOOSER_ACTION_SAVE, | ||
428 | GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, | ||
429 | GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT, | ||
430 | NULL); | ||
431 | gtk_file_chooser_set_filename (GTK_FILE_CHOOSER (dialog), cfgName); | ||
432 | if (gtk_dialog_run (GTK_DIALOG (dialog)) != GTK_RESPONSE_ACCEPT) | ||
433 | { | ||
434 | gtk_widget_destroy (dialog); | ||
435 | goto RESTART; | ||
436 | } | ||
437 | GNUNET_free (cfgName); | ||
438 | cfgName = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dialog)); | ||
439 | gtk_widget_destroy (dialog); | ||
440 | /* fall through! */ | ||
441 | case GTK_RESPONSE_DELETE_EVENT: /* window close, -4 */ | ||
442 | case GTK_RESPONSE_ACCEPT: /* save, -3 */ | ||
443 | if (GNUNET_OK != | ||
444 | GNUNET_CONFIGURATION_write_diffs (cfgDefault, | ||
445 | cfg, | ||
446 | cfgName)) | ||
447 | iret = 1; | ||
448 | break; | ||
449 | default: | ||
450 | GNUNET_break (0); | ||
451 | } | ||
452 | gtk_widget_destroy (main_window); | ||
453 | g_object_unref (G_OBJECT (builder)); | ||
454 | GNUNET_CONFIGURATION_destroy (cfgDefault); | 306 | GNUNET_CONFIGURATION_destroy (cfgDefault); |
455 | GNUNET_CONFIGURATION_destroy (cfg); | 307 | GNUNET_CONFIGURATION_destroy (cfg); |
308 | } | ||
309 | |||
310 | |||
311 | /** | ||
312 | * Actual main method that sets up the configuration window. | ||
313 | * | ||
314 | * @param cls the main loop handle | ||
315 | * @param tc scheduler context | ||
316 | */ | ||
317 | static void | ||
318 | run (void *cls, | ||
319 | const struct GNUNET_SCHEDULER_TaskContext *tc) | ||
320 | { | ||
321 | ml = cls; | ||
322 | GtkWidget *main_window; | ||
323 | |||
324 | cfg = GNUNET_CONFIGURATION_create (); | ||
325 | (void) GNUNET_CONFIGURATION_load (cfg, cfgName); | ||
326 | main_window = GTK_WIDGET (GNUNET_SETUP_get_object ("GNUNET_setup_dialog")); | ||
327 | |||
328 | load_options (); | ||
329 | gtk_widget_show (main_window); | ||
330 | gtk_window_present (GTK_WINDOW (main_window)); | ||
331 | } | ||
332 | |||
333 | |||
334 | /** | ||
335 | * Main function for gnunet-setup. | ||
336 | * | ||
337 | * @param argc number of arguments | ||
338 | * @param argv arguments | ||
339 | * @return 0 on success | ||
340 | */ | ||
341 | int | ||
342 | main (int argc, | ||
343 | char *const *argv) | ||
344 | { | ||
345 | struct GNUNET_GETOPT_CommandLineOption options[] = { | ||
346 | GNUNET_GETOPT_OPTION_CFG_FILE (&cfgName), | ||
347 | GNUNET_GETOPT_OPTION_HELP (gettext_noop ("Setup tool for GNUnet")), | ||
348 | GNUNET_GETOPT_OPTION_LOGLEVEL (&loglev), | ||
349 | GNUNET_GETOPT_OPTION_VERSION (PACKAGE_VERSION), | ||
350 | GNUNET_GETOPT_OPTION_END | ||
351 | }; | ||
352 | int ret; | ||
353 | |||
354 | cfgName = GNUNET_strdup (GNUNET_DEFAULT_USER_CONFIG_FILE); | ||
355 | loglev = GNUNET_strdup ("WARNING"); | ||
356 | |||
357 | if (GNUNET_OK == | ||
358 | GNUNET_GTK_main_loop_start ("gnunet-setup", | ||
359 | "guunet-setup", | ||
360 | argc, | ||
361 | argv, | ||
362 | options, | ||
363 | "gnunet_setup_gtk_main_window.glade", | ||
364 | &run)) | ||
365 | ret = gret; | ||
366 | else | ||
367 | ret = 1; | ||
456 | GNUNET_free (cfgName); | 368 | GNUNET_free (cfgName); |
457 | GNUNET_free (loglev); | 369 | GNUNET_free (loglev); |
458 | return iret; | 370 | return ret; |
459 | } | 371 | } |
460 | 372 | ||
461 | |||
462 | /* end of gnunet-setup.c */ | 373 | /* end of gnunet-setup.c */ |
diff --git a/src/setup/gnunet-setup.h b/src/setup/gnunet-setup.h index 74b7aba5..bc7deef8 100644 --- a/src/setup/gnunet-setup.h +++ b/src/setup/gnunet-setup.h | |||
@@ -33,9 +33,14 @@ | |||
33 | #include <gtk/gtk.h> | 33 | #include <gtk/gtk.h> |
34 | 34 | ||
35 | /** | 35 | /** |
36 | * Builder for the main window. | 36 | * Get an object from the main window. |
37 | * | ||
38 | * @param name name of the object | ||
39 | * @return NULL on error, otherwise the object | ||
37 | */ | 40 | */ |
38 | extern GtkBuilder *builder; | 41 | GObject * |
42 | GNUNET_SETUP_get_object (const char *name); | ||
43 | |||
39 | 44 | ||
40 | /** | 45 | /** |
41 | * Our configuration. | 46 | * Our configuration. |