#include <XrdOucPinLoader.hh>
|
XrdSysPlugin * | Export () |
|
void | Global (bool glbl) |
|
const char * | LastMsg () |
|
const char * | Path () |
|
void * | Resolve (const char *symbl, int mcnt=1) |
|
void | Unload (bool dodel=false) |
|
| XrdOucPinLoader (XrdSysError *errP, XrdVersionInfo *vInfo, const char *drctv, const char *plib) |
|
| XrdOucPinLoader (char *eBuff, int eBlen, XrdVersionInfo *vInfo, const char *drctv, const char *plib) |
|
| XrdOucPinLoader (XrdVersionInfo *vInfo, const char *drctv, const char *plib) |
|
| ~XrdOucPinLoader () |
|
|
void | Inform (const char *txt1, const char *txt2=0, const char *txt3=0, const char *txt4=0, const char *txt5=0) |
|
void | Init (const char *drctv, const char *plib) |
|
bool | LoadLib (int mcnt) |
|
◆ XrdOucPinLoader() [1/3]
XrdOucPinLoader::XrdOucPinLoader |
( |
XrdSysError * |
errP, |
|
|
XrdVersionInfo * |
vInfo, |
|
|
const char * |
drctv, |
|
|
const char * |
plib |
|
) |
| |
Constructor #1
- Parameters
-
errP | Pointer to the message routing object. |
vInfo | Pointer to the version information of the caller. If the pointer is nil, no version checking occurs. |
drctv | Pointer to the directive that initiated the load. The text is used in error messages to relate the directive to the error. E.g. "ofs.osslib" -> "Unable to load ofs.osslib plugin...." |
plib | Pointer to the shared library path that contains the plugin. |
◆ XrdOucPinLoader() [2/3]
XrdOucPinLoader::XrdOucPinLoader |
( |
char * |
eBuff, |
|
|
int |
eBlen, |
|
|
XrdVersionInfo * |
vInfo, |
|
|
const char * |
drctv, |
|
|
const char * |
plib |
|
) |
| |
Constructor #2
- Parameters
-
eBuff | Pointer to a buffer to receive messages. |
eBlen | Length of the buffer. |
vInfo | Pointer to the version information of the caller. If the pointer is nil, no version checking occurs. |
drctv | Pointer to the directive that initiated the load (see above). |
plib | Pointer to the shared library path that contains the plugin. |
◆ XrdOucPinLoader() [3/3]
XrdOucPinLoader::XrdOucPinLoader |
( |
XrdVersionInfo * |
vInfo, |
|
|
const char * |
drctv, |
|
|
const char * |
plib |
|
) |
| |
Constructor #3 (An internal message buffer is allocated. You can get the message, if any, using LastMsg())
- Parameters
-
vInfo | Pointer to the version information of the caller. If the pointer is nil, no version checking occurs. |
drctv | Pointer to the directive that initiated the load (see above). |
plib | Pointer to the shared library path that contains the plugin. |
◆ ~XrdOucPinLoader()
XrdOucPinLoader::~XrdOucPinLoader |
( |
| ) |
|
Destructor
Upon deletion, if the plugin was successfully loaded, it is persisted.
◆ Export()
Export the plugin object for manual management.
- Returns
- !0 Pointer to the plugin object. It is disassociated from this object and must be manually managed.
-
=0 Either no plugin object has been created or it has been exported.
References piP.
◆ Global()
void XrdOucPinLoader::Global |
( |
bool |
glbl | ) |
|
|
inline |
Set export range of symbols in the plugin.
- Parameters
-
glbl | when true then the symbols defined in the plug-in shared library are made available for symbol resolution of subsequently loaded libraries. |
References global.
◆ Inform()
void XrdOucPinLoader::Inform |
( |
const char * |
txt1, |
|
|
const char * |
txt2 = 0 , |
|
|
const char * |
txt3 = 0 , |
|
|
const char * |
txt4 = 0 , |
|
|
const char * |
txt5 = 0 |
|
) |
| |
|
private |
◆ Init()
void XrdOucPinLoader::Init |
( |
const char * |
drctv, |
|
|
const char * |
plib |
|
) |
| |
|
private |
◆ LastMsg()
const char * XrdOucPinLoader::LastMsg |
( |
| ) |
|
|
inline |
Get the last message placed in the buffer.
- Returns
- Pointer to the last message. If there is no buffer or no message exists, a null string is returned.
References errBP.
◆ LoadLib()
bool XrdOucPinLoader::LoadLib |
( |
int |
mcnt | ) |
|
|
private |
◆ Path()
const char * XrdOucPinLoader::Path |
( |
| ) |
|
|
inline |
Get the actual path that was or will tried for loading.
- Returns
- Pointer to the path that was loaded if called after Resolve() or the path that will be attempted to be loaded. If the path is invalid, a single question mark is returned.
References theLib.
◆ Resolve()
void * XrdOucPinLoader::Resolve |
( |
const char * |
symbl, |
|
|
int |
mcnt = 1 |
|
) |
| |
Resolve a desired symbol from the plugin image.
- Parameters
-
symbl | Pointer to the name of the symbol to resolve. |
mcnt | Maximum number of version messages to be displayed. |
- Returns
- !0 The address of the symbol.
-
=0 The symbol could not be resolved.
◆ Unload()
void XrdOucPinLoader::Unload |
( |
bool |
dodel = false | ) |
|
Unload any plugin that may be associated with this object. The plugin image will not be persisted when this object is deleted.
- Parameters
-
dodel | When true, the object is deleted (this only works if it is created via new). Otherwise, plugin is only unloaded. |
Referenced by XrdCl::PlugInManager::FactoryHelper::~FactoryHelper().
◆ altLib
char* XrdOucPinLoader::altLib |
|
private |
◆ badLib
bool XrdOucPinLoader::badLib |
|
private |
◆ dName
const char* XrdOucPinLoader::dName |
|
private |
◆ eDest
◆ errBL
int XrdOucPinLoader::errBL |
|
private |
◆ errBP
char* XrdOucPinLoader::errBP |
|
private |
◆ frBuff
bool XrdOucPinLoader::frBuff |
|
private |
◆ global
bool XrdOucPinLoader::global |
|
private |
◆ piP
◆ theLib
char* XrdOucPinLoader::theLib |
|
private |
◆ viP
XrdVersionInfo* XrdOucPinLoader::viP |
|
private |
The documentation for this class was generated from the following file: