Commit 8ae72d1c authored by Frédéric Leroy's avatar Frédéric Leroy

refactor(conf2uedata): put display out of build

parent e2dc453b
...@@ -69,6 +69,8 @@ int main(int argc, char**argv) { ...@@ -69,6 +69,8 @@ int main(int argc, char**argv) {
exit(EXIT_FAILURE); exit(EXIT_FAILURE);
} }
display_data_from_directory(output_dir);
exit(EXIT_SUCCESS); exit(EXIT_SUCCESS);
} }
...@@ -116,7 +118,6 @@ int parse_config_file(const char *filename) { ...@@ -116,7 +118,6 @@ int parse_config_file(const char *filename) {
printf("Problem in USER section for UE%d. EXITING...\n", i); printf("Problem in USER section for UE%d. EXITING...\n", i);
return EXIT_FAILURE; return EXIT_FAILURE;
} }
_display_ue_data(i);
rc = parse_ue_sim_param(ue_setting, i); rc = parse_ue_sim_param(ue_setting, i);
if (rc != EXIT_SUCCESS) { if (rc != EXIT_SUCCESS) {
...@@ -129,10 +130,7 @@ int parse_config_file(const char *filename) { ...@@ -129,10 +130,7 @@ int parse_config_file(const char *filename) {
return EXIT_FAILURE; return EXIT_FAILURE;
} }
gen_emm_data(i); gen_emm_data(i);
_display_emm_data(i);
gen_usim_data(i); gen_usim_data(i);
_display_usim_data(i);
} }
config_destroy(&cfg); config_destroy(&cfg);
return(EXIT_SUCCESS); return(EXIT_SUCCESS);
...@@ -854,17 +852,12 @@ int _luhn(const char* cc) { ...@@ -854,17 +852,12 @@ int _luhn(const char* cc) {
return 10 - (sum % 10); return 10 - (sum % 10);
} }
void _display_usim_data(int user_id) { void display_usim_data(const char *filename) {
int rc; int rc;
usim_data_t data = { }; usim_data_t data = { };
/*
* Read USIM application data rc = usim_api_read(filename, &data);
*/
memset(&data, 0, sizeof(usim_data_t));
char *path = make_filename(output_dir, USIM_API_NVRAM_FILENAME, user_id);
rc = usim_api_read(path, &data);
free(path);
if (rc != RETURNok) { if (rc != RETURNok) {
perror("ERROR\t: usim_api_read() failed"); perror("ERROR\t: usim_api_read() failed");
...@@ -1046,16 +1039,14 @@ void _display_usim_data(int user_id) { ...@@ -1046,16 +1039,14 @@ void _display_usim_data(int user_id) {
} }
void _display_ue_data(int user_id) { void display_ue_data(const char *filename) {
user_nvdata_t data; user_nvdata_t data;
int rc; int rc;
char* path = make_filename(output_dir, USER_NVRAM_FILENAME, user_id);
/* /*
* Read UE's non-volatile data * Read UE's non-volatile data
*/ */
memset(&data, 0, sizeof(user_nvdata_t)); memset(&data, 0, sizeof(user_nvdata_t));
rc = memory_read(path, &data, sizeof(user_nvdata_t)); rc = memory_read(filename, &data, sizeof(user_nvdata_t));
free(path);
if (rc != RETURNok) { if (rc != RETURNok) {
perror("ERROR\t: memory_read() failed"); perror("ERROR\t: memory_read() failed");
...@@ -1075,18 +1066,16 @@ void _display_ue_data(int user_id) { ...@@ -1075,18 +1066,16 @@ void _display_ue_data(int user_id) {
/* /*
* Displays UE's non-volatile EMM data * Displays UE's non-volatile EMM data
*/ */
void _display_emm_data(int user_id) { void display_emm_data(const char *filename) {
int rc; int rc;
emm_nvdata_t data; emm_nvdata_t data;
char* path = make_filename(output_dir, EMM_NVRAM_FILENAME, user_id);
/* /*
* Read EMM non-volatile data * Read EMM non-volatile data
*/ */
memset(&data, 0, sizeof(emm_nvdata_t)); memset(&data, 0, sizeof(emm_nvdata_t));
rc = memory_read(path, &data, sizeof(emm_nvdata_t)); rc = memory_read(filename, &data, sizeof(emm_nvdata_t));
free(path);
if (rc != RETURNok) { if (rc != RETURNok) {
perror("ERROR\t: memory_read() failed "); perror("ERROR\t: memory_read() failed ");
exit(EXIT_FAILURE); exit(EXIT_FAILURE);
...@@ -1166,8 +1155,53 @@ void _display_usage(void) { ...@@ -1166,8 +1155,53 @@ void _display_usage(void) {
fprintf(stderr, "\t[-h]\tDisplay this usage\n"); fprintf(stderr, "\t[-h]\tDisplay this usage\n");
} }
void display_data_from_directory(const char *directory) {
int user_id = 0;
char *filename;
filename = get_ue_filename(directory, user_id);
while ( file_exist_and_is_readable(filename) ) {
display_ue_data(filename);
free(filename);
filename = get_emm_filename(directory, user_id);
display_emm_data(filename);
free(filename);
filename = get_usim_filename(directory, user_id);
display_usim_data(filename);
free(filename);
user_id += 1;
filename = get_ue_filename(directory, user_id);
}
free(filename);
}
bool file_exist_and_is_readable(const char *filename) {
FILE *file ;
file = fopen(filename, "r");
if ( file == NULL )
return false;
fclose(file);
return true;
}
char *get_ue_filename(const char *output_dir, int user_id) {
return make_filename(output_dir, USER_NVRAM_FILENAME, user_id);
}
char *get_emm_filename(const char *output_dir, int user_id) {
return make_filename(output_dir, EMM_NVRAM_FILENAME, user_id);
}
char *get_usim_filename(const char *output_dir, int user_id) {
return make_filename(output_dir, USIM_API_NVRAM_FILENAME, user_id);
}
char * make_filename(const char *output_dir, const char *filename, int ueid) { char *make_filename(const char *output_dir, const char *filename, int ueid) {
size_t size; size_t size;
char *str_ueid, *str; char *str_ueid, *str;
......
...@@ -119,11 +119,9 @@ extern int ehplmn_nb; ...@@ -119,11 +119,9 @@ extern int ehplmn_nb;
extern plmn_conf_param_t* user_plmn_list; extern plmn_conf_param_t* user_plmn_list;
extern network_record_t* user_network_record_list; extern network_record_t* user_network_record_list;
char *make_filename(const char *output_dir, const char *filename, int ueid);
int get_config_from_file(const char *filename, config_t *config); int get_config_from_file(const char *filename, config_t *config);
int parse_config_file(const char *filename); int parse_config_file(const char *filename);
void _display_usim_data(int user_id);
void _display_usage(void); void _display_usage(void);
void gen_emm_data(int user_id) ; void gen_emm_data(int user_id) ;
...@@ -132,9 +130,17 @@ void fill_network_record_list(void); ...@@ -132,9 +130,17 @@ void fill_network_record_list(void);
int _luhn(const char* cc); int _luhn(const char* cc);
void _display_ue_data(int user_id); void display_data_from_directory(const char *directory);
void display_ue_data(const char *filename);
void display_emm_data(const char *filename);
void display_usim_data(const char *filename);
bool file_exist_and_is_readable(const char *filename);
char *get_ue_filename(const char *output_dir, int user_id);
char *get_emm_filename(const char *output_dir, int user_id);
char *get_usim_filename(const char *output_dir, int user_id);
char *make_filename(const char *output_dir, const char *filename, int ueid);
void _display_emm_data(int user_id);
int parse_ue_user_param(config_setting_t *ue_setting, int user_id); int parse_ue_user_param(config_setting_t *ue_setting, int user_id);
int parse_ue_sim_param(config_setting_t *ue_setting, int user_id); int parse_ue_sim_param(config_setting_t *ue_setting, int user_id);
int parse_plmn_param(config_setting_t *plmn_setting, int index); int parse_plmn_param(config_setting_t *plmn_setting, int index);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment