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