15#ifndef CXXUTILS_SEAL_SHAREDLIB_H
16#define CXXUTILS_SEAL_SHAREDLIB_H
39 virtual void call (T1) = 0;
59 operator bool (
void)
const;
66template <
class T1,
class T2>
81 {
const self *
x =
dynamic_cast<const self *
> (other);
92 :
m_rep (implementation)
127{
return m_rep ? true :
false; }
134template <
class T1,
class T2>
149 virtual const char*
what()
const throw();
177 static std::string
path (
void);
179 static std::string
libname (
const std::string &name);
180 static std::string
symname (
const std::string &name);
189 Data data (
const std::string &name,
bool mangle =
true)
const;
char data[hepevt_bytes_allocation_ATLAS]
Define macros for attributes used to control the static checker.
virtual ~Callback1Rep(void)
virtual bool equal(const Callback1Rep *x) const =0
Callback1(const Callback1 &x)
Callback1 & operator=(const Callback1 &x)
Callback1(Callback1Rep< T1 > *implementation=0)
bool operator==(const Callback1 &x) const
Callback1Rep< const LibraryInfo & > * m_rep
CallbackImpF11(void(*function)(T1, T2), const T2 &fill_2)
virtual bool equal(const Callback1Rep< T1 > *other) const
void(* m_function)(T1, T2)
SharedLibraryError(const std::string &context, const std::string &cause)
virtual ~SharedLibraryError()
virtual const char * what() const
SharedLibrary(void *handle)
Protected constructor for initialising a library object.
static SharedLibrary * load(const std::string &name)
Load a shared library and return an object representing it.
void abandon(void)
Abandon a library.
Function function(const std::string &name, bool mangle=true) const
Locate and return a reference to a function symbol called name.
static void loaded(InfoHandler &handler)
Iterate and provide information about all currently loaded shared libraries.
Callback1< const LibraryInfo & > InfoHandler
static void path ATLAS_NOT_THREAD_SAFE(const std::string &path)
static std::string libname(const std::string &name)
Return a shared library name that follows the system conventions for naming shared library.
static std::string path(void)
static std::string symname(const std::string &name)
Transform 'extern "C"' symbol name into a name suitable for lookup in a shared library,...
static SharedLibrary * self(void)
Return a shared library object representing the application itself.
SharedLibrary(const SharedLibrary &)
static std::string release
Some weak symbol referencing magic... These are declared in AthenaKernel/getMessageSvc....
Callback1Rep< T1 > * CreateCallback(void(*function)(T1, T2), const T2 &fill_2)
void handler(int sig)
signal handler
Information about a currently loaded shared library.
unsigned long m_data_start
unsigned long m_bss_start
unsigned long m_text_start