Initialize default multiwindow base class
[platform/core/appfw/app-core.git] / src / base / appcore_base.c
index 00ab25e..5c495f5 100644 (file)
@@ -417,6 +417,8 @@ static GList *__append_langs(const char *lang, GList *list, GHashTable *table)
        if (lang == NULL)
                return list;
 
+       list = g_list_append(list, strdup(lang));
+
        extract_lang = __get_string_before(lang, ".");
        if (extract_lang == NULL)
                return list;
@@ -826,8 +828,10 @@ EXPORT_API int appcore_base_on_set_i18n(void)
        char *name = NULL;
 
        r = aul_app_get_appid_bypid(getpid(), appid, PATH_MAX);
-       if (r < 0)
+       if (r < 0) {
+               _ERR("Failed to get application ID - pid(%d)", getpid());
                return -1;
+       }
 
        r = __get_app_name(appid, &name);
        if (r < 0)
@@ -868,6 +872,9 @@ EXPORT_API int appcore_base_init(appcore_base_ops ops, int argc, char **argv, vo
        __context.suspended_state = false;
        __context.allowed_bg = false;
 
+       if (__context.ops.init)
+               __context.ops.init(argc, argv, data);
+
        if (__context.ops.set_i18n)
                __context.ops.set_i18n(__context.data);
 
@@ -928,6 +935,9 @@ EXPORT_API void appcore_base_fini(void)
        }
 
        __context.dirty = false;
+
+       if (__context.ops.finish)
+               __context.ops.finish();
 }
 
 EXPORT_API int appcore_base_flush_memory(void)
@@ -1050,8 +1060,6 @@ EXPORT_API int appcore_base_on_control(bundle *b)
 EXPORT_API int appcore_base_on_terminate()
 {
        aul_finalize();
-       if (__context.ops.exit)
-               __context.ops.exit(__context.data);
 
        return 0;
 }
@@ -1194,6 +1202,12 @@ EXPORT_API void appcore_base_toggle_suspended_state(void)
        __context.suspended_state ^= __context.suspended_state;
 }
 
+EXPORT_API void appcore_base_exit(void)
+{
+       if (__context.ops.exit)
+               __context.ops.exit(__context.data);
+}
+
 static int __on_receive(aul_type type, bundle *b, void *data)
 {
        return appcore_base_on_receive(type, b);
@@ -1238,6 +1252,8 @@ EXPORT_API appcore_base_ops appcore_base_get_default_ops(void)
        ops.terminate = __on_terminate;
        ops.receive = __on_receive;
        ops.set_i18n = __on_set_i18n;
+       ops.init = NULL;
+       ops.finish = NULL;
        ops.run = NULL;
        ops.exit = NULL;
        ops.set_event = __on_set_event;