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

SurcoucheModule.h

Aller à la documentation de ce fichier.
00001 /*! \file SurcoucheModule.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 #include    <stdio.h>
00020 
00021 #ifdef WIN32
00022     #include    <windows.h>
00023 
00024     typedef HINSTANCE               MODULE;
00025 
00026 #ifndef ROUTINE
00027     typedef LPTHREAD_START_ROUTINE  ROUTINE;
00028 #endif
00029 
00030 #else
00031     #include    <dlfcn.h>
00032 
00033     //! Un module dynamique
00034     /*! Crée un module dynamique (dll ou so). */
00035     typedef void *                  MODULE;
00036 
00037 #ifndef ROUTINE
00038     //! Nom de routine
00039     /*! Pointe sur une fonction. */
00040     typedef void *(*ROUTINE)(void *);
00041 #endif
00042 
00043 #endif
00044 
00045 
00046 //! Charge un module
00047 /*! Charge un module dynamique.
00048     \param pModule adresse mémoire du module chargé.
00049     \param pName fichier du module à charger.
00050     \return 1 si OK sinon 0
00051     \sa ModuleUnLoad() et ModuleImport()
00052 */
00053 int     ModuleLoad(MODULE *pModule, char *pName);
00054 
00055 //! Decharge un module
00056 /*! Decharge un module dynamique.
00057     \param pModule pointeur sur le module à decharger.
00058     \return
00059     \sa ModuleLoad() et ModuleImport()
00060 */
00061 int     ModuleUnload(MODULE *pModule);
00062 
00063 //! Importe une fonction
00064 /*! Importe une fonction depuis un module dynamique.
00065     \param Module pointeur sur module.
00066     \param pFonction adresse mémoir de la fonction importé.
00067     \param pName nom de la fonction à importer.
00068     \return 1 si OK sinon 0
00069     \sa ModuleLoad() et ModuleUnLoad()
00070 */
00071 int     ModuleImport(MODULE Module, ROUTINE *pFonction, char *pName);
00072 
00073 
00074 #endif

Généré le Thu Jun 12 09:12:30 2008 pour A.I.F. par  doxygen 1.3.9.1