Enlightenment CVS committal Author : lordchaos Project : e17 Module : apps/evfs
Dir : e17/apps/evfs/src/include Modified Files: evfs.h evfs_io.h Log Message: * Work on serializing/deserializing commands to daemon * Event engine work =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/evfs/src/include/evfs.h,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- evfs.h 15 Aug 2005 19:53:57 -0000 1.2 +++ evfs.h 16 Aug 2005 05:44:21 -0000 1.3 @@ -16,6 +16,7 @@ #define TRUE 1 #define URI_SEP "#" #define EVFS_META_DIR_NAME ".e_meta" +#define MAX_CLIENT 9999999 #define EVFS_MONITOR_START "evfs_monitor_start" @@ -28,10 +29,7 @@ -typedef struct evfs_connection evfs_connection; -struct evfs_connection { - Ecore_Ipc_Server* server; -}; + typedef struct evfs_server evfs_server; @@ -39,6 +37,7 @@ Ecore_Hash* client_hash; Ecore_Hash* plugin_uri_hash; Ecore_Ipc_Server* ipc_server; + unsigned long clientCounter; int num_clients; }; @@ -62,6 +61,7 @@ } evfs_command_type; + typedef struct evfs_command_file { evfs_command_type type; int num_files; @@ -82,7 +82,46 @@ struct evfs_client { Ecore_Ipc_Client* client; evfs_command* prog_command; - void (*callback_func)(void* data); + unsigned long id; +}; + + + +typedef struct evfs_file_monitor evfs_file_monitor; +struct evfs_file_monitor { + evfs_client* client; + char* monitor_path; +}; + + +/*Event structures*/ +typedef enum evfs_eventtype { + EVFS_EV_REPLY = 1, + EVFS_EV_NOTIFY_ID = 2 +} evfs_eventtype; + +typedef enum evfs_eventtype_sub { + EVFS_EV_SUB_MONITOR_NOTIFY = 1 +} evfs_eventtype_sub; + +typedef enum evfs_eventpart { + EVFS_EV_PART_TYPE = 1, + EVFS_EV_PART_DATA = 2 +} evfs_eventpart; + +typedef struct evfs_event evfs_event; +struct evfs_event { + evfs_eventtype type; + void* data; + int data_len; +}; + +typedef struct evfs_connection evfs_connection; +struct evfs_connection { + Ecore_Ipc_Server* server; + unsigned long id; + void (*callback_func)(void* data); + evfs_event* prog_event; }; @@ -93,6 +132,7 @@ void evfs_handle_command(evfs_client* client, evfs_command* command); void evfs_handle_monitor_start_command(evfs_client* client, evfs_command* command); evfs_plugin* evfs_get_plugin_for_uri(char* uri_base); +unsigned long evfs_server_get_next_id(evfs_server* serve); =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/evfs/src/include/evfs_io.h,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- evfs_io.h 15 Aug 2005 19:53:57 -0000 1.2 +++ evfs_io.h 16 Aug 2005 05:44:21 -0000 1.3 @@ -1,8 +1,7 @@ #ifndef __EVFS_IO_H_ #define __EVFS_IO_H_ -void evfs_write_command(evfs_connection* conn, evfs_command* command); -void evfs_write_file_command(evfs_connection* conn, evfs_command* command); + typedef struct ecore_ipc_message ecore_ipc_message; struct ecore_ipc_message { @@ -35,5 +34,12 @@ ecore_ipc_message* ecore_ipc_message_new(int major, int minor, int ref, int ref_to, int response, void* data, int len); int evfs_process_incoming_command(evfs_command* command, ecore_ipc_message* message); void evfs_write_command_end(evfs_connection* conn); +void evfs_write_command(evfs_connection* conn, evfs_command* command); +void evfs_write_file_command(evfs_connection* conn, evfs_command* command); +void evfs_event_client_id_notify(evfs_client* client); + +void evfs_write_ecore_ipc_client_message(Ecore_Ipc_Client* client, ecore_ipc_message* msg); +void evfs_write_ecore_ipc_server_message(Ecore_Ipc_Server* server, ecore_ipc_message* msg); + #endif ------------------------------------------------------- SF.Net email is Sponsored by the Better Software Conference & EXPO September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs