Tizen 2.1 release
[platform/core/uifw/e17.git] / src / modules / connman / e_mod_config.c
1 #include "e_mod_main.h"
2
3 extern const char _e_connman_Name[];
4
5 struct _E_Config_Dialog_Data
6 {
7    E_Connman_Module_Context *ctxt;
8 };
9
10 static Evas_Object *
11 _basic_create(E_Config_Dialog *dialog, Evas *evas, E_Config_Dialog_Data *cfdata)
12 {
13    return NULL;
14 }
15
16 static int
17 _basic_apply(E_Config_Dialog *dialog, E_Config_Dialog_Data *cfdata)
18 {
19    return 1;
20 }
21
22 static void
23 _free_data(E_Config_Dialog      *dialog,
24            E_Config_Dialog_Data *cfdata)
25 {
26    E_Connman_Module_Context *ctxt = dialog->data;
27    ctxt->conf_dialog = NULL;
28    E_FREE(cfdata);
29 }
30
31 static inline void
32 _fill_data(E_Config_Dialog_Data *cfdata,
33            E_Connman_Module_Context *ctxt)
34 {
35    cfdata->ctxt = ctxt;
36 }
37
38 static void *
39 _create_data(E_Config_Dialog *dialog)
40 {
41    E_Config_Dialog_Data *cfdata;
42
43    cfdata = E_NEW(E_Config_Dialog_Data, 1);
44    if (!cfdata)
45      return NULL;
46    _fill_data(cfdata, dialog->data);
47    return cfdata;
48 }
49
50 E_Config_Dialog *
51 e_connman_config_dialog_new(E_Container *con,
52                             E_Connman_Module_Context *ctxt)
53 {
54    E_Config_Dialog *dialog;
55    E_Config_Dialog_View *view;
56
57    EINA_SAFETY_ON_TRUE_RETURN_VAL(!!ctxt->conf_dialog, ctxt->conf_dialog);
58
59    view = E_NEW(E_Config_Dialog_View, 1);
60    if (!view)
61      return NULL;
62
63    view->create_cfdata = _create_data;
64    view->free_cfdata = _free_data;
65    view->basic.create_widgets = _basic_create;
66    view->basic.apply_cfdata = _basic_apply;
67
68    dialog = e_config_dialog_new
69        (con, _("Connection Manager"),
70        _e_connman_Name, "e_connman_config_dialog_new",
71        e_connman_theme_path(), 0, view, ctxt);
72    e_dialog_resizable_set(dialog->dia, 1);
73
74    return dialog;
75 }