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();
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
LUNCHBOX_API void * getFunctionPointer(const std::string &functionName) const
Helper to access dynamic shared objects (DSO)
F getFunctionPointer(const std::string &func) const
Defines export visibility macros for library Lunchbox.
LUNCHBOX_API ~DSO()
Destruct this DSO handle.
LUNCHBOX_API bool isOpen() const
LUNCHBOX_API DSO()
Construct a new dynamic shared object.
LUNCHBOX_API bool operator==(const DSO &rhs) const
Abstraction layer and common utilities for multi-threaded programming.
bool operator!=(const DSO &rhs) const
LUNCHBOX_API bool open(const std::string &fileName)
Open a dynamic shared object.
LUNCHBOX_API void close()
Close the DSO, invalidates retrieved function pointers.