Enlightenment CVS committal

Author  : codewarrior
Project : e17
Module  : libs/etk

Dir     : e17/libs/etk/src/lib


Modified Files:
        etk_engine.c etk_engine.h etk_main.c 


Log Message:
Remainder of Adre's patch to allow engines to have init params.


===================================================================
RCS file: /cvs/e/e17/libs/etk/src/lib/etk_engine.c,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -3 -r1.17 -r1.18
--- etk_engine.c        2 Apr 2007 09:48:29 -0000       1.17
+++ etk_engine.c        29 Jun 2007 12:00:14 -0000      1.18
@@ -79,7 +79,7 @@
    while (_loaded_engines)
    {
       Etk_Engine *engine;
-      void *(*engine_close)();
+      void *(*engine_close)(void);
       
       engine = _loaded_engines->data;
       _loaded_engines = evas_list_remove(_loaded_engines, engine);
@@ -148,12 +148,16 @@
  * @internal
  * @brief Loads an engine. The loaded engine will automatically become the 
engine used by Etk
  * @param engine_name the name of the engine to load
+ * @param argc the location of the "argc" parameter passed to main(). It is 
used to parse the arguments specific to Etk.
+ * It can be set to NULL.
+ * @param argv the location of the "argv" parameter passed to main(). It is 
used to parse the arguments specific to Etk.
+ * It can be set to NULL.
  * @return Returns the loaded engine, or NULL if the engine could not be loaded
  */
-Etk_Engine *etk_engine_load(const char *engine_name)
+Etk_Engine *etk_engine_load(const char *engine_name, int *argc, char ***argv)
 {
    Etk_Engine *engine;
-   Etk_Engine *(*engine_open)();   
+   Etk_Engine *(*engine_open)(int *argc, char ***argv);
    char filename[PATH_MAX];
    void *handle;
    
@@ -186,7 +190,7 @@
       return NULL;
    }
    
-   if (!(engine = engine_open()))
+   if (!(engine = engine_open(argc, argv)))
    {
       ETK_WARNING("Etk can not open the requested engine!");
       dlclose(handle);
@@ -212,16 +216,20 @@
  * will be used by the inheriting engine
  * @param engine the engine which will inherit from the methods of the base 
engine
  * @param inherit_name the name of the engine from which @a engine will inherit
+ * @param argc the location of the "argc" parameter passed to main(). It is 
used to parse the arguments specific to Etk.
+ * It can be set to NULL.
+ * @param argv the location of the "argv" parameter passed to main(). It is 
used to parse the arguments specific to Etk.
+ * It can be set to NULL.
  * @return Returns ETK_TRUE on success, ETK_FALSE otherwise
  */
-Etk_Bool etk_engine_inherit_from(Etk_Engine *engine, const char *inherit_name)
+Etk_Bool etk_engine_inherit_from(Etk_Engine *engine, const char *inherit_name, 
int *argc, char ***argv)
 {
    Etk_Engine *inherit_from;
    
    if (!engine || !inherit_name)
       return ETK_FALSE;
    
-   if (!(inherit_from = etk_engine_load(inherit_name)))
+   if (!(inherit_from = etk_engine_load(inherit_name, argc, argv)))
      return ETK_FALSE;
    
    _etk_engine_inheritance_set(engine, inherit_from);
===================================================================
RCS file: /cvs/e/e17/libs/etk/src/lib/etk_engine.h,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -3 -r1.16 -r1.17
--- etk_engine.h        2 Apr 2007 09:48:29 -0000       1.16
+++ etk_engine.h        29 Jun 2007 12:00:14 -0000      1.17
@@ -27,8 +27,8 @@
    Etk_Engine *super;
    void *handle;
    
-   Etk_Bool (*engine_init)();
-   void (*engine_shutdown)();
+   Etk_Bool (*engine_init)(void);
+   void (*engine_shutdown)(void);
    
    void (*window_constructor)(Etk_Window *window);
    void (*window_destructor)(Etk_Window *window);
@@ -98,9 +98,9 @@
 Etk_Bool     etk_engine_exists(const char *engine_name);
 Etk_Engine  *etk_engine_get(void);
 
-Etk_Engine  *etk_engine_load(const char *engine_name);
+Etk_Engine  *etk_engine_load(const char *engine_name, int *argc, char ***argv);
 void         etk_engine_unload(Etk_Engine *engine);
-Etk_Bool     etk_engine_inherit_from(Etk_Engine *engine, const char * 
inherit_name);
+Etk_Bool     etk_engine_inherit_from(Etk_Engine *engine, const char * 
inherit_name, int *argc, char ***argv);
 
 void         etk_engine_window_constructor(Etk_Window *window);
 void         etk_engine_window_destructor(Etk_Window *window);
===================================================================
RCS file: /cvs/e/e17/libs/etk/src/lib/etk_main.c,v
retrieving revision 1.38
retrieving revision 1.39
diff -u -3 -r1.38 -r1.39
--- etk_main.c  2 Apr 2007 09:48:29 -0000       1.38
+++ etk_main.c  29 Jun 2007 12:00:14 -0000      1.39
@@ -106,7 +106,7 @@
          ETK_WARNING("Etk_Engine initialization failed!");
          return 0;
       }
-      if (!etk_engine_load(engine_name ? engine_name : 
"ecore_evas_software_x11"))
+      if (!etk_engine_load(engine_name ? engine_name : 
"ecore_evas_software_x11", argc, argv))
       {
          ETK_WARNING("Etk can not load the requested engine!");
          return 0;



-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to