+Settings::ConnectionType Settings::getConnectionType()
+{
+ QString value = get("connection");
+
+ if(value == "any")
+ {
+ return ANY;
+ }
+ else if(value == "wlan")
+ {
+ return WLAN;
+ }
+ else if(value == "gprs")
+ {
+ return GPRS;
+ }
+ else
+ {
+ if(value != "global")
+ {
+ qDebug() << "Unknown connection type in settings, using default";
+ }
+
+ QList<QString> values;
+
+ GConfClient* gcClient = NULL;
+ gcClient = gconf_client_get_default();
+
+ g_assert(GCONF_IS_CLIENT(gcClient));
+
+ GError* error = NULL;
+ GSList* list = NULL;
+ list = gconf_client_get_list(gcClient,
+ "/system/osso/connectivity/network_type/auto_connect",
+ GCONF_VALUE_STRING,
+ &error);
+
+ if(error)
+ {
+ qDebug() << "Error: " << error->message;
+ g_error_free(error);
+ }
+ else
+ {
+ while(list)
+ {
+ values.push_back((char *)list->data);
+ list = list->next;
+ }
+
+ }
+
+ g_object_unref(gcClient);
+
+ if(values.size() == 0)
+ {
+ return ALWAYS_ASK;
+ }
+ else
+ {
+ QString value = values.at(0);
+
+ if(value == "*")
+ {
+ return ANY;
+ }
+ else if(value == "GPRS")
+ {
+ return GPRS;
+ }
+ else if(value == "WLAN_INFRA" || value == "WLAN_ADHOC" || value == "WLAN")
+ {
+ return WLAN;
+ }
+ else
+ {
+ qDebug() << "Unknown connection type: " << value;
+ return ALWAYS_ASK;
+ }
+ }
+
+ }
+
+ return ALWAYS_ASK;
+}
+