Enlightenment CVS committal Author : onefang Project : e17 Module : apps/e
Dir : e17/apps/e/doc Modified Files: cache.txt Log Message: More details to worry about. How all the E_Apps connect together. =================================================================== RCS file: /cvs/e/e17/apps/e/doc/cache.txt,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 --- cache.txt 15 Sep 2006 17:28:48 -0000 1.3 +++ cache.txt 15 Sep 2006 21:41:54 -0000 1.4 @@ -234,7 +234,10 @@ .order files USED BY: + Menus, bars, startup, restart. WHEN: + When displaying the menu or bar. At startup and restart. When + editing them. ISSUES: SOLUTION: @@ -278,6 +281,45 @@ conversion didn't help. It does hide some other bugs though, so that needs to be cleaned up first. + How this all hangs together is complex. + + Evas_List *_e_app_repositories; + Only contains ~/.e/e/applications/all for now. + + E_App *_e_apps_all = ~/.e/e/applications/all + Currently has all the E_Apps as subbapps, but only used as if it was a single E_App. + On the other hand, this is scanned at startup time, so is used to preload the caches. + + _e_apps_list = Most recently used list / all apps list. + + E_App members - + + E_App *parent; /* the parent e_app node */ + e_apps.c internal + This is in a directory, the parent is the E_App for that directory. + + Evas_List *subapps; /* if this a directory, a list of more E_App's */ + e_apps.c internal except for _e_startup and _e_int_menus_apps_scan + This will be a directory with a .order file, subapps points to the content E_Apps. + + Evas_List *references; /* If this app is in a main repository, this would + be a list to other eapp pointing to this */ + e_apps.c internal + E_Apps in a repository are copied before use, this points to those copies. + + E_App *orig; /* if this is a copy, point to the original */ + e_apps.c internal except for _e_border_menu_cb_icon_edit + E_Apps in a repository are copied before use, this points to the original. + + Evas_List *instances; /* a list of all the exe handles for executions */ + e_apps.c internal except for e_zone_exec + Tracks E_Apps that are currently running. + + Ecore_File_Monitor *monitor; /* Check for changes and files */ + e_apps.c internal + Only E_Apps that are directories are monitored. + + SOLUTION: Start by putting all filenames in ~/.e/e/applications/all in a hash with "empty" E_Apps. Fill the "empty" E_Apps during idle time, also @@ -285,8 +327,10 @@ hash and put it in the directory. The most recently used list can be built from whatever gets used, it - will actually speed things up if it does not contain everything, as - it is usually a linear search. + could actually speed things up if it does not contain everything, as + it is usually a linear search. On the other hand, we could reuse + the subapps of _e_apps_all as this list, since it already exists, + and it doesn't care what order its subapps are in. Executing an app can probably afford to use a slow search. Border icons could make use of bouncy icon thumbnailing. e_int_config_apps ------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs