* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+#include <modest-platform.h>
#include <modest-tny-platform-factory.h>
#include <modest-tny-account.h>
#include <modest-tny-account-store.h>
#include <modest-tny-local-folders-account.h>
#include <modest-runtime.h>
-#include <modest-platform.h>
#include <tny-simple-list.h>
#include <modest-tny-folder.h>
#include <modest-tny-outbox-account.h>
/* There is no need to do this _async, as these are local folders. */
/* TODO: However, this seems to fail sometimes when the network is busy,
* returning an empty list. murrayc. */
+ GError *error = NULL;
tny_folder_store_get_folders (TNY_FOLDER_STORE (local_account),
- folders, NULL, NULL);
+ folders, NULL, &error);
+ if (error) {
+ g_warning ("%s: tny_folder_store_get_folders() failed:\n error=%s\n",
+ __FUNCTION__, error->message);
+ }
if (tny_list_get_length (folders) == 0) {
gchar* url_string = tny_account_get_url_string (local_account);
printf ("DEBUG: %s: status=%d\n", __FUNCTION__, status);
if (status == TNY_CONNECTION_STATUS_DISCONNECTED) {
- /* We are trying to use the network with an account,
- * but the accounts are set as offline, because our TnyDevice is offline,
+ /* A tinymail network operation failed, and tinymail then noticed that
+ * the account is offline, because our TnyDevice is offline,
* because libconic says we are offline.
- * So ask the user to go online:
+ * So ask the user to go online again.
+ *
+ * Note that this signal will not be emitted if the account was offline
+ * when the network operation was first attempted. For those cases,
+ * the application must do its own explicit checks.
+ *
+ * We make sure that this UI is shown in the main thread, to avoid races,
+ * because tinymail does not guarantee that this signal handler will be called
+ * in the main thread.
+ */
+ /* TODO: Commented out, because this causes hangs, probably related to
+ * our use of mainloops:
+ * modest_platform_connect_and_wait (NULL);
*/
- modest_platform_connect_and_wait(NULL);
} else if (status == TNY_CONNECTION_STATUS_CONNECTED_BROKEN) {
printf ("DEBUG: %s: Connection broken. Forcing TnyDevice offline.\n",
__FUNCTION__);
* When libconic reconnects, it will set the device back online again,
* regardless of it being forced offline before.
*/
+ /* TODO: Find out when this is falsely being emitted. */
+ printf (" DEBUG: %s: Not forcing offline because tinymail is sometimes reporting false connection breaks.\n",
+ __FUNCTION__);
+ /*
TnyDevice *device = modest_runtime_get_device ();
tny_device_force_offline (device);
+ */
}
}