Enlightenment CVS committal

Author  : raster
Project : e17
Module  : libs/evas

Dir     : e17/libs/evas/src/lib/include


Modified Files:
        evas_common.h evas_private.h 


Log Message:


and i implemented module UNLOADING. given enough cycles of non-use of a
module and no references, it will get.... UNLOADED :)

===================================================================
RCS file: /cvs/e/e17/libs/evas/src/lib/include/evas_common.h,v
retrieving revision 1.64
retrieving revision 1.65
diff -u -3 -r1.64 -r1.65
--- evas_common.h       6 Sep 2006 07:33:40 -0000       1.64
+++ evas_common.h       18 Sep 2006 09:40:29 -0000      1.65
@@ -249,6 +249,7 @@
    RGBA_Image_Flags     flags;
    struct
      {
+       void           *module;
        void           *loader;
 //     int             format;
        char           *file;
===================================================================
RCS file: /cvs/e/e17/libs/evas/src/lib/include/evas_private.h,v
retrieving revision 1.74
retrieving revision 1.75
diff -u -3 -r1.74 -r1.75
--- evas_private.h      6 Sep 2006 07:33:40 -0000       1.74
+++ evas_private.h      18 Sep 2006 09:40:29 -0000      1.75
@@ -45,10 +45,13 @@
        int (*open)(Evas_Module *);
        void (*close)(Evas_Module *);
      } func;
-   unsigned char       loaded : 1;     
+   unsigned char       loaded : 1;
    
    void                *functions;     /* this are the functions exported by 
the module */
    void                *data;          /* some internal data for the module 
i.e the id for engines */
+
+   int           ref; /* how many refs */
+   int           last_used; /* the cycle count when it was last used */
 };
 
 
@@ -308,6 +311,7 @@
    int               events_frozen;
 
    struct {
+      Evas_Module *module;
       Evas_Func *func;
       struct {
         void *output;
@@ -743,7 +747,12 @@
 Evas_Module * evas_module_find_type(Evas_Module_Type type, const char *name);
 int evas_module_load(Evas_Module *em);
 void evas_module_unload(Evas_Module *em);
+void evas_module_ref(Evas_Module *em);
+void evas_module_unref(Evas_Module *em);
+void evas_module_use(Evas_Module *em);
+void evas_module_clean(void);
 void evas_module_shutdown(void);
+
 EAPI int _evas_module_engine_inherit(Evas_Func *funcs, char *name);
        
 #define EVAS_API_OVERRIDE(func, api, prefix) \



-------------------------------------------------------------------------
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

Reply via email to