#include "modest-singletons.h"
#include "modest-runtime.h"
+#include "modest-defs.h"
#include "modest-debug.h"
+#ifdef MODEST_TOOLKIT_HILDON2
+#include "hildon2/modest-hildon2-window-mgr.h"
+#else
+#include "widgets/modest-hildon1-window-mgr.h"
+#endif
#include <tny-fs-stream-cache.h>
/* 'private'/'protected' functions */
TnyPlatformFactory *platform_fact;
TnyDevice *device;
ModestWindowMgr *window_mgr;
+ ModestProtocolRegistry *protocol_registry;
+ ModestPluginFactory *plugin_factory;
TnyStreamCache *images_cache;
};
#define MODEST_SINGLETONS_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE((o), \
priv->platform_fact = NULL;
priv->device = NULL;
priv->window_mgr = NULL;
+ priv->protocol_registry = NULL;
+ priv->plugin_factory = NULL;
+
+ priv->protocol_registry = modest_protocol_registry_new ();
+ if (!priv->protocol_registry) {
+ g_printerr ("modest:cannot create protocol registry instance\n");
+ return;
+ }
+ modest_protocol_registry_set_to_default (priv->protocol_registry);
priv->images_cache = NULL;
priv->conf = modest_conf_new ();
return;
}
- priv->window_mgr = modest_window_mgr_new ();
+#if MODEST_TOOLKIT_HILDON2
+ priv->window_mgr = modest_hildon2_window_mgr_new ();
+#else
+ priv->window_mgr = modest_hildon1_window_mgr_new ();
+#endif
if (!priv->window_mgr) {
g_printerr ("modest: cannot create modest window manager instance\n");
return;
}
+ priv->plugin_factory = modest_plugin_factory_new ();
+ if (!priv->plugin_factory) {
+ g_printerr ("modest: cannot create modest mail plugin factory instance\n");
+ return;
+ }
+
images_cache_path = g_build_filename (g_get_home_dir (), MODEST_DIR, MODEST_IMAGES_CACHE_DIR, NULL);
priv->images_cache = tny_fs_stream_cache_new (images_cache_path, MODEST_IMAGES_CACHE_SIZE);
g_free (images_cache_path);
g_printerr ("modest: cannot create images cache instance\n");
return;
}
+
}
static void
priv->email_clipboard = NULL;
}
+ if (priv->plugin_factory) {
+ MODEST_DEBUG_VERIFY_OBJECT_LAST_REF(priv->plugin_factory,"");
+ g_object_unref (G_OBJECT(priv->plugin_factory));
+ priv->plugin_factory = NULL;
+ }
+
+ if (priv->protocol_registry) {
+ MODEST_DEBUG_VERIFY_OBJECT_LAST_REF(priv->protocol_registry,"");
+ g_object_unref (G_OBJECT(priv->protocol_registry));
+ priv->protocol_registry = NULL;
+ }
+
/* It is important that the account manager is uninitialized after
* the mail op queue is uninitialized because the mail op queue
* cancells any mail operations which in turn access the account
/* widget_factory will still be NULL, as it is initialized lazily */
if (!(priv->conf && priv->account_mgr && priv->email_clipboard &&
- priv->cache_mgr && priv->mail_op_queue && priv->device && priv->platform_fact)) {
+ priv->cache_mgr && priv->mail_op_queue && priv->device &&
+ priv->platform_fact && priv->plugin_factory)) {
g_printerr ("modest: failed to create singletons object\n");
g_object_unref (G_OBJECT(self));
self = NULL;
return MODEST_SINGLETONS_GET_PRIVATE(self)->window_mgr;
}
+ModestProtocolRegistry*
+modest_singletons_get_protocol_registry (ModestSingletons *self)
+{
+ g_return_val_if_fail (self, NULL);
+ return MODEST_SINGLETONS_GET_PRIVATE(self)->protocol_registry;
+}
+
TnyStreamCache*
modest_singletons_get_images_cache (ModestSingletons *self)
{
g_return_val_if_fail (self, NULL);
return MODEST_SINGLETONS_GET_PRIVATE(self)->images_cache;
}
+
+ModestPluginFactory *
+modest_singletons_get_plugin_factory (ModestSingletons *self)
+{
+ g_return_val_if_fail (self, NULL);
+
+ return MODEST_SINGLETONS_GET_PRIVATE (self)->plugin_factory;
+}