00001 //==================================================================== 00002 // ModuleInfo.h 00003 //-------------------------------------------------------------------- 00004 // 00005 // Package : System (The LHCb System service) 00006 // 00007 // Description: Definition of Systems internals 00008 // 00009 // Author : M.Frank 00010 // Created : 13/1/99 00011 // Changes : 00012 //==================================================================== 00013 #ifndef GAUDIKERNEL_MODULEINFO_H 00014 #define GAUDIKERNEL_MODULEINFO_H 00015 00016 // Framework include files 00017 #include "GaudiKernel/Kernel.h" 00018 // STL include files 00019 #include <string> 00020 #include <vector> 00021 00027 namespace System { 00028 enum ModuleType { UNKNOWN, SHAREDLIB, EXECUTABLE }; 00030 typedef void* ImageHandle; 00032 typedef void* ProcessHandle; 00034 const std::string& moduleName(); 00036 const std::string& moduleNameFull(); 00038 ModuleType moduleType(); 00040 ProcessHandle processHandle(); 00042 ImageHandle moduleHandle(); 00044 ImageHandle exeHandle(); 00046 const std::string& exeName(); 00048 const std::vector<std::string> linkedModules(); 00050 void setModuleHandle(ImageHandle handle); 00051 } 00052 #endif // GAUDIKERNEL_MODULEINFO_H