90 std::string
retval(
"My string that would come from a C++ function");
108 std::string
retval(
"My string that would come from a C++ function");
135 std::vector<float>
retvec;
136 for (
int i = 0;
i < 10;
i++) {
164 std::vector<std::string>
retvec;
165 retvec.push_back(
"Hello");
166 retvec.push_back(
"world!");
282 std::vector<std::string>
retvec;
496 std::vector<std::string>
events;
515 std::vector<TAG> tags;
526 for (
auto& tag : tags) {
540 char* event_name,
char* tag_name,
int idx_start,
int nvars,
553 const char** event_names = (
const char**)
calloc(nvars,
sizeof(
const char*));
554 const char** var_names = (
const char**)
calloc(nvars,
sizeof(
const char*));
557 for (
int i = 0;
i < nvars;
i++) {
558 event_names[
i] = event_name;
559 var_names[
i] = tag_name;
563 *num_entries =
calloc(nvars,
sizeof(
int));
568 status =
mh->
hs_read(start_time, end_time,
interval_secs, nvars, event_names, var_names,
indices, (
int*)*num_entries,
tbuffer_int,
vbuffer_int, (
int*)*
hs_status);
574 for (
int i = 0;
i < nvars;
i++) {
575 tot_len += ((
int*)(*num_entries))[
i];
586 for (
int i = 0;
i < nvars;
i++) {
587 size_t this_n = ((
int*)(*num_entries))[
i];
virtual int hs_read(time_t start_time, time_t end_time, time_t interval, int num_var, const char *const event_name[], const char *const tag_name[], const int var_index[], int num_entries[], time_t *time_buffer[], double *data_buffer[], int status[])=0
see hs_read(), returns HS_SUCCESS
virtual int hs_get_events(time_t time_from, std::vector< std::string > *pevents)=0
get list of events that exist(ed) at given time and later (value 0 means "return all events from begi...
virtual int hs_get_tags(const char *event_name, time_t time_from, std::vector< TAG > *ptags)=0
get list of history variables for given event (use event names returned by hs_get_events()) that exis...
INT transition(INT run_number, char *error)
INT EXPRT al_define_odb_alarm(const char *name, const char *condition, const char *aclass, const char *message)
INT al_reset_alarm(const char *alarm_name)
INT al_trigger_alarm(const char *alarm_name, const char *alarm_message, const char *default_class, const char *cond_str, INT type)
INT bm_open_buffer(const char *buffer_name, INT buffer_size, INT *buffer_handle)
INT bm_request_event(HNDLE buffer_handle, short int event_id, short int trigger_mask, INT sampling_type, HNDLE *request_id, EVENT_HANDLER *func)
INT bm_receive_event(INT buffer_handle, void *destination, INT *buf_size, int timeout_msec)
INT bm_remove_event_request(INT buffer_handle, INT request_id)
INT bm_flush_cache(int buffer_handle, int timeout_msec)
INT cm_register_transition(INT transition, INT(*func)(INT, char *), INT sequence_number)
INT cm_shutdown(const char *name, BOOL bUnique)
INT cm_disconnect_client(HNDLE hConn, BOOL bShutdown)
INT cm_yield(INT millisec)
INT cm_get_experiment_database(HNDLE *hDB, HNDLE *hKeyClient)
INT cm_connect_client(const char *client_name, HNDLE *hConn)
INT cm_connect_experiment(const char *host_name, const char *exp_name, const char *client_name, void(*func)(char *))
INT cm_start_watchdog_thread()
INT cm_transition(INT transition, INT run_number, char *errstr, INT errstr_size, INT async_flag, INT debug_flag)
INT cm_stop_watchdog_thread()
INT cm_register_function(INT id, INT(*func)(INT, void **))
INT cm_disconnect_experiment(void)
std::string cm_get_path()
INT cm_register_deferred_transition(INT transition, BOOL(*func)(INT, BOOL))
INT cm_get_environment(char *host_name, int host_name_size, char *exp_name, int exp_name_size)
const char * cm_get_version()
INT cm_deregister_transition(INT transition)
INT cm_check_deferred_transition()
INT cm_set_transition_sequence(INT transition, INT sequence_number)
const char * cm_get_revision()
INT cm_exist(const char *name, BOOL bUnique)
void() EVENT_HANDLER(HNDLE buffer_handler, HNDLE request_id, EVENT_HEADER *event_header, void *event_data)
INT ss_daemon_init(BOOL keep_stdout)
INT ss_exec(const char *command, INT *pid)
INT cm_msg1(INT message_type, const char *filename, INT line, const char *facility, const char *routine, const char *format,...)
INT EXPRT cm_msg_facilities(STRING_LIST *list)
int cm_msg_open_buffer(void)
int cm_msg_close_buffer(void)
INT cm_msg_register(EVENT_HANDLER *func)
INT cm_msg_retrieve2(const char *facility, time_t t, INT n_message, char **messages, int *num_messages)
INT db_delete_key(HNDLE hDB, HNDLE hKey, BOOL follow_links)
INT db_find_link(HNDLE hDB, HNDLE hKey, const char *key_name, HNDLE *subhKey)
INT db_get_value(HNDLE hDB, HNDLE hKeyRoot, const char *key_name, void *data, INT *buf_size, DWORD type, BOOL create)
INT db_reorder_key(HNDLE hDB, HNDLE hKey, INT idx)
static const KEY * db_get_parent(const DATABASE_HEADER *pheader, const KEY *pkey, int *pstatus, const char *caller, db_err_msg **msg)
INT db_open_record(HNDLE hDB, HNDLE hKey, void *ptr, INT rec_size, WORD access_mode, void(*dispatcher)(INT, INT, void *), void *info)
INT db_set_link_data(HNDLE hDB, HNDLE hKey, const void *data, INT buf_size, INT num_values, DWORD type)
INT db_create_key(HNDLE hDB, HNDLE hKey, const char *key_name, DWORD type)
INT db_copy_json_save(HNDLE hDB, HNDLE hKey, char **buffer, int *buffer_size, int *buffer_end)
INT db_unwatch(HNDLE hDB, HNDLE hKey)
INT db_get_key(HNDLE hDB, HNDLE hKey, KEY *key)
INT db_watch(HNDLE hDB, HNDLE hKey, void(*dispatcher)(INT, INT, INT, void *), void *info)
INT db_enum_link(HNDLE hDB, HNDLE hKey, INT idx, HNDLE *subkey_handle)
INT db_copy_json_ls(HNDLE hDB, HNDLE hKey, char **buffer, int *buffer_size, int *buffer_end)
INT db_set_value(HNDLE hDB, HNDLE hKeyRoot, const char *key_name, const void *data, INT data_size, INT num_values, DWORD type)
INT db_find_key(HNDLE hDB, HNDLE hKey, const char *key_name, HNDLE *subhKey)
INT db_get_link_data(HNDLE hDB, HNDLE hKey, void *data, INT *buf_size, DWORD type)
INT db_rename_key(HNDLE hDB, HNDLE hKey, const char *name)
INT db_set_value_index(HNDLE hDB, HNDLE hKeyRoot, const char *key_name, const void *data, INT data_size, INT idx, DWORD type, BOOL trunc)
INT db_enum_key(HNDLE hDB, HNDLE hKey, INT idx, HNDLE *subkey_handle)
INT EXPRT db_resize_string(HNDLE hdb, HNDLE hKeyRoot, const char *key_name, int num_values, int max_string_length)
INT db_close_record(HNDLE hDB, HNDLE hKey)
INT db_set_num_values(HNDLE hDB, HNDLE hKey, INT num_values)
INT db_create_link(HNDLE hDB, HNDLE hKey, const char *link_name, const char *destination)
INT rpc_client_call(HNDLE hConn, DWORD routine_id,...)
INT rpc_send_event(INT buffer_handle, const EVENT_HEADER *pevent, int unused, INT async_flag, INT mode)
int hs_get_history(HNDLE hDB, HNDLE hKey, int flags, int debug_flag, MidasHistoryInterface **mh)
char exp_name[NAME_LENGTH]
BOOL debug
debug printouts
char host_name[HOST_NAME_LENGTH]
char buffer_name[NAME_LENGTH]
INT copy_vector_string_to_c(std::vector< std::string > vec, char ***dest, int &dest_len)
INT c_db_reorder_key(HNDLE hDB, HNDLE hKey, INT index)
INT c_db_create_key(HNDLE hdb, HNDLE key_handle, const char *key_name, DWORD type)
INT c_rpc_is_remote(void)
INT c_cm_connect_client(const char *client_name, HNDLE *hConn)
INT c_bm_receive_event(INT buffer_handle, void *destination, INT *buf_size, INT async_flag)
const char * c_cm_get_version(void)
INT c_al_define_odb_alarm(const char *name, const char *condition, const char *aclass, const char *message)
INT copy_string_to_c(std::string src, char *dest, DWORD dest_size)
INT c_cm_check_deferred_transition(void)
INT c_cm_register_transition(INT transition, INT(*func)(INT, char *), int sequence_number)
INT c_al_reset_alarm(const char *alarm_name)
INT c_example_vector(void **dest, int &dest_len)
const char * c_cm_get_revision(void)
INT c_db_set_value(HNDLE hdb, HNDLE hKeyRoot, const char *key_name, const void *data, INT size, INT num_values, DWORD type)
INT c_db_find_link(HNDLE hDB, HNDLE hKey, const char *key_name, HNDLE *subhKey)
INT c_db_set_link_data(HNDLE hdb, HNDLE key_handle, void *data, INT buf_size, int num_values, DWORD type)
INT c_cm_get_path(char *path, int path_size)
INT c_db_enum_link(HNDLE hDB, HNDLE hKey, INT idx, HNDLE *subkey_handle)
INT c_db_get_parent(HNDLE hDB, HNDLE hKey, HNDLE *parenthKey)
INT c_db_get_value(HNDLE hdb, HNDLE hKeyRoot, const char *key_name, void *data, INT *size, DWORD type, BOOL create)
INT c_cm_transition(INT transition, INT run_number, char *error, INT strsize, INT async_flag, INT debug_flag)
INT c_cm_stop_watchdog_thread(void)
INT c_db_delete_key(HNDLE database_handle, HNDLE key_handle, BOOL follow_links)
INT c_db_rename_key(HNDLE hDB, HNDLE hKey, const char *name)
INT c_cm_disconnect_experiment()
INT c_cm_msg(INT message_type, const char *filename, INT line, const char *facility, const char *routine, const char *format,...)
INT c_db_enum_key(HNDLE hDB, HNDLE hKey, INT idx, HNDLE *subkey_handle)
INT c_rpc_flush_event(void)
INT c_db_get_key(HNDLE hdb, HNDLE key_handle, KEY *key)
INT c_db_set_value_index(HNDLE hDB, HNDLE hKeyRoot, const char *key_name, const void *data, INT data_size, INT index, DWORD type, BOOL truncate)
INT c_brpc_client_call(HNDLE hconn, char *cmd, char *args, char *buf, int &buf_length)
INT c_cm_set_transition_sequence(INT transition, INT sequence_number)
INT c_db_close_record(HNDLE hdb, HNDLE hkey)
INT c_db_set_num_values(HNDLE hDB, HNDLE hKey, INT num_values)
INT c_ss_daemon_init(BOOL keep_stdout)
MidasHistoryInterface * mh
INT c_bm_open_buffer(const char *buffer_name, INT buffer_size, INT *buffer_handle)
INT c_cm_msg_facilities(char ***dest, int &dest_len)
INT c_cm_msg_register(EVENT_HANDLER *func)
INT c_al_trigger_alarm(const char *alarm_name, const char *alarm_message, const char *default_class, const char *cond_str, INT type)
INT c_hs_get_tags(HNDLE hDB, char *event_name, char ***dest_names, void **dest_types, void **dest_n_data, int &dest_len)
INT c_db_copy_json_save(HNDLE hDB, HNDLE hKey, char **buffer, int *buffer_size, int *buffer_end)
INT c_db_create_link(HNDLE hdb, HNDLE key_handle, const char *link_name, const char *destination)
INT c_cm_msg_close_buffer()
INT c_cm_start_watchdog_thread(void)
INT c_cm_deregister_transition(INT transition)
INT c_example_string_c_alloc(char **dest)
INT c_cm_connect_experiment(const char *host_name, const char *exp_name, const char *client_name, void(*func)(char *))
INT c_hs_get_events(HNDLE hDB, char ***dest, int &dest_len)
INT c_example_string_vector(char ***dest, int &dest_len)
INT c_example_string_c_bufsize(char *buffer, DWORD buffer_size)
INT c_bm_request_event(INT buffer_handle, short int event_id, short int trigger_mask, INT sampling_type, INT *request_id)
INT c_cm_register_deferred_transition(INT transition, BOOL(*func)(INT, BOOL))
INT c_db_open_record(HNDLE hdb, HNDLE hkey, void *ptr, INT rec_size, WORD access, void(*dispatcher)(INT, INT, void *), void *info)
INT c_cm_msg_open_buffer()
INT c_db_unwatch(HNDLE hDB, HNDLE hKey)
INT c_db_resize_string(HNDLE hDB, HNDLE hKeyRoot, const char *key_name, int num_values, int max_string_size)
INT c_db_get_link_data(HNDLE hdb, HNDLE key_handle, void *data, INT *buf_size, DWORD type)
INT c_bm_flush_cache(INT buffer_handle, INT async_flag)
INT copy_vector_to_c(std::vector< T > vec, void **dest, int &dest_len)
INT c_connect_history_if_needed(HNDLE hDB, bool debug=false)
INT c_cm_register_function(INT id, INT(*func)(INT, void **))
INT c_db_copy_json_ls(HNDLE hDB, HNDLE hKey, char **buffer, int *buffer_size, int *buffer_end)
INT c_cm_exist(const char *name, BOOL bUnique)
INT c_cm_shutdown(const char *name, BOOL bUnique)
INT c_cm_msg_retrieve2(const char *facility, uint64_t before, INT min_messages, char **messages, int *num_messages_read)
INT c_cm_get_experiment_database(HNDLE *hDB, HNDLE *hKeyClient)
INT c_jrpc_client_call(HNDLE hconn, char *cmd, char *args, char *buf, int buf_length)
INT c_bm_remove_event_request(INT buffer_handle, INT request_id)
INT c_ss_exec(char *cmd, INT *child_pid)
INT c_cm_yield(INT millisec)
INT c_db_find_key(HNDLE hdb, HNDLE hkey, const char *name, HNDLE *hsubkey)
INT c_cm_disconnect_client(HNDLE hConn, BOOL bShutdown)
INT c_db_watch(HNDLE hDB, HNDLE hKey, void(*dispatcher)(INT, INT, INT, void *), void *info)
INT c_cm_get_environment(char *host_name, int host_name_size, char *exp_name, int exp_name_size)
INT c_rpc_send_event(INT buffer_handle, const EVENT_HEADER *event, INT buf_size, INT async_flag, INT mode)
INT c_hs_read(HNDLE hDB, uint32_t start_time, uint32_t end_time, uint32_t interval_secs, char *event_name, char *tag_name, int idx_start, int nvars, void **num_entries, void **times, void **values, void **hs_status)
void c_free_list(void **mem_list, int arr_len)
#define message(type, str)
TH1X EXPRT * h1_book(const char *name, const char *title, int bins, double min, double max)