splitscreen: disable feature for refactor e_desk_area
[platform/core/uifw/e-mod-tizen-wm-policy.git] / src / e_mod_main.c
1 #include "e_mod_main.h"
2 #include "e_mod_rotation.h"
3 #include "e_mod_pol_pingpong.h"
4 #include "e_mod_configured_resolution.h"
5 #include <stdlib.h>
6 #include <system_info.h>
7
8 E_API E_Module_Api e_modapi = { E_MODULE_API_VERSION, "Policy-Mobile" };
9
10 Mod *_pol_mod = NULL;
11
12 static void
13 _e_mod_pol_rotation_init(void)
14 {
15    Eina_List *angle_list = NULL;
16
17    angle_list = e_mod_pol_conf_rot_enable_angles_get();
18    e_mod_pol_rotation_init(angle_list);
19 }
20
21 E_API void *
22 e_modapi_init(E_Module *m)
23 {
24    Mod *mod;
25
26    mod = E_NEW(Mod, 1);
27    EINA_SAFETY_ON_NULL_RETURN_VAL(mod, NULL);
28
29    mod->module = m;
30    _pol_mod = mod;
31
32    if (!e_config->use_e_policy)
33      ERR("No policy system!");
34
35    e_mod_pol_conf_init(mod);
36    _e_mod_pol_rotation_init();
37    e_mod_pol_pingpong_init();
38    e_mod_configured_resolution_init();
39
40    return mod;
41 }
42
43 E_API int
44 e_modapi_shutdown(E_Module *m)
45 {
46    Mod *mod = m->data;
47
48    e_mod_configured_resolution_shutdown();
49    e_mod_pol_pingpong_shutdown();
50    e_mod_pol_rotation_shutdown();
51    e_mod_pol_conf_shutdown(mod);
52    E_FREE(mod);
53    _pol_mod = NULL;
54    return 1;
55 }
56
57 E_API int
58 e_modapi_save(E_Module *m)
59 {
60    Mod *mod = m->data;
61    e_config_domain_save("module.policy-tizen",
62                         mod->conf_edd,
63                         mod->conf);
64    return 1;
65 }