static void
modest_tny_account_store_instance_init (ModestTnyAccountStore *obj)
{
- GnomeVFSVolumeMonitor* monitor = NULL;
ModestTnyAccountStorePrivate *priv;
priv = MODEST_TNY_ACCOUNT_STORE_GET_PRIVATE(obj);
*/
priv->password_hash = g_hash_table_new_full (g_str_hash, g_str_equal,
g_free, g_free);
-
- /* Respond to volume mounts and unmounts, such
- * as the insertion/removal of the memory card: */
- /* This is a singleton, so it does not need to be unrefed. */
- monitor = gnome_vfs_get_volume_monitor();
-
- priv->sighandlers = modest_signal_mgr_connect (priv->sighandlers,
- G_OBJECT(monitor),
- "volume-mounted",
- G_CALLBACK(on_vfs_volume_mounted),
- obj);
- priv->sighandlers = modest_signal_mgr_connect (priv->sighandlers,
- G_OBJECT(monitor), "volume-unmounted",
- G_CALLBACK(on_vfs_volume_unmounted),
- obj);
}
/* disconnect the list of TnyAccounts */
G_OBJECT_CLASS(parent_class)->finalize (obj);
}
-gboolean
+static gboolean
volume_path_is_mounted (const gchar* path)
{
g_return_val_if_fail (path, FALSE);
}
ModestTnyAccountStore*
-modest_tny_account_store_new (ModestAccountMgr *account_mgr,
- TnyDevice *device)
+modest_tny_account_store_new (ModestAccountMgr *account_mgr,
+ TnyDevice *device)
{
GObject *obj;
ModestTnyAccountStorePrivate *priv;
TnyAccount *local_account = NULL;
- TnyLockable *lockable;
+ TnyLockable *lockable;
+ GnomeVFSVolumeMonitor* monitor = NULL;
g_return_val_if_fail (account_mgr, NULL);
g_return_val_if_fail (device, NULL);
priv->account_mgr = g_object_ref (G_OBJECT(account_mgr));
priv->device = g_object_ref (device);
-
+
priv->session = tny_session_camel_new (TNY_ACCOUNT_STORE(obj));
if (!priv->session) {
g_warning ("failed to get TnySessionCamel");
lockable = tny_gtk_lockable_new ();
tny_session_camel_set_ui_locker (priv->session, lockable);
g_object_unref (lockable);
-
+
/* Connect signals */
priv->sighandlers = modest_signal_mgr_connect (priv->sighandlers,
G_OBJECT(account_mgr), "account_inserted",
G_OBJECT(account_mgr), "account_removed",
G_CALLBACK (on_account_removed), obj);
+ /* Respond to volume mounts and unmounts, such as the
+ insertion/removal of the memory card. This is a singleton,
+ so it does not need to be unrefed */
+ monitor = gnome_vfs_get_volume_monitor();
+ priv->sighandlers = modest_signal_mgr_connect (priv->sighandlers,
+ G_OBJECT(monitor),
+ "volume-mounted",
+ G_CALLBACK(on_vfs_volume_mounted),
+ obj);
+ priv->sighandlers = modest_signal_mgr_connect (priv->sighandlers,
+ G_OBJECT(monitor), "volume-unmounted",
+ G_CALLBACK(on_vfs_volume_unmounted),
+ obj);
+
/* Create the lists of accounts */
priv->store_accounts = tny_simple_list_new ();
priv->transport_accounts = tny_simple_list_new ();
gboolean requested_send_receive;
gboolean sending;
+
+ GSList *sighandlers;
};
#define MODEST_TNY_SEND_QUEUE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE((o), \
priv->outbox = NULL;
priv->sentbox = NULL;
priv->sending = FALSE;
+ priv->sighandlers = NULL;
}
static void
priv = MODEST_TNY_SEND_QUEUE_GET_PRIVATE (obj);
+ modest_signal_mgr_disconnect_all_and_destroy (priv->sighandlers);
+ priv->sighandlers = NULL;
+
g_queue_foreach (priv->queue, (GFunc)modest_tny_send_queue_info_free, NULL);
g_queue_free (priv->queue);
ModestTnySendQueuePrivate *priv = NULL;
TnyList *headers = NULL;
GetHeadersInfo *info;
-
+
g_return_val_if_fail (TNY_IS_CAMEL_TRANSPORT_ACCOUNT(account), NULL);
-
+
self = MODEST_TNY_SEND_QUEUE(g_object_new(MODEST_TYPE_TNY_SEND_QUEUE, NULL));
/* Set outbox and sentbox */
}
/* Connect signals to control when a msg is being or has been sent */
- g_signal_connect (G_OBJECT(self), "msg-sending",
- G_CALLBACK(_on_msg_start_sending),
- NULL);
- g_signal_connect (G_OBJECT(self), "msg-sent",
- G_CALLBACK(_on_msg_has_been_sent),
- NULL);
- g_signal_connect (G_OBJECT(self), "error-happened",
- G_CALLBACK(_on_msg_error_happened),
- NULL);
-
- g_signal_connect (G_OBJECT (self), "queue-start",
- G_CALLBACK (_on_queue_start),
- NULL);
-
- g_signal_connect (G_OBJECT (self), "queue-stop",
- G_CALLBACK (_on_queue_stop),
- NULL);
-
+ priv->sighandlers = modest_signal_mgr_connect (priv->sighandlers,
+ G_OBJECT(self),
+ "msg-sending",
+ G_CALLBACK(_on_msg_start_sending),
+ NULL);
+ priv->sighandlers = modest_signal_mgr_connect (priv->sighandlers,
+ G_OBJECT(self), "msg-sent",
+ G_CALLBACK(_on_msg_has_been_sent),
+ NULL);
+ priv->sighandlers = modest_signal_mgr_connect (priv->sighandlers,
+ G_OBJECT(self), "error-happened",
+ G_CALLBACK(_on_msg_error_happened),
+ NULL);
+ priv->sighandlers = modest_signal_mgr_connect (priv->sighandlers,
+ G_OBJECT (self), "queue-start",
+ G_CALLBACK (_on_queue_start),
+ NULL);
+ priv->sighandlers = modest_signal_mgr_connect (priv->sighandlers,
+ G_OBJECT (self), "queue-stop",
+ G_CALLBACK (_on_queue_stop),
+ NULL);
priv->requested_send_receive = FALSE;
headers = tny_simple_list_new ();