@@ -265,17 +265,37 @@ std::string StackFlows::unit_call(const std::string &unit_name, const std::strin
265265 return value;
266266}
267267
268- std::list<std::string> StackFlows::get_config_file_paths (const std::string &base_model_path,
268+ std::list<std::string> StackFlows::get_config_file_paths (std::string &base_model_path,
269+ std::string &base_model_config_path,
269270 const std::string &mode_name)
270271{
271- std::shared_ptr<std::string> base_path ((std::string *)(&base_model_path), [](std::string *Npt) {});
272- if (base_path->empty ()) base_path = std::make_shared<std::string>(" /opt/m5stack/data/" );
272+ if (base_model_path.empty ()) {
273+ base_model_path = sample_unescapeString (unit_call (" sys" , " sql_select" , " config_base_mode_path" ));
274+ if (base_model_path.empty ()) {
275+ base_model_path = " /opt/m5stack/data/" ;
276+ }
277+ }
278+ if (base_model_config_path.empty ()) {
279+ base_model_config_path = sample_unescapeString (unit_call (" sys" , " sql_select" , " config_base_mode_config_path" ));
280+ if (base_model_config_path.empty ()) {
281+ base_model_config_path = " /opt/m5stack/etc/" ;
282+ }
283+ }
284+ std::string config_model_d = sample_unescapeString (unit_call (" sys" , " sql_select" , " config_model_d" ));
285+ if (config_model_d.empty ()) config_model_d = " /opt/m5stack/data/models/" ;
286+
273287 std::list<std::string> config_file_paths;
274288 config_file_paths.push_back (std::string (" ./" ) + mode_name + " .json" );
275- config_file_paths.push_back (std::string (" ./asr_mode_" ) + mode_name + " .json" );
276- config_file_paths.push_back ((*base_path) + " ../share/" + mode_name + " .json" );
277- config_file_paths.push_back ((*base_path) + " ../share/asr_mode_" + mode_name + " .json" );
278- config_file_paths.push_back ((*base_path) + mode_name + " .json" );
279- config_file_paths.push_back ((*base_path) + " asr_mode_" + mode_name + " .json" );
289+ config_file_paths.push_back (std::string (" ./mode_" ) + mode_name + " .json" );
290+ config_file_paths.push_back (base_model_path + mode_name + std::string (" /" ) + mode_name + " .json" );
291+ config_file_paths.push_back (base_model_path + mode_name + std::string (" /" ) + std::string (" ./mode_" ) + mode_name +
292+ " .json" );
293+ config_file_paths.push_back (config_model_d + mode_name + " .json" );
294+ config_file_paths.push_back (config_model_d + std::string (" ./mode_" ) + mode_name + " .json" );
295+ config_file_paths.push_back (base_model_config_path + mode_name + " .json" );
296+ config_file_paths.push_back (base_model_config_path + std::string (" ./mode_" ) + mode_name + " .json" );
297+ config_file_paths.push_back (base_model_path + std::string (" ../share/" ) + mode_name + " .json" );
298+ config_file_paths.push_back (base_model_path + std::string (" ../share/" ) + std::string (" ./mode_" ) + mode_name +
299+ " .json" );
280300 return config_file_paths;
281301}
0 commit comments