#include "dynamic-ld.h"
Public Member Functions | |
virtual | ~octave_dynamic_loader (void) |
Static Public Member Functions | |
static octave_function * | load_mex (const std::string &fcn_name, const std::string &file_name=std::string(), bool relative=false) |
static octave_function * | load_oct (const std::string &fcn_name, const std::string &file_name=std::string(), bool relative=false) |
static bool | remove_mex (const std::string &fcn_name, octave_shlib &shl) |
static bool | remove_oct (const std::string &fcn_name, octave_shlib &shl) |
Protected Member Functions | |
octave_dynamic_loader (void) | |
Static Protected Member Functions | |
static std::string | mex_f77_mangler (const std::string &name) |
static std::string | mex_mangler (const std::string &name) |
static std::string | mex_uscore_mangler (const std::string &name) |
static std::string | name_mangler (const std::string &name) |
static std::string | name_uscore_mangler (const std::string &name) |
Private Member Functions | |
octave_dynamic_loader (const octave_dynamic_loader &) | |
octave_function * | do_load_mex (const std::string &fcn_name, const std::string &file_name=std::string(), bool relative=false) |
octave_function * | do_load_oct (const std::string &fcn_name, const std::string &file_name=std::string(), bool relative=false) |
bool | do_remove_mex (const std::string &fcn_name, octave_shlib &shl) |
bool | do_remove_oct (const std::string &fcn_name, octave_shlib &shl) |
octave_dynamic_loader & | operator= (const octave_dynamic_loader &) |
Static Private Member Functions | |
static void | cleanup_instance (void) |
static bool | instance_ok (void) |
Static Private Attributes | |
static bool | doing_load = false |
static octave_dynamic_loader * | instance = 0 |
Definition at line 32 of file dynamic-ld.h.
octave_dynamic_loader::octave_dynamic_loader | ( | void | ) | [inline, protected] |
Definition at line 37 of file dynamic-ld.h.
Referenced by instance_ok().
virtual octave_dynamic_loader::~octave_dynamic_loader | ( | void | ) | [inline, virtual] |
Definition at line 41 of file dynamic-ld.h.
octave_dynamic_loader::octave_dynamic_loader | ( | const octave_dynamic_loader & | ) | [private] |
static void octave_dynamic_loader::cleanup_instance | ( | void | ) | [inline, static, private] |
Definition at line 67 of file dynamic-ld.h.
Referenced by instance_ok().
octave_function * octave_dynamic_loader::do_load_mex | ( | const std::string & | fcn_name, | |
const std::string & | file_name = std::string () , |
|||
bool | relative = false | |||
) | [private] |
Definition at line 414 of file dynamic-ld.cc.
References octave_mex_file_list::append(), octave_shlib_list::append(), clear(), doing_load, error(), error_state, octave_shlib_list::find_file(), octave_shlib::is_out_of_date(), mex_f77_mangler(), mex_mangler(), mex_uscore_mangler(), octave_shlib::open(), unwind_protect::protect_var(), and octave_shlib::search().
Referenced by load_mex().
octave_function * octave_dynamic_loader::do_load_oct | ( | const std::string & | fcn_name, | |
const std::string & | file_name = std::string () , |
|||
bool | relative = false | |||
) | [private] |
Definition at line 354 of file dynamic-ld.cc.
References octave_shlib_list::append(), clear(), doing_load, error(), error_state, f, octave_shlib_list::find_file(), octave_shlib::is_out_of_date(), name_mangler(), name_uscore_mangler(), octave_shlib::open(), unwind_protect::protect_var(), and octave_shlib::search().
Referenced by load_oct().
bool octave_dynamic_loader::do_remove_mex | ( | const std::string & | fcn_name, | |
octave_shlib & | shl | |||
) | [private] |
Definition at line 503 of file dynamic-ld.cc.
References doing_load, octave_shlib::number_of_functions_loaded(), octave_mex_file_list::remove(), and octave_shlib::remove().
Referenced by remove_mex().
bool octave_dynamic_loader::do_remove_oct | ( | const std::string & | fcn_name, | |
octave_shlib & | shl | |||
) | [private] |
Definition at line 483 of file dynamic-ld.cc.
References doing_load, octave_shlib::number_of_functions_loaded(), octave_shlib_list::remove(), and octave_shlib::remove().
Referenced by remove_oct().
bool octave_dynamic_loader::instance_ok | ( | void | ) | [static, private] |
Definition at line 308 of file dynamic-ld.cc.
References singleton_cleanup_list::add(), cleanup_instance(), error(), instance, and octave_dynamic_loader().
Referenced by load_mex(), load_oct(), remove_mex(), and remove_oct().
octave_function * octave_dynamic_loader::load_mex | ( | const std::string & | fcn_name, | |
const std::string & | file_name = std::string () , |
|||
bool | relative = false | |||
) | [static] |
Definition at line 532 of file dynamic-ld.cc.
References do_load_mex(), instance, and instance_ok().
octave_function * octave_dynamic_loader::load_oct | ( | const std::string & | fcn_name, | |
const std::string & | file_name = std::string () , |
|||
bool | relative = false | |||
) | [static] |
Definition at line 523 of file dynamic-ld.cc.
References do_load_oct(), instance, and instance_ok().
std::string octave_dynamic_loader::mex_f77_mangler | ( | const std::string & | name | ) | [static, protected] |
Definition at line 579 of file dynamic-ld.cc.
References F77_FUNC(), and STRINGIFY.
Referenced by do_load_mex().
std::string octave_dynamic_loader::mex_mangler | ( | const std::string & | name | ) | [static, protected] |
Definition at line 567 of file dynamic-ld.cc.
Referenced by do_load_mex().
std::string octave_dynamic_loader::mex_uscore_mangler | ( | const std::string & | name | ) | [static, protected] |
Definition at line 573 of file dynamic-ld.cc.
Referenced by do_load_mex().
std::string octave_dynamic_loader::name_mangler | ( | const std::string & | name | ) | [static, protected] |
Definition at line 555 of file dynamic-ld.cc.
Referenced by do_load_oct().
std::string octave_dynamic_loader::name_uscore_mangler | ( | const std::string & | name | ) | [static, protected] |
Definition at line 561 of file dynamic-ld.cc.
Referenced by do_load_oct().
octave_dynamic_loader& octave_dynamic_loader::operator= | ( | const octave_dynamic_loader & | ) | [private] |
bool octave_dynamic_loader::remove_mex | ( | const std::string & | fcn_name, | |
octave_shlib & | shl | |||
) | [static] |
Definition at line 548 of file dynamic-ld.cc.
References do_remove_mex(), instance, and instance_ok().
Referenced by octave_mex_function::~octave_mex_function().
bool octave_dynamic_loader::remove_oct | ( | const std::string & | fcn_name, | |
octave_shlib & | shl | |||
) | [static] |
Definition at line 541 of file dynamic-ld.cc.
References do_remove_oct(), instance, and instance_ok().
Referenced by octave_dld_function::~octave_dld_function().
bool octave_dynamic_loader::doing_load = false [static, private] |
Definition at line 85 of file dynamic-ld.h.
Referenced by do_load_mex(), do_load_oct(), do_remove_mex(), and do_remove_oct().
octave_dynamic_loader * octave_dynamic_loader::instance = 0 [static, private] |
Definition at line 65 of file dynamic-ld.h.
Referenced by instance_ok(), load_mex(), load_oct(), remove_mex(), and remove_oct().