11 #ifdef SELOGGER_EXPORTS
12 #define SELOGGER_API __declspec(dllexport)
14 #define SELOGGER_API __declspec(dllimport)
21 #include <Poco/Tuple.h>
23 typedef Poco::Tuple<std::string, std::string, std::string, std::string,
24 std::string, std::string, int, std::string,
25 float, float, std::string, std::string,
34 std::string&
vi_name() {
return this->get<2>(); }
42 std::string&
units() {
return this->get<10>(); }
44 int&
is_real() {
return this->get<12>(); }
45 std::string&
source() {
return this->get<13>(); }
54 button_control, options, nexus_name, low_limit, high_limit, units, block_value,
55 is_real, source, setpoint_time, value_time)
68 SEBLOCK_DETAILS_tuple::operator=(block);
149 SELOGGER_API int __stdcall
se_log_value(
long run_number,
const char* source,
const char* iso_time,
const char* block_name,
const char* block_value);
184 const char* vi_name,
const char* read_control_label,
const char* set_control_label,
const char* button_control_label,
185 unsigned options,
const char* nexus_name,
float low_limit,
float high_limit,
186 const char* units,
const char* current_value);
200 SELOGGER_API int __stdcall
se_log_run(
int run_number,
const char* source,
const char* iso_time,
int period,
201 int run_status,
int is_running,
int is_waiting,
202 int good_frames,
int raw_frames,
203 float good_uamph,
float raw_uamph,
204 int64_t monitor_sum0,
float dae_beam_current, int64_t total_counts,
205 float count_rate,
float npratio_current);
242 SELOGGER_API int __stdcall
se_log_values(
long run_number,
const char* source,
const std::vector<std::string>& iso_times,
const std::vector<std::string>& block_names,
const std::vector<std::string>& block_values);
244 SELOGGER_API int __stdcall
se_log_fvalues(
long run_number,
const char* source,
const std::vector<std::string>& iso_times,
const std::vector<std::string>& block_names,
const std::vector<float>& block_values);
248 SELOGGER_API int __stdcall
se_log_value_async(
long run_number,
const char* source,
const char* iso_time,
const char* block_name,
const char* block_value);
250 SELOGGER_API int __stdcall
se_log_values_async(
long run_number,
const char* source,
const std::vector<std::string>& iso_times,
const std::vector<std::string>& block_names,
const std::vector<std::string>& block_values);
264 SELOGGER_API int __stdcall
se_get_values(
long run_number,
const char* source,
const char* block_name, std::vector<std::string>& iso_times, std::vector<std::string>& block_values);
SELOGGER_API int __stdcall se_log_run(int run_number, const char *source, const char *iso_time, int period, int run_status, int is_running, int is_waiting, int good_frames, int raw_frames, float good_uamph, float raw_uamph, int64_t monitor_sum0, float dae_beam_current, int64_t total_counts, float count_rate, float npratio_current)
SELOGGER_API int __stdcall se_new_seci_config(const char *config_name)
std::vector< int > raw_frames
std::vector< int64_t > total_counts
std::vector< float > count_rate
SELOGGER_API int __stdcall se_new_measurement(const char *label, std::string &res)
SELOGGER_API int __stdcall se_get_run_status(int run_number, time_t ref_time, RUNBLOCK &blocks)
SELOGGER_API int __stdcall se_get_block_values(seblock_map_t &blocks)
SELOGGER_API int __stdcall se_get_measurement_id(const char *label, std::string &measurement_id)
SELOGGER_API int __stdcall se_set_run_state_async(int run_number, const char *state, int is_start)
SELOGGER_API int __stdcall se_start_epics_thread(epics_thread_data_t *arg)
std::vector< float > fcurrent_spread
per period
SELOGGER_API int __stdcall se_get_num_blocks()
std::vector< float > fsetpoint_value
per period
std::map< std::string, SEBLOCK > seblock_map_t
std::string & block_name()
std::vector< std::string > setpoint_value
per period
std::vector< float > raw_uamps
std::vector< float > good_uamps
SEBLOCK_DETAILS(const SEBLOCK_DETAILS &block)
SELOGGER_API int __stdcall se_log_values(long run_number, const char *source, const std::vector< std::string > &iso_times, const std::vector< std::string > &block_names, const std::vector< std::string > &block_values)
SELOGGER_API const char *__stdcall se_get_errmsg()
SELOGGER_API int __stdcall se_set_period(int period)
std::vector< std::string > current_value
per period
Poco::Tuple< std::string, std::string, std::string, std::string, std::string, std::string, int, std::string, float, float, std::string, std::string, int, std::string, std::string, std::string > SEBLOCK_DETAILS_tuple
SELOGGER_API int __stdcall se_log_value(long run_number, const char *source, const char *iso_time, const char *block_name, const char *block_value)
std::string & set_control()
std::vector< float > np_ratio
std::string & value_time()
SELOGGER_API int __stdcall se_profile(const char *filename)
std::vector< float > time
std::string button_control
std::vector< int > period
const char *__stdcall se_version()
std::string & setpoint_time()
SELOGGER_API int __stdcall se_get_block_details(const char *block_name, SEBLOCK_DETAILS &block)
SELOGGER_API int __stdcall se_get_measurement_label(const char *measurement_id, std::string &res)
SELOGGER_API int __stdcall se_log_fvalues(long run_number, const char *source, const std::vector< std::string > &iso_times, const std::vector< std::string > &block_names, const std::vector< float > &block_values)
SELOGGER_API int __stdcall se_set_block_setpoints(const std::vector< std::string > &block_names, const std::vector< std::string > &block_setpoints)
SEBLOCK_DETAILS_tuple & tuple()
SELOGGER_API int __stdcall se_set_run_number(int run_number)
SELOGGER_API int __stdcall se_set_period_async(int period)
SELOGGER_API int __stdcall se_close()
SELOGGER_API int __stdcall se_get_values(long run_number, const char *source, const char *block_name, std::vector< std::string > &iso_times, std::vector< std::string > &block_values)
std::vector< float > fvalues
std::vector< float > fcurrent_value
per period
SELOGGER_API int __stdcall se_get_seci_config(std::string &seci_config)
std::vector< float > dae_beam_current
SEBLOCK_DETAILS & operator=(const SEBLOCK_DETAILS &block)
std::vector< int > is_waiting
std::vector< float > fsetpoint_spread
per period
SELOGGER_API int __stdcall se_get_measurement_first_run(const char *measurement_id, long &run_number)
std::vector< int > is_running
SEBLOCK_DETAILS(const std::string &block_name, const std::string &setpoint_value, const std::string &vi_name, const std::string &read_control, const std::string &set_control, const std::string &button_control, int options, const std::string &nexus_name, float low_limit, float high_limit, const std::string &units, const std::string &block_value, int is_real, const std::string &source, const std::string &setpoint_time, const std::string &value_time)
SELOGGER_API int __stdcall se_exec_sql(const char *sql, std::string &result)
std::vector< std::string > svalues
SELOGGER_API int __stdcall se_get_blocks(int run_number, time_t ref_time, seblock_map_t &blocks)
SELOGGER_API int __stdcall se_set_run_state(int run_number, const char *state, int is_start)
std::vector< float > time
SELOGGER_API int __stdcall se_set_block_setpoint(const char *block_name, const char *block_setpoint)
SELOGGER_API int __stdcall se_clear_values(int run_start, int run_finish)
SELOGGER_API int __stdcall se_set_block_value(const char *block_name, const char *block_value)
std::string & read_control()
SELOGGER_API int __stdcall se_set_measurement_label(const char *measurement_id, const char *label)
std::string & button_control()
SELOGGER_API int __stdcall se_set_block_values(const std::vector< std::string > &block_names, const std::vector< std::string > &block_values)
SELOGGER_API int __stdcall se_log_value_async(long run_number, const char *source, const char *iso_time, const char *block_name, const char *block_value)
SELOGGER_API int __stdcall se_set_block_details(const char *block_name, const char *setpoint_value, const char *vi_name, const char *read_control_label, const char *set_control_label, const char *button_control_label, unsigned options, const char *nexus_name, float low_limit, float high_limit, const char *units, const char *current_value)
SELOGGER_API int __stdcall se_wait_for_async()
std::string & block_value()
std::vector< int > run_status
std::string & setpoint_value()
std::string & nexus_name()
std::vector< int > good_frames
SELOGGER_API int __stdcall se_log_values_async(long run_number, const char *source, const std::vector< std::string > &iso_times, const std::vector< std::string > &block_names, const std::vector< std::string > &block_values)
std::vector< int64_t > monitor1_sum