11 virtual const char *what()
const throw();
14 const std::string m_name;
21 virtual const char *what()
const throw();
24 const std::string m_name;
25 const std::string m_sym;
32 const std::string &extra_param);
40 void reset_for_read();
41 bytes read_item_data();
42 uint64_t get_item_number();
43 bytes get_sample_data();
44 std::string get_data_format();
47 template <
typename T> T get_func_with_name(
const std::string &name) {
48 T r = (T)dlsym(m_lib_handle, name.c_str());
55 template <
typename T> T get_opt_func_with_name(
const std::string &name) {
56 T r = (T)dlsym(m_lib_handle, name.c_str());
61 typedef void *(*create_item_reader_func_t)(
const char *, int);
62 typedef int (*reset_for_read_func_t)(
void *);
63 typedef int (*read_item_data_func_t)(
void *,
char *,
int *);
64 typedef int (*close_item_reader_func_t)(
void *);
65 typedef uint64_t (*get_item_number_func_t)(
void *);
66 typedef int (*get_sample_data_func_t)(
void *,
char *,
int *);
67 typedef int (*get_data_format_func_t)(
void *,
char *,
int *);
70 const std::string m_plugin_path;
71 const std::string m_extra_param;
76 create_item_reader_func_t m_create_item_reader;
77 reset_for_read_func_t m_reset_for_read;
78 read_item_data_func_t m_read_item_data;
79 close_item_reader_func_t m_close_item_reader;
81 get_item_number_func_t m_get_item_number;
82 get_sample_data_func_t m_get_sample_data;
83 get_data_format_func_t m_get_data_format;