75 string rep_files_prefix;
81 string code_to_signal_fname;
82 vector<string> dict_fnames;
83 vector<string> sig_fnames;
84 string signal_to_files_fname;
85 string prefixes_fname;
87 int default_time_unit;
94 vector<string> in_data_fnames;
95 vector<string> in_strings_data_fnames;
96 vector<string> forced;
97 vector<string> load_only;
100 vector<int> sids_to_load;
116 void init_load_params(
const string &init_str);
121 string repository_config_fname;
122 vector<string> prefix_names;
123 vector<string> index_fnames;
124 vector<string> data_fnames;
128 vector<file_stat> fstats;
129 map<string, int> missing_forced_signals;
132 unordered_map<string, string> codes2names;
135 map<int, int> sid2fno;
136 unordered_map<int, int> sid2serial;
137 vector<int> serial2sid;
138 vector<sig_info> serial2siginfo;
140 vector<int> pid_in_file;
142 vector<IndexTable> indexes;
146 MedConvert(
const string &prefix) { rep_files_prefix = prefix; }
150 int create_rep(
const string &config_fname,
int _mode) { mode = _mode;
return read_all(config_fname); }
151 int create_rep(
const string &config_fname) {
return create_rep(config_fname, 1); }
154 int read_config(
const string &fname);
155 int read_code_to_signal(
const string &fname);
156 int read_prefix_names(
const string &fname);
157 int read_signal_to_files(
const string &fname);
160 int generate_prefix_names();
163 int read_all(
const string &config_fname);
167 void collect_lines(vector<string> &lines, vector<int> &f_i,
int file_i, vector<string> &buffered_lines,
int &buffer_pos, ifstream &inf,
int file_type,
pid_data &curr,
int &fpid,
file_stat& curr_fstat, map<pair<string, string>,
int>&);
168 void get_next_signal_all_lines(vector<string> &lines, vector<int> &f_i,
pid_data &curr, vector<file_stat> &fstat, map<pair<string, string>,
int>&);
169 void parse_fields_into_gsv(
string &curr_line, vector<string> &fields,
int sid,
GenericSigVec &cd_sv);
170 int create_indexes();
171 int create_repository_config();
172 int create_signals_config();
181 ofstream signals_config_f;
182 ofstream repository_config_f;
183 vector<ofstream *> index_f;
184 vector<ofstream *> data_f;
185 vector<unsigned long long> data_f_pos;
187 int write_all_indexes(vector<int> &all_pids);
188 int write_indexes_new_modes(
pid_data &curr);
192 int prep_sids_to_load();
195 void test_for_load_error(
const map<pair<string, string>,
int> &missing_dict_vals,
int n_pids_extracted,
bool final_test
196 ,
int prev_total_missings,
int &total_missing,
const map<string, int> &prev_missing_forced_signals)
const;
198 ofstream err_log_file;