#include <tny-list.h>
#include <tny-simple-list.h>
+#include <modest-runtime.h>
#include <modest-defs.h>
-#include <modest-init.h>
-#include <modest-conf.h>
-#include <modest-account-mgr.h>
#include <modest-ui.h>
-#include <modest-debug.h>
#include <modest-icon-factory.h>
#include <modest-tny-account-store.h>
#include <modest-tny-platform-factory.h>
#include <modest-mail-operation.h>
-#if MODEST_PLATFORM_ID==2 /* maemo */
-#include <libosso.h>
-#endif /* MODEST_PLATFORM==2 */
-
-static gboolean hildon_init (); /* NOP if HILDON is not defined */
-static int start_ui (const gchar* mailto, const gchar *cc,
- const gchar *bcc, const gchar* subject, const gchar *body,
- TnyAccountStore *account_store);
+static int start_ui (const gchar* mailto, const gchar *cc, const gchar *bcc,
+ const gchar* subject, const gchar *body);
static int send_mail (const gchar* mailto, const gchar *cc, const gchar *bcc,
const gchar* subject, const gchar *body);
main (int argc, char *argv[])
{
GOptionContext *context = NULL;
- TnyPlatformFactory *fact = NULL;
- TnyAccountStore *account_store = NULL;
GError *err = NULL;
int retval = MODEST_ERR_NONE;
{ NULL, 0, 0, 0, NULL, NULL, NULL }
};
- bindtextdomain (GETTEXT_PACKAGE, MODEST_LOCALEDIR);
- bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
- textdomain (GETTEXT_PACKAGE);
-
- modest_debug_g_type_init ();
- modest_debug_logging_init ();
-
- g_thread_init (NULL);
- modest_init_default_account_maybe ();
-
- gdk_threads_init (); /* hmmm... not really needed if we're not doing ui*/
+ if (!modest_runtime_init ()) {
+ g_printerr ("modest: cannot init runtime\n");
+ return MODEST_ERR_INIT;
+ }
context = g_option_context_new (NULL);
g_option_context_add_main_entries (context, options, NULL);
goto cleanup;
}
g_option_context_free (context);
-
- /* Get platform factory */
- fact = modest_tny_platform_factory_get_instance ();
-
- if (!modest_init_local_folders ()) {
- g_printerr ("modest: failed to initialize local folders, exiting\n");
- retval = MODEST_ERR_INIT;
- goto cleanup;
- }
-
- /* Get the account store */
- account_store = tny_platform_factory_new_account_store (fact);
- if (!account_store) {
- g_printerr ("modest: could not initialize a ModestTnyAccountStore instance\n");
- retval = MODEST_ERR_RUN;
- goto cleanup;
- }
if (!getenv("DISPLAY"))
batch = TRUE;
g_printerr ("modest: failed to start graphical ui\n");
goto cleanup;
}
- modest_init_header_columns (factory_settings);
- retval = start_ui (mailto, cc, bcc, subject, body, account_store);
+ retval = start_ui (mailto, cc, bcc, subject, body);
} else
retval = send_mail (mailto, cc, bcc, subject, body);
cleanup:
- if (fact)
- g_object_unref (G_OBJECT(fact));
-
- /* this will clean up account_store as well */
-
+ if (!modest_runtime_uninit ())
+ g_printerr ("modest: modest_runtime_uninit failed\n");
return retval;
}
static int
start_ui (const gchar* mailto, const gchar *cc, const gchar *bcc,
- const gchar* subject, const gchar *body,
- TnyAccountStore *account_store)
+ const gchar* subject, const gchar *body)
{
- ModestUI *modest_ui;
ModestWindow *win = NULL;
- gint retval = 0;
+ ModestUI *modest_ui = NULL;
- modest_ui = MODEST_UI(modest_ui_new (account_store));
- if (!modest_ui) {
- g_printerr ("modest: failed to initialize ui, exiting\n");
- retval = MODEST_ERR_UI;
- goto cleanup;
- }
-
- if (!hildon_init ()) { /* NOP if hildon is not defined */
- g_printerr ("modest: failed to initialize hildon, exiting\n");
- retval = MODEST_ERR_HILDON;
- goto cleanup;
- }
+ gint retval = 0;
+
+ modest_ui = modest_ui_new ();
if (mailto||cc||bcc||subject||body) {
+ g_warning ("FIXME: implement this");
/* ok = modest_ui_new_edit_window (modest_ui, */
/* mailto, /\* to *\/ */
/* cc, /\* cc *\/ */
win = modest_ui_main_window (modest_ui);
if (win) {
- TnyDevice *device;
-
gtk_widget_show_all (GTK_WIDGET (win));
-
- /* Go online */
- device = tny_account_store_get_device (account_store);
- tny_device_force_online (device);
- g_object_unref (G_OBJECT (device));
-
gtk_main();
}
-cleanup:
if (modest_ui)
- g_object_unref (modest_ui);
-
- return retval;
-}
+ g_object_unref (G_OBJECT(modest_ui));
-
-static gboolean
-hildon_init ()
-{
-#if MODEST_PLATFORM_ID==2
-
- osso_context_t *osso_context =
- osso_initialize(PACKAGE, PACKAGE_VERSION,
- TRUE, NULL);
- if (!osso_context) {
- g_printerr ("modest: failed to acquire osso context\n");
- return FALSE;
- }
-#endif /* MODEST_PLATFORM_ID==2 */
- return TRUE;
+ return retval;
}
send_mail (const gchar* mailto, const gchar *cc, const gchar *bcc,
const gchar* subject, const gchar *body)
{
- ModestAccountMgr *acc_mgr = NULL;
- TnyPlatformFactory *fact = NULL;
- TnyAccountStore *acc_store = NULL;
ModestMailOperation *mail_operation = NULL;
-
TnyList *accounts = NULL;
TnyIterator *iter = NULL;
TnyTransportAccount *account = NULL;
int retval;
- fact = modest_tny_platform_factory_get_instance ();
- acc_mgr = modest_tny_platform_factory_get_account_mgr_instance
- (MODEST_TNY_PLATFORM_FACTORY(fact));
- acc_store = tny_platform_factory_new_account_store (fact);
-
accounts = TNY_LIST(tny_simple_list_new ());
- tny_account_store_get_accounts (TNY_ACCOUNT_STORE(acc_store), accounts,
- TNY_ACCOUNT_STORE_TRANSPORT_ACCOUNTS);
+ tny_account_store_get_accounts (TNY_ACCOUNT_STORE(modest_runtime_get_account_store()),
+ accounts,
+ TNY_ACCOUNT_STORE_TRANSPORT_ACCOUNTS);
iter = tny_list_create_iterator(accounts);
tny_iterator_first (iter);
}
account = TNY_TRANSPORT_ACCOUNT (tny_iterator_get_current(iter));
-
mail_operation = modest_mail_operation_new ();
modest_mail_operation_send_new_mail (mail_operation,
goto cleanup;
} else
retval = MODEST_ERR_NONE; /* hurray! */
-
cleanup:
if (iter)
g_object_unref (G_OBJECT (iter));
g_object_unref (G_OBJECT (accounts));
if (mail_operation)
g_object_unref (G_OBJECT (mail_operation));
-
return retval;
}