+typedef struct {
+ GHashTable *hash;
+ gchar *country_name;
+} country_cb_data;
+
+static gboolean
+get_counties_cb (tower *details,
+ gpointer data)
+{
+ country_cb_data *d = (country_cb_data *)data;
+
+ if (details->serial==0)
+ return TRUE; /* header row */
+
+ if (strcmp(details->fields[FieldCountry], d->country_name)!=0)
+ return TRUE; /* wrong country */
+
+ if (!g_hash_table_lookup_extended (d->hash,
+ details->fields[FieldCounty],
+ NULL, NULL))
+ {
+ g_hash_table_insert (d->hash,