Page principale | Hiérarchie des classes | Liste alphabétique | Liste des classes | Liste des fichiers | Membres de classe | Membres de fichier | Pages associées

Module.h

Aller à la documentation de ce fichier.
00001 /*! \file Module.h
00002     \brief Surcouche pour module.
00003 
00004     Redéfinie tout un tas de fonctions système pour les rendre portables unix et windows.
00005 
00006     \author     aerith (www.aerith.fr)
00007     \version    1.0
00008     \date       18/03/2007
00009 */
00010 
00011 #ifndef INCLUDE_RSRC_PORTAGE_MODULE
00012 #define INCLUDE_RSRC_PORTAGE_MODULE
00013 
00014 
00015 //! Exécution de méthode
00016 /*! Exécute la méthode \a methode de la class \a class. */
00017 #define CALL(class, methode)    ((class).*(methode))
00018 
00019 #ifdef WIN32
00020     #include    <windows.h>
00021 
00022     typedef HINSTANCE               MODULE;
00023 
00024 #ifndef ROUTINE
00025     typedef LPTHREAD_START_ROUTINE  ROUTINE;
00026 #endif
00027 
00028 #else
00029     #include    <dlfcn.h>
00030 
00031     //! Un module dynamique
00032     /*! Crée un module dynamique (dll ou so). */
00033     typedef void *                  MODULE;
00034 
00035 #ifndef ROUTINE
00036     //! Nom de routine
00037     /*! Pointe sur une fonction. */
00038     typedef void *(*ROUTINE)(void *);
00039 #endif
00040 
00041 #endif
00042 
00043 
00044 //! Charge un module
00045 /*! Charge un module dynamique.
00046     \param pModule adresse mémoire du module chargé.
00047     \param pName fichier du module à charger.
00048     \return 1 si OK sinon 0
00049     \sa ModuleUnLoad() et ModuleImport()
00050 */
00051 int     ModuleLoad(MODULE *pModule, char *pName);
00052 
00053 //! Decharge un module
00054 /*! Decharge un module dynamique.
00055     \param pModule pointeur sur le module à decharger.
00056     \return
00057     \sa ModuleLoad() et ModuleImport()
00058 */
00059 int     ModuleUnload(MODULE *pModule);
00060 
00061 //! Importe une fonction
00062 /*! Importe une fonction depuis un module dynamique.
00063     \param Module pointeur sur module.
00064     \param pFonction adresse mémoir de la fonction importé.
00065     \param pName nom de la fonction à importer.
00066     \return 1 si OK sinon 0
00067     \sa ModuleLoad() et ModuleUnLoad()
00068 */
00069 int     ModuleImport(MODULE Module, ROUTINE *pFonction, char *pName);
00070 
00071 
00072 #endif

Généré le Thu Sep 6 13:57:45 2007 pour A.I.F. par  doxygen 1.3.9.1