forked from enlightenment/enlightenment
parent
2d102509d2
commit
4d0bd7c9b5
|
@ -819,6 +819,14 @@ main(int argc, char **argv)
|
|||
}
|
||||
_e_main_shutdown_push(e_desklock_shutdown);
|
||||
|
||||
TS("order");
|
||||
if (!e_order_init())
|
||||
{
|
||||
e_error_message_show(_("Enlightenment cannot set up its order file system."));
|
||||
_e_main_shutdown(-1);
|
||||
}
|
||||
_e_main_shutdown_push(e_order_shutdown);
|
||||
|
||||
TS("add idle enterers");
|
||||
/* add in a handler that just before we go idle we flush x */
|
||||
_e_main_idle_enterer_flusher = ecore_idle_enterer_add(_e_main_cb_x_flusher, NULL);
|
||||
|
|
|
@ -14,7 +14,29 @@ static void _e_order_cb_monitor (void *data, Ecore_File_Monitor *em, Ecore_File_
|
|||
static void _e_order_read (E_Order *eo);
|
||||
static void _e_order_save (E_Order *eo);
|
||||
|
||||
static Evas_List *orders = NULL;
|
||||
|
||||
/* externally accessible functions */
|
||||
EAPI int
|
||||
e_order_init(void)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
EAPI int
|
||||
e_order_shutdown(void)
|
||||
{
|
||||
Evas_List *l, *tmp;
|
||||
|
||||
for (l = orders; l;)
|
||||
{
|
||||
tmp = l;
|
||||
l = l->next;
|
||||
e_object_del(E_OBJECT(tmp->data));
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
EAPI E_Order *
|
||||
e_order_new(const char *path)
|
||||
{
|
||||
|
@ -29,6 +51,8 @@ e_order_new(const char *path)
|
|||
_e_order_read(eo);
|
||||
eo->monitor = ecore_file_monitor_add(path, _e_order_cb_monitor, eo);
|
||||
|
||||
orders = evas_list_append(orders, eo);
|
||||
|
||||
return eo;
|
||||
}
|
||||
|
||||
|
@ -121,6 +145,7 @@ _e_order_free(E_Order *eo)
|
|||
evas_list_free(eo->desktops);
|
||||
if (eo->path) evas_stringshare_del(eo->path);
|
||||
if (eo->monitor) ecore_file_monitor_del(eo->monitor);
|
||||
orders = evas_list_remove(orders, eo);
|
||||
free(eo);
|
||||
}
|
||||
|
||||
|
|
|
@ -25,6 +25,9 @@ struct _E_Order
|
|||
} cb;
|
||||
};
|
||||
|
||||
EAPI int e_order_init(void);
|
||||
EAPI int e_order_shutdown(void);
|
||||
|
||||
EAPI E_Order *e_order_new(const char *path);
|
||||
EAPI void e_order_update_callback_set(E_Order *eo, void (*cb)(void *data, E_Order *eo), void *data);
|
||||
|
||||
|
|
Loading…
Reference in New Issue