From af4027660ba597fb89cb1c00615898818d8046da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Leroy?= <frederic.leroy@b-com.com> Date: Wed, 24 Aug 2016 11:50:53 +0200 Subject: [PATCH] feat(conf2uedata): add a selector for writing files --- openair3/NAS/TOOLS/conf2uedata.c | 2 +- openair3/NAS/TOOLS/conf_parser.c | 17 +++++++++++++---- openair3/NAS/TOOLS/conf_parser.h | 7 ++++++- 3 files changed, 20 insertions(+), 6 deletions(-) diff --git a/openair3/NAS/TOOLS/conf2uedata.c b/openair3/NAS/TOOLS/conf2uedata.c index b162979dc2..ad15d1bb4f 100644 --- a/openair3/NAS/TOOLS/conf2uedata.c +++ b/openair3/NAS/TOOLS/conf2uedata.c @@ -42,7 +42,7 @@ int main(int argc, char**argv) { exit(1); } - if ( parse_config_file(output_dir, conf_file) == false ) { + if ( parse_config_file(output_dir, conf_file, OUTPUT_ALL) == false ) { exit(1); } diff --git a/openair3/NAS/TOOLS/conf_parser.c b/openair3/NAS/TOOLS/conf_parser.c index 816c5c6ec9..e7d1240fad 100644 --- a/openair3/NAS/TOOLS/conf_parser.c +++ b/openair3/NAS/TOOLS/conf_parser.c @@ -6,7 +6,7 @@ #include "conf_user_data.h" #include "conf_user_plmn.h" -bool parse_config_file(const char *output_dir, const char *conf_filename) { +bool parse_config_file(const char *output_dir, const char *conf_filename, int output_flags) { int rc = true; int ret; int ue_nb = 0; @@ -65,7 +65,6 @@ bool parse_config_file(const char *output_dir, const char *conf_filename) { return false; } gen_user_data(&user_data_conf, &user_data); - write_user_data(output_dir, i, &user_data); rc = parse_ue_sim_param(ue_setting, i, &usim_data_conf); if (rc != true) { @@ -73,11 +72,21 @@ bool parse_config_file(const char *output_dir, const char *conf_filename) { return false; } gen_usim_data(&usim_data_conf, &usim_data, &user_plmns, networks); - write_usim_data(output_dir, i, &usim_data); gen_emm_data(&emm_data, usim_data_conf.hplmn, usim_data_conf.msin, user_plmns.equivalents_home.size, networks); - write_emm_data(output_dir, i, &emm_data); + + if ( output_flags & OUTPUT_UEDATA ) { + write_user_data(output_dir, i, &user_data); + } + + if ( output_flags & OUTPUT_USIM ) { + write_usim_data(output_dir, i, &usim_data); + } + + if ( output_flags & OUTPUT_EMM ) { + write_emm_data(output_dir, i, &emm_data); + } user_plmns_free(&user_plmns); diff --git a/openair3/NAS/TOOLS/conf_parser.h b/openair3/NAS/TOOLS/conf_parser.h index 4e160ab73a..49d3645faf 100644 --- a/openair3/NAS/TOOLS/conf_parser.h +++ b/openair3/NAS/TOOLS/conf_parser.h @@ -6,7 +6,12 @@ #define UE "UE" +#define OUTPUT_EMM 1 +#define OUTPUT_USIM 2 +#define OUTPUT_UEDATA 4 +#define OUTPUT_ALL 7 + bool get_config_from_file(const char *filename, config_t *config); -bool parse_config_file(const char *output_dir, const char *filename); +bool parse_config_file(const char *output_dir, const char *filename, int output_flags); #endif -- 2.26.2