Enlightenment CVS committal
Author : raster
Project : e17
Module : libs/ecore
Dir : e17/libs/ecore/src
Modified Files:
Tag: SPLIT
Ecore.h Makefile.am ecore.c ecore_app.c ecore_events.c
ecore_exe.c ecore_idle_enterer.c ecore_idler.c ecore_main.c
ecore_private.h ecore_timer.c
Added Files:
Tag: SPLIT
ecore_list.c
Log Message:
more code...
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/Ecore.h,v
retrieving revision 1.45.2.5
retrieving revision 1.45.2.6
diff -u -3 -r1.45.2.5 -r1.45.2.6
--- Ecore.h 13 Jan 2003 11:19:38 -0000 1.45.2.5
+++ Ecore.h 13 Jan 2003 13:04:46 -0000 1.45.2.6
@@ -7,16 +7,9 @@
#include <stdlib.h>
#ifdef __cplusplus
-extern "C"
-{
+extern "C" {
#endif
-
- typedef enum _Ecore_Fd_Handler_Flags
- {
- ECORE_FD_READ = 1,
- ECORE_FD_WRITE = 2
- } Ecore_Fd_Handler_Flags;
-
+
#define ECORE_EVENT_NONE 0
#define ECORE_EVENT_EXE_EXIT 1
#define ECORE_EVENT_SINGAL_USER 2
@@ -26,6 +19,13 @@
#define ECORE_EVENT_COUNT 6
#ifndef _ECORE_PRIVATE_H
+ enum _Ecore_Fd_Handler_Flags
+ {
+ ECORE_FD_READ = 1,
+ ECORE_FD_WRITE = 2
+ };
+ typedef enum _Ecore_Fd_Handler_Flags Ecore_Fd_Handler_Flags;
+
typedef void Ecore_Exe;
typedef void Ecore_Timer;
typedef void Ecore_Idler;
@@ -71,7 +71,8 @@
{
void *ext_data;
};
-
+#endif
+
int ecore_init(void);
void ecore_shutdown(void);
@@ -80,7 +81,7 @@
void ecore_app_restart(void);
Ecore_Event_Handler *ecore_event_handler_add(int type, void (*func) (int type,
void *event, void *data), void *data);
- void *ecore_event_handler_add(Ecore_Event_Handler *event_handler)
+ void *ecore_event_handler_del(Ecore_Event_Handler *event_handler);
Ecore_Exe *ecore_exe_run(char *exe_cmd, void *data);
pid_t ecore_exe_pid_get(Ecore_Exe *exe);
@@ -101,7 +102,7 @@
void ecore_main_loop_begin(void);
void ecore_main_loop_quit(void);
Ecore_Fd_Handler *ecore_main_fd_handler_add(int fd, Ecore_Fd_Handler_Flags flags,
int (*func) (Ecore_Fd_Handler *fd_handler, void *data), void *data);
- void ecore_main_fd_handler_del(Ecore_Fd_Handler *fd_handler);
+ void *ecore_main_fd_handler_del(Ecore_Fd_Handler *fd_handler);
int ecore_main_fd_handler_fd_get(Ecore_Fd_Handler *fd_handler);
int ecore_main_fd_handler_active_get(Ecore_Fd_Handler *fd_handler,
Ecore_Fd_Handler_Flags flags);
@@ -124,7 +125,11 @@
#if 0
-#ifndef E_CORE_H
+
+
+
+
+# ifndef E_CORE_H
#define E_CORE_H 1
#include <stdio.h>
@@ -1040,4 +1045,8 @@
#endif
#endif
+
+
+
+
#endif
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/Makefile.am,v
retrieving revision 1.7.2.3
retrieving revision 1.7.2.4
diff -u -3 -r1.7.2.3 -r1.7.2.4
--- Makefile.am 13 Jan 2003 00:25:19 -0000 1.7.2.3
+++ Makefile.am 13 Jan 2003 13:04:46 -0000 1.7.2.4
@@ -13,6 +13,7 @@
ecore_idle_enterer.c \
ecore_idler.c \
ecore_main.c \
+ ecore_signal.c \
ecore_time.c \
ecore_timer.c \
ecore_private.h
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/Attic/ecore.c,v
retrieving revision 1.1.2.2
retrieving revision 1.1.2.3
diff -u -3 -r1.1.2.2 -r1.1.2.3
--- ecore.c 13 Jan 2003 07:40:13 -0000 1.1.2.2
+++ ecore.c 13 Jan 2003 13:04:46 -0000 1.1.2.3
@@ -15,6 +15,8 @@
ecore_init(void)
{
_ecore_signal_init();
+ /* FIXME: init fd handlers for x etc. */
+ return 1;
}
/**
@@ -25,4 +27,5 @@
void
ecore_shutdown(void)
{
+ /* FIXME: shut down cleanly */
}
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/Attic/ecore_app.c,v
retrieving revision 1.1.2.2
retrieving revision 1.1.2.3
diff -u -3 -r1.1.2.2 -r1.1.2.3
--- ecore_app.c 13 Jan 2003 00:25:19 -0000 1.1.2.2
+++ ecore_app.c 13 Jan 2003 13:04:47 -0000 1.1.2.3
@@ -1,6 +1,9 @@
#include "ecore_private.h"
#include "Ecore.h"
+static int app_argc = 0;
+static char **app_argv = NULL;
+
/**
* Set up the programs command-line arguments
* @param argc The same as passed as argc to the programs main() function
@@ -12,6 +15,8 @@
void
ecore_app_args_set(int argc, char **argv)
{
+ app_argc = argc;
+ app_argv = argv;
}
/**
@@ -25,6 +30,8 @@
void
ecore_app_args_get(int *argc, char ***argv)
{
+ if (argc) *argc = app_argc;
+ if (argv) *argv = app_argv;
}
/**
@@ -38,4 +45,5 @@
void
ecore_app_restart(void)
{
+ /* FIXME: exec selt using argv, argc etc. */
}
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/Attic/ecore_events.c,v
retrieving revision 1.1.2.2
retrieving revision 1.1.2.3
diff -u -3 -r1.1.2.2 -r1.1.2.3
--- ecore_events.c 13 Jan 2003 11:19:39 -0000 1.1.2.2
+++ ecore_events.c 13 Jan 2003 13:04:47 -0000 1.1.2.3
@@ -4,7 +4,6 @@
static int events_num = 0;
static Ecore_Event *events = NULL;
-static int event_handlers_num = 0;
static Ecore_Event_Handler *event_handlers = NULL;
/**
@@ -19,7 +18,15 @@
Ecore_Event_Handler *
ecore_event_handler_add(int type, int (*func) (int type, void *event, void *data),
void *data)
{
- return NULL;
+ Ecore_Event_Handler *eh;
+
+ eh = calloc(1, sizeof(Ecore_Event_Handler));
+ if (!eh) return NULL;
+ eh->type = type;
+ eh->func = func;
+ eh->data = data;
+ event_handlers = _ecore_list_append(event_handlers, eh);
+ return eh;
}
/**
@@ -30,83 +37,83 @@
* Delete a specified event handler
*/
void *
-ecore_event_handler_add(Ecore_Event_Handler *event_handler)
+ecore_event_handler_del(Ecore_Event_Handler *event_handler)
{
- return NULL;
+ event_handler->delete_me = 1;
+ return event_handler->data;
}
Ecore_Event *
_ecore_event_add(int type, void *ev, void (*func_free) (void *ev, void *data), void
*data)
{
- return NULL;
+ Ecore_Event *e;
+
+ e = calloc(1, sizeof(Ecore_Event));
+ if (!e) return NULL;
+ e->type type;
+ e->event = ev;
+ e->func_free = func_free;
+ e->data = data;
+ events = _ecore_list_append(events, e);
+ events_num++;
+ return e;
}
void *
_ecore_event_del(Ecore_Event *event)
{
- return NULL;
-}
-
-int
-_ecore_event_count_get(void)
-{
- return events_num;
-}
-
-Ecore_Event *
-_ecore_event_get(int num)
-{
- return &(events[num]);
+ void *data;
+
+ data = event->data;
+ event->func_free(event->event, event->data);
+ events = _ecore_list_remove(events, event);
+ free(event);
+ events_num--;
+ return data;
}
void
_ecore_event_call(void)
{
- int i;
- int deleted;
+ Ecore_List *l;
- for (i = 0; i < events_num; i++)
+ for (l = events; l; l = l->next)
{
- int j;
+ Ecore_List *ll;
+ Ecore_Event *e;
- for (j = 0; j < event_handlers_num; j++)
+ e = l;
+ for (ll = event_handlers; ll; ll = ll->next)
{
- if (!event_handlers[j].delete_me)
+ Ecore_Event_Handler *eh;
+
+ eh = ll;
+ if (!eh->delete_me)
{
- if (event_handlers[j].type == events[i].type)
+ if (eh->type == e->type)
{
- if (!event_handlers[j].func(events[i].type, events[i].event,
event_handlers[j].data))
+ if (!eh->func(e->type, e->event, eh->data))
break;
}
}
}
}
- for (i = 0; i < events_num; i++)
- events[i].func_free(events[i].event, events[i].data);
- deleted = 0;
- for (i = 0; i < event_handlers_num; i++)
+ while (events) _ecore_event_del(events);
+ for (l = event_handlers; l;)
{
- if (event_handlers[i].delete_me)
+ Ecore_Event_Handler *eh;
+
+ eh = l;
+ l = l->next;
+ if (eh->delete_me)
{
- int j;
-
- event_handlers_num--;
- for (j = i; j < event_handlers_num; j++)
- event_handlers[j] = event_handlers[j + 1];
- deleted = 1;
+ event_handlers = _ecore_list_remove(event_handlers, eh);
+ free(eh);
}
}
- if (deleted)
- {
- Ecore_Event_Handler *new_event_handlers;
-
- new_event_handlers = realloc(event_handlers, event_handlers_num *
sizeof(Ecore_Event_Handler));
- if (new_event_handlers)
- event_handlers = new_event_handlers;
- }
}
-Ecore_Event_Exe_Exit *
+void *
_ecore_event_exe_exit_new(void)
{
Ecore_Event_Exe_Exit *e;
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/Attic/ecore_exe.c,v
retrieving revision 1.1.2.5
retrieving revision 1.1.2.6
diff -u -3 -r1.1.2.5 -r1.1.2.6
--- ecore_exe.c 13 Jan 2003 11:19:39 -0000 1.1.2.5
+++ ecore_exe.c 13 Jan 2003 13:04:47 -0000 1.1.2.6
@@ -5,6 +5,8 @@
#include <signal.h>
#include <unistd.h>
+static Ecore_Exe *exes = NULL;
+
/**
* Spawn off a child process and return a handle to that process
* @param exe_cmd The command-line to run as if typed in a shell
@@ -38,6 +40,7 @@
exe->pid = pid;
exe->data = data;
/* FIXME: add to exe list */
+ exes = _ecore_list_append(exes, exe);
return exe;
}
setsid();
@@ -151,11 +154,21 @@
Ecore_Exe *
_ecore_exe_find(pid_t pid)
{
+ Ecore_List *l;
+
+ for (l = exes; l; l = l->next)
+ {
+ Ecore_Exe *exe;
+
+ exe = l;
+ if (exe->pid == pid) return exe;
+ }
return NULL;
}
void
_ecore_exe_free(Ecore_Exe *exe)
{
+ exes = _ecore_list_remove(exes, exe);
free(exe);
}
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/Attic/ecore_idle_enterer.c,v
retrieving revision 1.1.2.1
retrieving revision 1.1.2.2
diff -u -3 -r1.1.2.1 -r1.1.2.2
--- ecore_idle_enterer.c 13 Jan 2003 00:25:19 -0000 1.1.2.1
+++ ecore_idle_enterer.c 13 Jan 2003 13:04:47 -0000 1.1.2.2
@@ -1,7 +1,6 @@
#include "ecore_private.h"
#include "Ecore.h"
-static int idle_enterers_num = 0;
static Ecore_Idle_Enterer *idle_enterers = NULL;
/**
@@ -15,7 +14,14 @@
Ecore_Idle_Enterer *
ecore_idle_enterer_add(int (*func) (void *data), const void *data)
{
- return NULL;
+ Ecore_Idle_Enterer *ie;
+
+ ie = calloc(1, sizeof(Ecore_Idle_Enterer));
+ if (!ie) return NULL;
+ ie->func = func;
+ ie->data = data;
+ idle_enterers = _ecore_list_append(idle_enterers, ie);
+ return ie;
}
/**
@@ -28,15 +34,42 @@
void *
ecore_idle_enterer_del(Ecore_Idle_Enterer *idle_enterer)
{
+ idle_enterer->delete_me = 1;
+ return idle_enterer->data;
}
void
_ecore_idle_enterer_call(void)
{
+ Ecore_List *l;
+
+ for (l = idle_enterers; l; l = l->next)
+ {
+ Ecore_Idle_Enterer *ie;
+
+ ie = l;
+ if (!ie->delete_me)
+ {
+ if (!ie->func(ie->data)) ecore_idle_enterer_del(ie);
+ }
+ }
+ for (l = idle_enterers; l;)
+ {
+ Ecore_Idle_Enterer *ie;
+
+ ie = l;
+ l = l->next;
+ if (ie->delete_me)
+ {
+ idle_enterers = _ecore_list_remove(idle_enterers, ie);
+ free(ie);
+ }
+ }
}
int
_ecore_idle_enterer_exist(void)
{
- return idle_enterers_num;
+ if (idle_enterers) return 1;
+ return 0;
}
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/Attic/ecore_idler.c,v
retrieving revision 1.1.2.1
retrieving revision 1.1.2.2
diff -u -3 -r1.1.2.1 -r1.1.2.2
--- ecore_idler.c 13 Jan 2003 00:25:19 -0000 1.1.2.1
+++ ecore_idler.c 13 Jan 2003 13:04:47 -0000 1.1.2.2
@@ -1,7 +1,6 @@
#include "ecore_private.h"
#include "Ecore.h"
-static int idlers_num = 0;
static Ecore_Idle_Enterer *idlers = NULL;
/**
@@ -15,7 +14,14 @@
Ecore_Idler *
ecore_idler_add(int (*func) (void *data), const void *data)
{
- return NULL;
+ Ecore_Idler *ie;
+
+ ie = calloc(1, sizeof(Ecore_Idler));
+ if (!ie) return NULL;
+ ie->func = func;
+ ie->data = data;
+ idlers = _ecore_list_append(idlers, ie);
+ return ie;
}
/**
@@ -28,15 +34,44 @@
void *
ecore_idler_del(Ecore_Idler *idler)
{
+ idler->delete_me = 1;
+ return idler->data;
}
int
_ecore_idler_call(void)
{
+ Ecore_List *l;
+
+ for (l = idlers; l; l = l->next)
+ {
+ Ecore_Idler *ie;
+
+ ie = l;
+ if (!ie->delete_me)
+ {
+ if (!ie->func(ie->data)) ecore_idler_del(ie);
+ }
+ }
+ for (l = idlers; l;)
+ {
+ Ecore_Idler *ie;
+
+ ie = l;
+ l = l->next;
+ if (ie->delete_me)
+ {
+ idlers = _ecore_list_remove(idlers, ie);
+ free(ie);
+ }
+ }
+ if (idlers) return 1;
+ return 0;
}
int
_ecore_idler_exist(void)
{
- return idlers_num
+ if (idlers) return 1;
+ return 0;
}
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/Attic/ecore_main.c,v
retrieving revision 1.1.2.3
retrieving revision 1.1.2.4
diff -u -3 -r1.1.2.3 -r1.1.2.4
--- ecore_main.c 13 Jan 2003 07:40:13 -0000 1.1.2.3
+++ ecore_main.c 13 Jan 2003 13:04:47 -0000 1.1.2.4
@@ -10,9 +10,8 @@
static void _ecore_main_fd_handlers_cleanup(void);
static void _ecore_main_fd_handlers_call(void);
-static quit = 0;
-static fd_handlers_num = 0;
-static *fd_handlers = NULL;
+static int quit = 0;
+static Ecore_Fd_Handler *fd_handlers = NULL;
/**
* Run the application main loop
@@ -53,7 +52,7 @@
int ret;
ret = _ecore_main_select(-1);
- if (ret > 0) have_event;
+ if (ret > 0) have_event = 1;
if (ret < 0) have_signal = 1;
}
/* idlers */
@@ -65,7 +64,7 @@
if (!_ecore_idler_call()) goto start_loop;
ret = _ecore_main_select(0);
- if (ret > 0) have_event;
+ if (ret > 0) have_event = 1;
if (ret < 0) have_signal = 1;
if (have_event || have_signal) break;
next_time = _ecore_timer_next_get();
@@ -82,24 +81,23 @@
int ret;
ret = _ecore_main_select(next_time);
- if (ret > 0) have_event;
+ if (ret > 0) have_event = 1;
if (ret < 0) have_signal = 1;
}
/* idlers */
else
{
- double cur_time, t;
-
- cur_time = ecore_time_get();
for (;;)
{
+ double cur_time, t;
int ret;
if (!_ecore_idler_call()) goto start_loop;
ret = _ecore_main_select(0);
- if (ret > 0) have_event;
+ if (ret > 0) have_event = 1;
if (ret < 0) have_signal = 1;
if ((have_event) || (have_signal)) break;
+ cur_time = ecore_time_get();
t = ecore_time_get() - cur_time;
if (t >= next_time) break;
next_time = _ecore_timer_next_get();
@@ -153,22 +151,19 @@
Ecore_Fd_Handler *
ecore_main_fd_handler_add(int fd, Ecore_Fd_Handler_Flags flags, int (*func)
(Ecore_Fd_Handler *fd_handler, void *data), void *data)
{
- Ecore_Fd_Handler *new_fd_handlers;
- int i;
+ Ecore_Fd_Handler *fdh;
- i = fd_handlers_num;
- fd_handlers_num++;
- new_fd_handlers = realloc(fd_handlers, fd_handlers_num * sizeof(Ecore_Fd_Handler));
- if (!new_fd_handlers) return NULL;
- fd_handlers = new_fd_handlers;
- fd_handlers[i].fd = fd;
- fd_handlers[i].flags = flags;
- fd_handlers[i].read_active = 0;
- fd_handlers[i].write_active = 0;
- fd_handlers[i].delete_me = 0;
- fd_handlers[i].func = func;
- fd_handlers[i].data = data;
- return &(fd_handlers[i]);
+ fdh = calloc(1, sizeof(Ecore_Fd_Handler));
+ if (!fdh) return NULL;
+ fdh->fd = fd;
+ fdh->flags = flags;
+ fdh->read_active = 0;
+ fdh->write_active = 0;
+ fdh->delete_me = 0;
+ fdh->func = func;
+ fdh->data = data;
+ fd_handlers = _ecore_list_append(fd_handlers, fdh);
+ return fdh;
}
/**
@@ -183,6 +178,7 @@
ecore_main_fd_handler_del(Ecore_Fd_Handler *fd_handler)
{
fd_handler->delete_me = 1;
+ return fd_handler->data;
}
/**
@@ -223,7 +219,8 @@
struct timeval tv, *t;
fd_set rfds, wfds;
int max_fd;
- int ret, i;
+ int ret;
+ Ecore_List *l;
t = NULL;
if (timeout > 0.0)
@@ -245,17 +242,20 @@
max_fd = 0;
FD_ZERO(&rfds);
FD_ZERO(&wfds);
- for (i = 0; i < fd_handlers_num; i++)
+ for (l = fd_handlers; l; l = l->next)
{
- if (fd_handlers[i].flags & ECORE_FD_READ)
+ Ecore_Fd_Handler *fdh;
+
+ fdh = l;
+ if (fdh->flags & ECORE_FD_READ)
{
- FD_SET(fd_handlers[i].fd, &rfds);
- if (fd_handlers[i].fd > max_fd) max_fd = fd_handlers[i].fd;
+ FD_SET(fdh->fd, &rfds);
+ if (fdh->fd > max_fd) max_fd = fdh->fd;
}
- if (fd_handlers[i].flags & ECORE_FD_WRITE)
+ if (fdh->flags & ECORE_FD_WRITE)
{
- FD_SET(fd_handlers[i].fd, &wfds);
- if (fd_handlers[i].fd > max_fd) max_fd = fd_handlers[i].fd;
+ FD_SET(fdh->fd, &wfds);
+ if (fdh->fd > max_fd) max_fd = fdh->fd;
}
}
if (_ecore_signal_count_get()) return -1;
@@ -266,14 +266,17 @@
}
if (ret > 0)
{
- for (i = 0; i < fd_handlers_num; i++)
+ for (l = fd_handlers; l; l = l->next)
{
- if (!fd_handlers[i].delete_me)
+ Ecore_Fd_Handler *fdh;
+
+ fdh = l;
+ if (!fdh->delete_me)
{
- if (FD_ISSET(fd_handlers[i].fd, &rfds))
- fd_handlers[i].read_active = 1;
- if (FD_ISSET(fd_handlers[i].fd, &wfds))
- fd_handlers[i].write_active = 1;
+ if (FD_ISSET(fdh->fd, &rfds))
+ fdh->read_active = 1;
+ if (FD_ISSET(fdh->fd, &wfds))
+ fdh->write_active = 1;
}
}
_ecore_main_fd_handlers_cleanup();
@@ -285,43 +288,36 @@
static void
_ecore_main_fd_handlers_cleanup(void)
{
- int i;
- int deleted;
-
- deleted = 0;
- for (i = 0; i < fd_handlers_num; i++)
+ Ecore_List *l;
+
+ for (l = fd_handlers; l;)
{
- if (fd_handlers[i].delete_me)
+ Ecore_Fd_Handler *fdh;
+
+ fdh = l;
+ l = l->next;
+ if (fdh->delete_me)
{
- int j;
-
- fd_handlers_num--;
- for (j = i; j < fd_handlers_num; j++)
- fd_handlers[j] = fd_handlers[j + 1];
- deleted = 1;
+ fd_handlers = _ecore_list_remove(fd_handlers, fdh);
+ free(fdh);
}
}
- if (deleted)
- {
- Ecore_Fd_Handler *new_fd_handlers;
-
- new_fd_handlers = realloc(fd_handlers, fd_handlers_num *
sizeof(Ecore_Fd_Handler));
- if (new_fd_handlers)
- fd_handlers = new_fd_handlers;
- }
}
static void
_ecore_main_fd_handlers_call(void)
{
- int i;
+ Ecore_List *l;
- for (i = 0; i < fd_handlers_num; i++)
+ for (l = fd_handlers; l; l = l->next)
{
- if (!fd_handlers[i].delete_me)
+ Ecore_Fd_Handler *fdh;
+
+ fdh = l;
+ if (!fdh->delete_me)
{
- if ((fd_handlers[i].read_active) || (fd_handlers[i].write_active))
- fd_handlers[i].func(&(fd_handlers[i]), fd_handlers[i].data);
+ if ((fdh->read_active) || (fdh->write_active))
+ fdh->func(fdh, fdh->data);
}
}
}
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/Attic/ecore_private.h,v
retrieving revision 1.1.2.4
retrieving revision 1.1.2.5
diff -u -3 -r1.1.2.4 -r1.1.2.5
--- ecore_private.h 13 Jan 2003 11:19:39 -0000 1.1.2.4
+++ ecore_private.h 13 Jan 2003 13:04:47 -0000 1.1.2.5
@@ -1,5 +1,5 @@
-#ifdnef _ECORE_PRIVATE_H
-#idefine _ECORE_PRIVATE_H
+#ifndef _ECORE_PRIVATE_H
+#define _ECORE_PRIVATE_H
#include <stdio.h>
#include <stdlib.h>
@@ -7,14 +7,15 @@
#include <sys/types.h>
#include <unistd.h>
#include <signal.h>
-#define XK_MISCELLANY 1
-#include <X11/Xlib.h>
-#include <X11/Xutil.h>
-#include <X11/Xatom.h>
-#include <X11/Xresource.h>
-#include <X11/keysymdef.h>
-#include <X11/extensions/XShm.h>
-#include <X11/extensions/shape.h>
+
+enum _Ecore_Fd_Handler_Flags
+{
+ ECORE_FD_READ = 1,
+ ECORE_FD_WRITE = 2
+};
+typedef enum _Ecore_Fd_Handler_Flags Ecore_Fd_Handler_Flags;
+
+typedef struct _Ecore_List Ecore_List;
typedef struct _Ecore_Exe Ecore_Exe;
typedef struct _Ecore_Timer Ecore_Timer;
@@ -24,34 +25,48 @@
typedef struct _Ecore_Event_Handler Ecore_Event_Handler;
typedef struct _Ecore_Event Ecore_Event;
+struct _Ecore_List
+{
+ Ecore_List *next, *prev;
+ Ecore_List *last;
+};
+
struct _Ecore_Exe
{
- pid_t pid;
- void *data;
-}
+ Ecore_List __list_data;
+ pid_t pid;
+ void *data;
+};
struct _Ecore_Timer
{
- double in;
- double at;
- int (*func) (void *data);
- void *data;
+ Ecore_List __list_data;
+ double in;
+ double at;
+ int delete_me : 1;
+ int (*func) (void *data);
+ void *data;
};
struct _Ecore_Idler
{
- int (*func) (void *data);
- void *data;
-}
+ Ecore_List __list_data;
+ int delete_me : 1;
+ int (*func) (void *data);
+ void *data;
+};
struct _Ecore_Idle_Enterer
{
- int (*func) (void *data);
- void *data;
-}
+ Ecore_List __list_data;
+ int delete_me : 1;
+ int (*func) (void *data);
+ void *data;
+};
struct _Ecore_Fd_Handler
{
+ Ecore_List __list_data;
int fd;
Ecore_Fd_Handler_Flags flags;
int read_active : 1;
@@ -63,18 +78,20 @@
struct _Ecore_Event_Handler
{
- int type;
- int delete_me : 1;
- int (*func) (int type, void *event, void *data);
- void *data;
-}
+ Ecore_List __list_data;
+ int type;
+ int delete_me : 1;
+ int (*func) (int type, void *event, void *data);
+ void *data;
+};
struct _Ecore_Event
{
- int type;
- void *event;
- void (*func_free) (Ecore_Event *ev, void *data);
- void *data;
+ Ecore_List __list_data;
+ int type;
+ void *event;
+ void (*func_free) (Ecore_Event *ev, void *data);
+ void *data;
};
double _ecore_timer_next_get(void);
@@ -84,16 +101,14 @@
int _ecore_idler_exist(void);
void _ecore_idle_enterer_call(void);
-int _ecore_idle_enterer_exist(void)
+int _ecore_idle_enterer_exist(void);
Ecore_Event *_ecore_event_add(int type, void *ev, void (*func_free) (void *ev, void
*data), void *data);
void *_ecore_event_del(Ecore_Event *event);
-int _ecore_event_count_get(void);
-Ecore_Event *_ecore_event_get(int num);
void _ecore_event_call(void);
-Ecore_Event_Exe_Exit *_ecore_event_exe_exit_new(void);
-void _ecore_event_exe_exit_free(void *ev, void *data);
+void *_ecore_event_exe_exit_new(void);
+void _ecore_event_exe_exit_free(void *ev, void *data);
void _ecore_signal_init(void);
int _ecore_signal_count_get(void);
@@ -101,5 +116,12 @@
Ecore_Exe *_ecore_exe_find(pid_t pid);
void _ecore_exe_free(Ecore_Exe *exe);
-
+
+void *_ecore_list_append (void *in_list, void *in_item);
+void *_ecore_list_prepend (void *in_list, void *in_item);
+void *_ecore_list_append_relative (void *in_list, void *in_item, void *in_relative);
+void *_ecore_list_prepend_relative (void *in_list, void *in_item, void *in_relative);
+void *_ecore_list_remove (void *in_list, void *in_item);
+void *_ecore_list_find (void *in_list, void *in_item);
+
#endif
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/Attic/ecore_timer.c,v
retrieving revision 1.1.2.1
retrieving revision 1.1.2.2
diff -u -3 -r1.1.2.1 -r1.1.2.2
--- ecore_timer.c 13 Jan 2003 00:25:19 -0000 1.1.2.1
+++ ecore_timer.c 13 Jan 2003 13:04:47 -0000 1.1.2.2
@@ -1,7 +1,8 @@
#include "ecore_private.h"
#include "Ecore.h"
-static int timers_num = 0;
+/* FIXME: write code for timers... */
+
static Ecore_Idle_Enterer *timers = NULL;
/**
-------------------------------------------------------
This SF.NET email is sponsored by: FREE SSL Guide from Thawte
are you planning your Web Server Security? Click here to get a FREE
Thawte SSL guide and find the answers to all your SSL security issues.
http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0026en
_______________________________________________
enlightenment-cvs mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs