1 #ifndef __JEEP__JFUNCTIONADAPTOR__ 
    2 #define __JEEP__JFUNCTIONADAPTOR__ 
   18 namespace JPP { 
using namespace JEEP; }
 
   32   template<
class __pF__>
 
   58       return (
function != NULL);
 
   93     void get(
const char* symbol)
 
  101         function = (__pF__) dlsym(
handle, symbol);
 
  103         const char* error = dlerror();
 
  132     void open(
const char* file_name)
 
  136       handle = dlopen(file_name, RTLD_LOCAL | RTLD_LAZY);
 
  168     void load(
const std::string& file_name, 
const std::string& symbol)
 
  170       open(file_name.c_str());
 
  183     void load(
const std::string& buffer)
 
  187       const string::size_type pos = buffer.rfind(
SEPARATOR);
 
  189       if (pos != string::npos) {
 
  191         load(buffer.substr(0,pos).c_str(), buffer.substr(pos+1).c_str());
 
  261                            const std::string& symbol) :
 
  265       this->
load(file_name, symbol);
 
  291   template<
class JReturn_t = 
void, 
class JFirst_t = 
void, 
class JSecond_t = 
void>
 
  298   template<
class JReturn_t, 
class JFirst_t>
 
  305     typedef JReturn_t (*pF)(JFirst_t);
 
  333                      const std::string& symbol) :
 
  346       return this->
function(
first);
 
  354   template<
class JReturn_t, 
class JFirst_t, 
class JSecond_t>
 
  361     typedef JReturn_t (*pF)(JFirst_t, JSecond_t);
 
  389                      const std::string& symbol) :
 
  403       return this->
function(
first, second);
 
Exception for opening of file. 
 
void open(const char *file_name)
Open file. 
 
Exception for reading of file. 
 
JFunctionAdaptorHelper(__pF__ pf)
Constructor. 
 
void load(const std::string &buffer)
Load function from shared library. 
 
Auxiliary base class for function adaptor. 
 
void set(__pF__ pf)
Set function. 
 
static const char SEPARATOR
Separation character between library file name and function name. 
 
JFunctionAdaptor(const std::string &file_name, const std::string &symbol)
Constructor. 
 
JFunctionAdaptor(const std::string &file_name, const std::string &symbol)
Constructor. 
 
#define THROW(JException_t, A)
Marco for throwing exception with std::ostream compatible message. 
 
void attach(const JSharedCounter &object)
Attach this counter to given shared counter object. 
 
JFunctionAdaptor()
Default constructor. 
 
JFunctionAdaptor()
Default constructor. 
 
JReturn_t operator()(JFirst_t first) const 
Function operation. 
 
void load(const std::string &file_name, const std::string &symbol)
Load function from shared library. 
 
then echo The file $DIR KM3NeT_00000001_00000000 root already please rename or remove it first
 
JFunctionAdaptorHelper(const JFunctionAdaptorHelper &helper)
Copy constructor. 
 
JFunctionAdaptorHelper()
Default constructor. 
 
JFunctionAdaptorHelper(const std::string &file_name, const std::string &symbol)
Constructor. 
 
void initialise()
Initialise counter. 
 
JFunctionAdaptor(pF pf)
Constructor. 
 
friend std::ostream & operator<<(std::ostream &out, const JFunctionAdaptorHelper &object)
Write function adaptor helper to output stream. 
 
Exception for parsing value. 
 
virtual ~JFunctionAdaptorHelper()
Virtual destructor. 
 
void reset()
Reset function adaptor helper. 
 
JFunctionAdaptor(pF pf)
Constructor. 
 
then fatal Wrong number of arguments fi set_variable DETECTOR $argv[1] set_variable INPUT_FILE $argv[2] eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O SUMMARY source JAcoustics sh $DETECTOR_ID CHECK_EXIT_CODE typeset A TRIPODS get_tripods $WORKDIR tripod txt TRIPODS for EMITTER in
 
bool is_valid() const 
Check validity of function. 
 
bool is_open() const 
Check if shared library file is open. 
 
friend std::istream & operator>>(std::istream &in, JFunctionAdaptorHelper &object)
Read function adaptor helper from input stream. 
 
JReturn_t operator()(JFirst_t first, JSecond_t second) const 
Function operation.