* check for a valid foldername
[modest] / src / modest-runtime.c
index f67db37..f39b5c2 100644 (file)
@@ -77,8 +77,8 @@ modest_runtime_uninit (void)
                return TRUE;    /* uninit maybe called if runtime_init failed */
        
        g_return_val_if_fail (MODEST_IS_SINGLETONS(_singletons), FALSE);
+       modest_runtime_verify_object_last_ref(_singletons,"");
        g_object_unref(G_OBJECT(_singletons));
-       modest_runtime_verify_object_death(_singletons,"");
        _singletons = NULL;
                
        return TRUE;
@@ -93,10 +93,18 @@ modest_runtime_get_account_mgr   (void)
        return modest_singletons_get_account_mgr (_singletons);
 }
 
+ModestEmailClipboard*
+modest_runtime_get_email_clipboard   (void)
+{
+       g_return_val_if_fail (_singletons, NULL);
+       return modest_singletons_get_email_clipboard (_singletons);
+}
+
 ModestTnyAccountStore*
 modest_runtime_get_account_store   (void)
 {
-       g_return_val_if_fail (_singletons, NULL);
+       if (!_singletons)
+               return NULL;
        return modest_singletons_get_account_store (_singletons);
 
 }
@@ -155,14 +163,29 @@ modest_runtime_get_send_queue  (TnyTransportAccount *account)
        send_queue_cache = modest_cache_mgr_get_cache (cache_mgr,
                                                       MODEST_CACHE_MGR_CACHE_TYPE_SEND_QUEUE);
 
+       /* Each modest account has its own send queue.
+        * Note that each modest account will have its own outbox folder, 
+        * returned by TnySendQueue::get_outbox_func().
+        */
        if (!g_hash_table_lookup_extended (send_queue_cache, account, &orig_key, &send_queue)) {
+               /* Note that this send queue will start sending messages from its outbox 
+                * as soon as it is instantiated: */
                send_queue = (gpointer)modest_tny_send_queue_new (TNY_CAMEL_TRANSPORT_ACCOUNT(account));
+
                g_hash_table_insert (send_queue_cache, account, send_queue);
+               g_object_ref (send_queue);
        }
 
        return MODEST_TNY_SEND_QUEUE(send_queue);
 }
 
+void modest_runtime_remove_all_send_queues ()
+{
+       ModestCacheMgr *cache_mgr = modest_singletons_get_cache_mgr (_singletons);
+       
+       modest_cache_mgr_flush (cache_mgr, MODEST_CACHE_MGR_CACHE_TYPE_SEND_QUEUE);
+}
+
 ModestWindowMgr *
 modest_runtime_get_window_mgr (void)
 {