Enlightenment CVS committal Author : raster Project : e17 Module : libs/ecore
Dir : e17/libs/ecore/src/lib/ecore Modified Files: Tag: SPLIT ecore.c ecore_app.c ecore_events.c ecore_exe.c ecore_main.c ecore_timer.c Log Message: improve docs... :) =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore/Attic/ecore.c,v retrieving revision 1.1.2.7 retrieving revision 1.1.2.8 diff -u -3 -r1.1.2.7 -r1.1.2.8 --- ecore.c 21 Feb 2003 04:59:13 -0000 1.1.2.7 +++ ecore.c 25 Feb 2003 04:32:26 -0000 1.1.2.8 @@ -7,7 +7,23 @@ * Set up connections, signal handlers, sockets etc. * @return 1 or greater on success, 0 otherwise * - * This function sets up all singal handlers and the basic event loop. + * This function sets up all singal handlers and the basic event loop. If it + * succeeds, 1 will be returned, otherwise 0 will be returned. + * + * @code + * #include <Ecore.h> + * + * int main(int argc, char **argv) + * { + * if (!ecore_init()) + * { + * printf("ERROR: Cannot init Ecore!\n"); + * return -1; + * } + * ecore_main_loop_begin(); + * ecore_shutdown(); + * } + * @endcode */ int ecore_init(void) @@ -19,8 +35,8 @@ /** * Shut down connections, signal handlers sockets etc. * - * This function shuts all things set up in ecore_init() and cleans up all - * event queues, handles, filters, timers, idlers, idle enterers etc. set up + * This function shuts down all things set up in ecore_init() and cleans up all + * event queues, handlers, filters, timers, idlers, idle enterers etc. set up * after ecore_init() was called. */ void =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore/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 20 Feb 2003 06:56:40 -0000 1.1.2.2 +++ ecore_app.c 25 Feb 2003 04:32:26 -0000 1.1.2.3 @@ -5,12 +5,36 @@ static char **app_argv = NULL; /** - * Set up the programs command-line arguments + * Set up the programs command-line arguments. * @param argc The same as passed as argc to the programs main() function * @param argv The same as passed as argv to the programs main() function * * A call to this function will store the programs command-line arguments * for later use by ecore_app_restart() or ecore_app_args_get(). + * + * @code + * #include <Ecore.h> + * + * int timer_once(void *data) + * { + * int argc; + * char **argv; + * int i; + * + * ecore_app_args_get(&argc, &argv); + * for (i = 0; i < argc; i++) printf("ARG %i: %s\n", i, argv[i]); + * return 0; + * } + * + * int main(int argc, char **argv) + * { + * ecore_init(); + * ecore_app_args_set(argc, argv); + * ecore_timer_add(5.0, timer_once, NULL); + * ecore_main_loop_begin(); + * ecore_shutdown(); + * } + * @endcode */ void ecore_app_args_set(int argc, const char **argv) @@ -22,14 +46,15 @@ } /** - * Return the programs stored command-line arguments + * Return the programs stored command-line arguments. * @param argc A pointer to the return value to hold argc * @param argv A pointer to the return value to hold argv * * When called, this funciton returns the arguments for the program stored by * ecore_app_args_set(). The integer pointed to by @p argc will be filled, if * the pointer is not NULL, and the string array pointer @p argv will be filled - * also if the pointer is not NULL. + * also if the pointer is not NULL. The values they are filled with will be the + * same set by ecore_app_args_set(). */ void ecore_app_args_get(int *argc, char ***argv) @@ -39,7 +64,7 @@ } /** - * Restart the program executable with the command-line arguments stored + * Restart the program executable with the command-line arguments stored. * * This function will restart & re-execute this program in place of itself * using the command-line arguments stored by ecore_app_args_set(). This is =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore/Attic/ecore_events.c,v retrieving revision 1.1.2.7 retrieving revision 1.1.2.8 diff -u -3 -r1.1.2.7 -r1.1.2.8 --- ecore_events.c 20 Feb 2003 06:56:40 -0000 1.1.2.7 +++ ecore_events.c 25 Feb 2003 04:32:26 -0000 1.1.2.8 @@ -13,20 +13,65 @@ static int event_id_max = ECORE_EVENT_COUNT; /** - * Add an event handler + * Add an event handler. * @param type The type of the event this handler will get called for * @param func The function to call when the event is found in the queue * @param data A data pointer to pass to the called function @p func - * @return Handler handle, or NULL on failure + * @return A new Event handler, or NULL on failure * - * Add an event handler to the list of handlers. This will, on success return - * a handle to the event handler that can be used later to remove the handler - * using ecore_event_handler_del(). The @p type parameter is the iteger of the - * event type that will trigger this callback to be called. The callback - * @p func is called when this event is processed and will be passed the - * event type, a pointer to the private event structure that is specific to - * that event type, and a data pointer that is provided in this call as the - * @p data parameter. + * Add an event handler to the list of handlers. This will, on success, return + * a handle to the event handler object that was created, that can be used + * later to remove the handler using ecore_event_handler_del(). The @p type + * parameter is the iteger of the event type that will trigger this callback + * to be called. The callback @p func is called when this event is processed + * and will be passed the event type, a pointer to the private event + * structure that is specific to that event type, and a data pointer that is + * provided in this call as the @p data parameter. + * + * When the callback @p func is called, it must return 1 or 0. If it returns + * 1, It will keep being called as per normal, when events come into the event + * queue. If it returns 0, it will be removed from the list of event handlers + * and be destroyed. If this happens the event handler object returned is no + * longer valid, and the handler will not be called again after it returns 0. + * + * @code + * #include <Ecore.h> + * + * Ecore_Event_Handler *handler1 = NULL, *handler2 = NULL; + * + * int event_hup(int ev_type, void *ev, void *data) + * { + * printf("Hup signal! Remove the exit handler.\n"); + * ecore_event_handler_del(handler1); + * return 0; + * } + * + * int event_exit(int ev_type, void *ev, void *data) + * { + * Ecore_Event_Signal_Exit *e; + * + * e = (Ecore_Event_Signal_Exit *)ev; + * printf("This callback handles event type: %i\n", ECORE_EVENT_SIGNAL_EXIT); + * printf("Event type recieved: %i\n", ev_type); + * if (e->interrupt) printf("Exit: interrupt\n"); + * if (e->quit) printf("Exit: quit\n"); + * if (e->terminate) printf("Exit: terminate\n"); + * ecore_main_loop_quit(); + * return 1; + * } + * + * int main(int argc, char **argv) + * { + * ecore_init(); + * ecore_app_args_set(argc, argv); + * handler1 = ecore_event_handler_add(ECORE_EVENT_SIGNAL_EXIT, + * event_exit, NULL); + * handler2 = ecore_event_handler_add(ECORE_EVENT_SIGNAL_HUP, + * event_hup, NULL); + * ecore_main_loop_begin(); + * ecore_shutdown(); + * } + * @endcode */ Ecore_Event_Handler * ecore_event_handler_add(int type, int (*func) (int type, void *event, void *data), const void *data) @@ -46,14 +91,14 @@ } /** - * Delete an event handler + * Delete an event handler. * @param event_handler Event handler handle to delete * @return Data passed to handler * * Delete a specified event handler from the handler list. On success this will * delete the event handler and return the pointer passed as @p data when the * handler was added by ecore_event_handler_add(). On failure NULL will be - * returned. + * returned. Once a handler is deleted it will no longer be called. */ void * ecore_event_handler_del(Ecore_Event_Handler *event_handler) @@ -70,7 +115,7 @@ } /** - * Add an event to the event queue + * Add an event to the event queue. * @param type The event type to add to the end of the event queue * @param ev The private data structure for this event type * @param func_free The function to be called to free this private structure @@ -97,7 +142,7 @@ } /** - * Delete an event from the queue + * Delete an event from the queue. * @param event The event handle to delete * @return The data pointer originally set for the event free function * @@ -121,7 +166,7 @@ } /** - * Allocate a new event type id sensibly and return the new id + * Allocate a new event type id sensibly and return the new id. * @return A new event type id. * * This function allocates a new event type id and returns it. Once an event @@ -138,7 +183,7 @@ } /** - * Add a filter the current event queue + * Add a filter the current event queue. * @param func_start Function to call just before filtering and return data * @param func_filter Function to call on each event * @param func_end Function to call after the queu has been filtered @@ -175,7 +220,7 @@ } /** - * Delete an event filter + * Delete an event filter. * @param ef The event filter handle * @return The data set for the filter * =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore/Attic/ecore_exe.c,v retrieving revision 1.1.2.6 retrieving revision 1.1.2.7 diff -u -3 -r1.1.2.6 -r1.1.2.7 --- ecore_exe.c 20 Feb 2003 06:56:40 -0000 1.1.2.6 +++ ecore_exe.c 25 Feb 2003 04:32:26 -0000 1.1.2.7 @@ -94,7 +94,7 @@ /** * Get the data pointer attached to a process handle * @param exe The process handle returned by ecore_exe_run() - * @retrun An pointer to the attached data of the process handle + * @return An pointer to the attached data of the process handle * * This function returns the data pointer attached to the spawned off process * whose handle is @p exe. @@ -189,6 +189,7 @@ /** * Send a user signal to a process * @param exe The process handle to control + * @param num The signal number to send to the process * * This function sends a user signal (SIGUSR) to a process. @p num determines * what numbered user signal to send. This may be either 1 or 2. Other values =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore/Attic/ecore_main.c,v retrieving revision 1.1.2.6 retrieving revision 1.1.2.7 diff -u -3 -r1.1.2.6 -r1.1.2.7 --- ecore_main.c 20 Feb 2003 06:56:40 -0000 1.1.2.6 +++ ecore_main.c 25 Feb 2003 04:32:26 -0000 1.1.2.7 @@ -162,13 +162,19 @@ * @param flags To watch it for read and/or write ability * @param func The function to call when the file descriptor becomes active * @param data The data to pass to the @p func call + * @param buf_func The function to call to check if any data has been buffered and already read from the fd. + * @param buf_data The data to pass to the @p buf_func call * @return A fd handler handle * * This adds a fd handler, calling @p func whenever the fd is active for * read or write (or both) depending what flags were set as @p flags. On * failure NULL is returned. The @p func call will the triggered during * execution of ecore_main_loop_begin() when a file descriptor (fd) is - * available for reading or writing (or both). + * available for reading or writing (or both). The #p buf_func call is called + * during event loop handling to check if data that has already been read from + * the file descriptor is in a buffer and is available to read. This function + * is optional and can be NULL. If it is called it will be passed @p buf_data + * as the data parameter. * * Example: * =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore/Attic/ecore_timer.c,v retrieving revision 1.1.2.6 retrieving revision 1.1.2.7 diff -u -3 -r1.1.2.6 -r1.1.2.7 --- ecore_timer.c 23 Feb 2003 02:00:57 -0000 1.1.2.6 +++ ecore_timer.c 25 Feb 2003 04:32:26 -0000 1.1.2.7 @@ -18,6 +18,49 @@ * failure. The function @p func will be called in @p in seconds from the * time this function call was made. The function @p func is passed the * @p data pointer as its parameter. + * + * When the timer @p func is called, it must return a value of either 1 or 0. + * If it returns 1, it will be re-scheduled to repeat in the same interval + * after this timer was triggered (ie if this timer was triggered with an + * @p in value of 1.0 then the next timer will be triggered at the time this + * timer was called plus 1.0). + * + * @code + * #include <Ecore.h> + * + * Ecore_Timer *timer1 = NULL, *timer2 = NULL, *timer3 = NULL; + * + * int timer_tick(void *data) + * { + * printf("Tick timer %3.2f\n", ecore_time_get()); + * return 1; + * } + * + * int timer_repeat(void *data) + * { + * printf("Repeat timer called at %3.2f seconds, data %p\n", + * ecore_time_get(), data); + * return 1; + * } + * + * int timer_once(void *data) + * { + * printf("Once only timer called at %3.2f seconds, data %p\n", + * ecore_time_get(), data); + * ecore_timer_del(timer2); + * return 0; + * } + * + * int main(int argc, char **argv) + * { + * ecore_init(); + * ecore_app_args_set(argc, argv); + * timer1 = ecore_timer_add(5.0, timer_once, NULL); + * timer2 = ecore_timer_add(0.5, timer_repeat, NULL); + * timer3 = ecore_timer_add(1.0, timer_tick, NULL); + * ecore_main_loop_begin(); + * } + * @endcode */ Ecore_Timer * ecore_timer_add(double in, int (*func) (void *data), const void *data) @@ -40,8 +83,11 @@ * @param timer * @return The data pointer set for the timer * - * Delete the specified @p timer from the set of timers that ar executed - * during main loop execution. + * Delete the specified @p timer from the set of timers that are executed + * during main loop execution. This function returns the data parameter that + * was being passed to the callback on success, or NULL on failure. After this + * call returns the specified timer object @p timer is invalid and should not + * be used again. It will not get called again after deletion. */ void * ecore_timer_del(Ecore_Timer *timer) ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ enlightenment-cvs mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs