19 #ifndef LUNCHBOX_DSO_H 20 #define LUNCHBOX_DSO_H 23 #include <boost/noncopyable.hpp> 28 namespace detail {
class DSO; }
35 class DSO :
public boost::noncopyable
42 LUNCHBOX_API
explicit DSO(
const std::string& name );
54 LUNCHBOX_API
bool open(
const std::string& fileName );
60 LUNCHBOX_API
void close();
68 void* getFunctionPointer(
const std::string& functionName )
const;
76 {
return (F)(getFunctionPointer( func )); }
79 LUNCHBOX_API
bool isOpen()
const;
85 LUNCHBOX_API
bool operator == (
const DSO& rhs )
const;
91 bool operator != (
const DSO& rhs )
const {
return !( *
this == rhs ); }
94 detail::DSO*
const _impl;
99 #endif //LUNCHBOX_DSO_H Helper to access dynamic shared objects (DSO)
F getFunctionPointer(const std::string &func) const
Defines export visibility macros for library Lunchbox.
Abstraction layer and common utilities for multi-threaded programming.