#include <stdio.h>
#include <dlfcn.h>
Aller au code source de ce fichier.
Macros | |
| #define | CALL(class, methode) ((class).*(methode)) |
| Exécution de méthode. | |
Typedefs | |
| typedef void * | MODULE |
| Un module dynamique. | |
| typedef void *(* | ROUTINE )(void *) |
| Nom de routine. | |
Fonctions | |
| int | ModuleLoad (MODULE *pModule, char *pName) |
| Charge un module. | |
| int | ModuleUnload (MODULE *pModule) |
| Decharge un module. | |
| int | ModuleImport (MODULE Module, ROUTINE *pFonction, char *pName) |
| Importe une fonction. | |
Définition dans le fichier SurcoucheModule.h.
|
|
Exécute la méthode methode de la class class. Définition à la ligne 17 du fichier SurcoucheModule.h. |
|
|
Crée un module dynamique (dll ou so). Définition à la ligne 35 du fichier SurcoucheModule.h. Référencé par ModuleUnload(). |
|
|
Pointe sur une fonction. Définition à la ligne 40 du fichier SurcoucheModule.h. Référencé par ModuleDynamiqueModule::GetFonction(), ModuleDynamiqueModule::Load(), NetServer::Start(), ThreadStart(), et ModuleDynamiqueModule::UnLoad(). |
|
||||||||||||||||
|
Importe une fonction depuis un module dynamique.
Définition à la ligne 44 du fichier SurcoucheModule.cpp. Référencé par ModuleDynamiqueModule::AddFonction(), ModuleDynamiqueModule::Load(), et ModuleDynamiqueModule::UnLoad(). 00045 {
00046 *pFonction = NULL;
00047
00048 #ifdef WIN32
00049 *pFonction = (ROUTINE)GetProcAddress(Module, pName);
00050 #else
00051 *pFonction = (ROUTINE)dlsym(Module, pName);
00052 #endif
00053
00054 if(*pFonction)
00055 return 1;
00056
00057 return 0;
00058 }
|
|
||||||||||||
|
Charge un module dynamique.
Définition à la ligne 14 du fichier SurcoucheModule.cpp. Référencé par ModuleDynamiqueModule::Load(). 00015 {
00016 *pModule = NULL;
00017 #ifdef WIN32
00018 *pModule = (MODULE)LoadLibrary(pName);
00019 #else
00020 *pModule = (MODULE)dlopen(pName, RTLD_NOW);
00021 #endif
00022
00023 if(*pModule)
00024 return 1;
00025
00026 return 0;
00027 }
|
|
|
Decharge un module dynamique.
Définition à la ligne 29 du fichier SurcoucheModule.cpp. Références MODULE. Référencé par ModuleDynamiqueModule::UnLoad(). 00030 {
00031 int r = 1;
00032 #ifdef WIN32
00033 if(FreeLibrary((MODULE)*pModule))
00034 r = 0;
00035 #else
00036 if(!dlclose((MODULE)*pModule))
00037 r = 0;
00038 #endif
00039 *pModule = NULL;
00040
00041 return r;
00042 }
|
1.3.9.1