* to take effect. */
service = CAMEL_SERVICE (store);
- settings = camel_service_get_settings (service);
+ settings = camel_service_ref_settings (service);
imap_settings = CAMEL_IMAP_SETTINGS (settings);
real_path = camel_imap_settings_dup_real_junk_path (imap_settings);
store->flags |= CAMEL_STORE_VTRASH;
g_free (real_path);
+
+ g_object_unref (settings);
}
static void
if (tcp_stream == NULL)
return FALSE;
- settings = camel_service_get_settings (service);
+ settings = camel_service_ref_settings (service);
network_settings = CAMEL_NETWORK_SETTINGS (settings);
host = camel_network_settings_dup_host (network_settings);
method = camel_network_settings_get_security_method (network_settings);
+ g_object_unref (settings);
+
store->ostream = tcp_stream;
store->istream = camel_stream_buffer_new (tcp_stream, CAMEL_STREAM_BUFFER_READ);
password = camel_service_get_password (service);
provider = camel_service_get_provider (service);
- settings = camel_service_get_settings (service);
+
+ settings = camel_service_ref_settings (service);
network_settings = CAMEL_NETWORK_SETTINGS (settings);
host = camel_network_settings_dup_host (network_settings);
port = camel_network_settings_get_port (network_settings);
user = camel_network_settings_dup_user (network_settings);
+ g_object_unref (settings);
+
camel_url_set_protocol (&url, provider->protocol);
camel_url_set_host (&url, host);
camel_url_set_port (&url, port);
gboolean use_shell_command;
gboolean success;
- settings = camel_service_get_settings (service);
+ settings = camel_service_ref_settings (service);
+
shell_command = camel_imap_settings_dup_shell_command (
CAMEL_IMAP_SETTINGS (settings));
use_shell_command = camel_imap_settings_get_use_shell_command (
CAMEL_IMAP_SETTINGS (settings));
+ g_object_unref (settings);
+
#ifndef G_OS_WIN32
if (use_shell_command && shell_command != NULL)
success = connect_to_server_process (
gboolean success = TRUE;
session = camel_service_get_session (service);
- settings = camel_service_get_settings (service);
+
+ settings = camel_service_ref_settings (service);
network_settings = CAMEL_NETWORK_SETTINGS (settings);
host = camel_network_settings_dup_host (network_settings);
mechanism = camel_network_settings_dup_auth_mechanism (network_settings);
+ g_object_unref (settings);
+
if (store->preauthed) {
if (camel_verbose_debug)
fprintf(stderr, "Server %s has preauthenticated us.\n",
gchar *user;
gchar *name;
- settings = camel_service_get_settings (service);
+ settings = camel_service_ref_settings (service);
network_settings = CAMEL_NETWORK_SETTINGS (settings);
host = camel_network_settings_dup_host (network_settings);
user = camel_network_settings_dup_user (network_settings);
+ g_object_unref (settings);
+
if (brief)
name = g_strdup_printf (
_("IMAP server %s"), host);
const gchar *namespace;
GError *local_error = NULL;
- settings = camel_service_get_settings (service);
- imap_settings = CAMEL_IMAP_SETTINGS (settings);
-
if (!camel_offline_store_get_online (CAMEL_OFFLINE_STORE (store)))
return TRUE;
return FALSE;
}
+ settings = camel_service_ref_settings (service);
+ imap_settings = CAMEL_IMAP_SETTINGS (settings);
+
/* Get namespace and hierarchy separator */
if (store->capabilities & IMAP_CAPABILITY_NAMESPACE) {
struct _namespaces *namespaces;
}
done:
+ g_object_unref (settings);
+
/* save any changes we had */
camel_store_summary_save ((CamelStoreSummary *) store->summary);
CamelSettings *settings;
CamelImapSettings *imap_settings;
- settings = camel_service_get_settings (service);
- imap_settings = CAMEL_IMAP_SETTINGS (settings);
-
if (camel_offline_store_get_online (CAMEL_OFFLINE_STORE (store)) && clean) {
CamelImapResponse *response;
g_hash_table_remove_all (store->known_alerts);
+ settings = camel_service_ref_settings (service);
+ imap_settings = CAMEL_IMAP_SETTINGS (settings);
+
if (camel_imap_settings_get_use_namespace (imap_settings))
camel_imap_settings_set_namespace (imap_settings, NULL);
+ g_object_unref (settings);
+
return TRUE;
}
gchar *user;
password = camel_service_get_password (service);
- settings = camel_service_get_settings (service);
+
+ settings = camel_service_ref_settings (service);
network_settings = CAMEL_NETWORK_SETTINGS (settings);
user = camel_network_settings_dup_user (network_settings);
+ g_object_unref (settings);
+
if (user == NULL) {
g_set_error_literal (
error, CAMEL_SERVICE_ERROR,
gchar *trash_path;
service = CAMEL_SERVICE (store);
- settings = camel_service_get_settings (service);
user_cache_dir = camel_service_get_user_cache_dir (service);
+ settings = camel_service_ref_settings (service);
+
trash_path = camel_imap_settings_dup_real_trash_path (
CAMEL_IMAP_SETTINGS (settings));
if (trash_path != NULL) {
}
g_free (trash_path);
+ g_object_unref (settings);
+
if (folder)
return folder;
gchar *junk_path;
service = CAMEL_SERVICE (store);
- settings = camel_service_get_settings (service);
user_cache_dir = camel_service_get_user_cache_dir (service);
+ settings = camel_service_ref_settings (service);
+
junk_path = camel_imap_settings_dup_real_junk_path (
CAMEL_IMAP_SETTINGS (settings));
if (junk_path != NULL) {
}
g_free (junk_path);
+ g_object_unref (settings);
+
if (folder)
return folder;
gboolean success = TRUE;
service = CAMEL_SERVICE (store);
- settings = camel_service_get_settings (service);
user_cache_dir = camel_service_get_user_cache_dir (service);
+ settings = camel_service_ref_settings (service);
+
use_subscriptions = camel_imap_settings_get_use_subscriptions (
CAMEL_IMAP_SETTINGS (settings));
+ g_object_unref (settings);
+
if (!camel_imap_store_connected (imap_store, error)) {
success = FALSE;
goto fail;
gchar *namespace;
service = CAMEL_SERVICE (store);
- settings = camel_service_get_settings (service);
+
+ settings = camel_service_ref_settings (service);
namespace = camel_imap_settings_dup_namespace (
CAMEL_IMAP_SETTINGS (settings));
+ g_object_unref (settings);
+
camel_operation_push_message (cancellable,
_("Retrieving list of folders at '%s'"),
camel_service_get_display_name (service));
printf("get folder info offline\n");
service = CAMEL_SERVICE (store);
- settings = camel_service_get_settings (service);
+
+ settings = camel_service_ref_settings (service);
use_subscriptions = camel_imap_settings_get_use_subscriptions (
CAMEL_IMAP_SETTINGS (settings));
junk_path = camel_imap_settings_dup_real_junk_path (
CAMEL_IMAP_SETTINGS (settings));
+ trash_path = camel_imap_settings_dup_real_trash_path (
+ CAMEL_IMAP_SETTINGS (settings));
+
+ g_object_unref (settings);
+
/* So we can safely compare strings. */
if (junk_path == NULL)
junk_path = g_strdup ("");
- trash_path = camel_imap_settings_dup_real_trash_path (
- CAMEL_IMAP_SETTINGS (settings));
-
/* So we can safely compare strings. */
if (trash_path == NULL)
trash_path = g_strdup ("");
GError *local_error = NULL;
service = CAMEL_SERVICE (store);
- settings = camel_service_get_settings (service);
+
+ settings = camel_service_ref_settings (service);
check_all = camel_imap_settings_get_check_all (
CAMEL_IMAP_SETTINGS (settings));
check_subscribed = camel_imap_settings_get_check_subscribed (
CAMEL_IMAP_SETTINGS (settings));
+ g_object_unref (settings);
+
subscribed = ((info->flags & CAMEL_FOLDER_SUBSCRIBED) != 0);
res = CAMEL_STORE_CLASS (camel_imap_store_parent_class)->