diff options
Diffstat (limited to 'src/shared')
-rw-r--r-- | src/shared/dlt_common.c | 297 |
1 files changed, 0 insertions, 297 deletions
diff --git a/src/shared/dlt_common.c b/src/shared/dlt_common.c index a210e5e..22ae5e8 100644 --- a/src/shared/dlt_common.c +++ b/src/shared/dlt_common.c @@ -35,15 +35,6 @@ #include <stdarg.h> #include <err.h> -#ifdef EXTENDED_FILTERING - # if defined(__linux__) || defined(__ANDROID_API__) - # include <json-c/json.h> /* for json filter parsing on Linux and Android */ - # endif - # ifdef __QNX__ - # include <sys/json.h> /* for json filter parsing on QNX */ - # endif -#endif - #include <errno.h> #include <sys/stat.h> /* for mkdir() */ #include <sys/wait.h> @@ -467,198 +458,6 @@ DltReturnValue dlt_filter_load(DltFilter *filter, const char *filename, int verb return DLT_RETURN_OK; } -#ifdef EXTENDED_FILTERING /* EXTENDED_FILTERING */ -# if defined(__linux__) || defined(__ANDROID_API__) -DltReturnValue dlt_json_filter_load(DltFilter *filter, const char *filename, int verbose) -{ - if ((filter == NULL) || (filename == NULL)) - return DLT_RETURN_WRONG_PARAMETER; - - FILE *handle; - char buffer[JSON_FILTER_SIZE*DLT_FILTER_MAX]; - struct json_object *j_parsed_json; - struct json_object *j_app_id; - struct json_object *j_context_id; - struct json_object *j_log_level; - struct json_object *j_payload_min; - struct json_object *j_payload_max; - enum json_tokener_error jerr; - - char app_id[DLT_ID_SIZE] = ""; - char context_id[DLT_ID_SIZE] = ""; - int32_t log_level = 0; - int32_t payload_max = INT32_MAX; - int32_t payload_min = 0; - - PRINT_FUNCTION_VERBOSE(verbose); - - handle = fopen(filename, "r"); - - if (handle == NULL) { - dlt_vlog(LOG_WARNING, "Filter file %s cannot be opened!\n", filename); - return DLT_RETURN_ERROR; - } - - if (fread(buffer, sizeof(buffer), 1, handle) != 0) { - if (!feof(handle)) { - dlt_vlog(LOG_WARNING, "Filter file %s is to big for reading it with current buffer!\n", filename); - return DLT_RETURN_ERROR; - } - } - - j_parsed_json = json_tokener_parse_verbose(buffer, &jerr); - - if (jerr != json_tokener_success) { - dlt_vlog(LOG_WARNING, "Faild to parse given filter %s: %s\n", filename, json_tokener_error_desc(jerr)); - return DLT_RETURN_ERROR; - } - - printf("The following filter(s) are applied: \n"); - dlt_vlog(LOG_DEBUG, "The following filter(s) are applied: \n"); - int iterator = 0; - json_object_object_foreach(j_parsed_json, key, val) - { - if (iterator >= DLT_FILTER_MAX) { - dlt_vlog(LOG_WARNING, - "Maximum number (%d) of allowed filters reached, ignoring rest of filters!\n", - DLT_FILTER_MAX); - break; - } - - printf("%s:\n", key); - dlt_vlog(LOG_DEBUG, "%s:\n", key); - - if (json_object_object_get_ex(val, "AppId", &j_app_id)) - strncpy(app_id, json_object_get_string(j_app_id), DLT_ID_SIZE); - else - dlt_set_id(app_id, ""); - - if (json_object_object_get_ex(val, "ContextId", &j_context_id)) - strncpy(context_id, json_object_get_string(j_context_id), DLT_ID_SIZE); - else - dlt_set_id(context_id, ""); - - if (json_object_object_get_ex(val, "LogLevel", &j_log_level)) - log_level = json_object_get_int(j_log_level); - else - log_level = 0; - - if (json_object_object_get_ex(val, "PayloadMin", &j_payload_min)) - payload_min = json_object_get_int(j_payload_min); - else - payload_min = 0; - - if (json_object_object_get_ex(val, "PayloadMax", &j_payload_max)) - payload_max = json_object_get_int(j_payload_max); - else - payload_max = INT32_MAX; - - dlt_filter_add(filter, app_id, context_id, log_level, payload_min, payload_max, verbose); - - printf("\tAppId: %.*s\n", DLT_ID_SIZE, app_id); - dlt_vlog(LOG_DEBUG, "\tAppId: %.*s\n", DLT_ID_SIZE, app_id); - printf("\tConextId: %.*s\n", DLT_ID_SIZE, context_id); - dlt_vlog(LOG_DEBUG, "\tConextId: %.*s\n", DLT_ID_SIZE, context_id); - printf("\tLogLevel: %i\n", log_level); - dlt_vlog(LOG_DEBUG, "\tLogLevel: %i\n", log_level); - printf("\tPayloadMin: %i\n", payload_min); - dlt_vlog(LOG_DEBUG, "\tPayloadMin: %i\n", payload_min); - printf("\tPayloadMax: %i\n", payload_max); - dlt_vlog(LOG_DEBUG, "\tPayloadMax: %i\n", payload_max); - - iterator++; - } - - fclose(handle); - - return DLT_RETURN_OK; -} -# endif /* __Linux__ */ - -# ifdef __QNX__ -DltReturnValue dlt_json_filter_load(DltFilter *filter, const char *filename, int verbose) -{ - if ((filter == NULL) || (filename == NULL)) - return DLT_RETURN_WRONG_PARAMETER; - - json_decoder_t *j_decoder = json_decoder_create(); - - const char *s_app_id; - const char *s_context_id; - int32_t log_level = 0; - int32_t payload_max = INT32_MAX; - int32_t payload_min = 0; - - PRINT_FUNCTION_VERBOSE(verbose); - - json_decoder_error_t ret = json_decoder_parse_file(j_decoder, filename); - - if (ret != JSON_DECODER_OK) { - dlt_vlog(LOG_WARNING, "Faild to parse given filter %s: json_decoder_error_t is %i\n", filename, ret); - return DLT_RETURN_ERROR; - } - - json_decoder_push_object(j_decoder, NULL, true); - - int iterator = 0; - bool end_of_json = false; - - while (!end_of_json) { - if (iterator >= DLT_FILTER_MAX) { - dlt_vlog(LOG_WARNING, - "Maximum number (%d) of allowed filters reached, ignoring rest of filters!\n", - DLT_FILTER_MAX); - break; - } - - if (json_decoder_next(j_decoder) == JSON_DECODER_NOT_FOUND) - end_of_json = true; - - json_decoder_previous(j_decoder); - - printf("%s:\n", json_decoder_name(j_decoder)); - json_decoder_push_object(j_decoder, NULL, true); - - if (json_decoder_get_string(j_decoder, "AppId", &s_app_id, true) != JSON_DECODER_OK) - s_app_id = ""; - - if (json_decoder_get_string(j_decoder, "ContextId", &s_context_id, true) != JSON_DECODER_OK) - s_context_id = ""; - - if (json_decoder_get_int(j_decoder, "LogLevel", &log_level, true) != JSON_DECODER_OK) - log_level = 0; - - if (json_decoder_get_int(j_decoder, "PayloadMin", &payload_min, true) != JSON_DECODER_OK) - payload_min = 0; - - if (json_decoder_get_int(j_decoder, "PayloadMax", &payload_max, true) != JSON_DECODER_OK) - payload_max = INT32_MAX; - - char app_id[DLT_ID_SIZE]; - char context_id[DLT_ID_SIZE]; - strncpy(app_id, s_app_id, DLT_ID_SIZE); - strncpy(context_id, s_context_id, DLT_ID_SIZE); - - dlt_filter_add(filter, app_id, context_id, log_level, payload_min, payload_max, verbose); - - printf("\tAppId: %.*s\n", DLT_ID_SIZE, app_id); - printf("\tConextId: %.*s\n", DLT_ID_SIZE, context_id); - printf("\tLogLevel: %i\n", log_level); - printf("\tPayloadMin: %i\n", payload_min); - printf("\tPayloadMax: %i\n", payload_max); - - json_decoder_pop(j_decoder); - - iterator++; - } - - json_decoder_destroy(j_decoder); - - return DLT_RETURN_OK; -} -# endif /* __QNX__ */ -#endif /* EXTENDED_FILTERING */ - DltReturnValue dlt_filter_save(DltFilter *filter, const char *filename, int verbose) { if ((filter == NULL) || (filename == NULL)) @@ -700,102 +499,6 @@ DltReturnValue dlt_filter_save(DltFilter *filter, const char *filename, int verb return DLT_RETURN_OK; } -#ifdef EXTENDED_FILTERING /* EXTENDED_FILTERING */ -# if defined(__linux__) || defined(__ANDROID_API__) -DltReturnValue dlt_json_filter_save(DltFilter *filter, const char *filename, int verbose) -{ - if ((filter == NULL) || (filename == NULL)) - return DLT_RETURN_WRONG_PARAMETER; - - PRINT_FUNCTION_VERBOSE(verbose); - - struct json_object *json_filter_obj = json_object_new_object(); - - for (int num = 0; num < filter->counter; num++) { - struct json_object *tmp_json_obj = json_object_new_object(); - char filter_name[JSON_FILTER_NAME_SIZE]; - sprintf(filter_name, "filter%i", num); - - if (filter->apid[num][DLT_ID_SIZE - 1] != 0) - json_object_object_add(tmp_json_obj, "AppId", json_object_new_string_len(filter->apid[num], DLT_ID_SIZE)); - else - json_object_object_add(tmp_json_obj, "AppId", json_object_new_string(filter->apid[num])); - - if (filter->ctid[num][DLT_ID_SIZE - 1] != 0) - json_object_object_add(tmp_json_obj, "ContextId", - json_object_new_string_len(filter->ctid[num], DLT_ID_SIZE)); - else - json_object_object_add(tmp_json_obj, "ContextId", json_object_new_string(filter->ctid[num])); - - json_object_object_add(tmp_json_obj, "LogLevel", json_object_new_int(filter->log_level[num])); - json_object_object_add(tmp_json_obj, "PayloadMin", json_object_new_int(filter->payload_min[num])); - json_object_object_add(tmp_json_obj, "PayloadMax", json_object_new_int(filter->payload_max[num])); - - json_object_object_add(json_filter_obj, filter_name, tmp_json_obj); - } - - printf("Saving current filter into '%s'\n", filename); - json_object_to_file((char*)filename, json_filter_obj); - - return DLT_RETURN_OK; -} -# endif /* __Linux__ */ - -# ifdef __QNX__ -DltReturnValue dlt_json_filter_save(DltFilter *filter, const char *filename, int verbose) -{ - if ((filter == NULL) || (filename == NULL)) - return DLT_RETURN_WRONG_PARAMETER; - - PRINT_FUNCTION_VERBOSE(verbose); - - char s_app_id[DLT_ID_SIZE + 1]; - char s_context_id[DLT_ID_SIZE + 1]; - - json_encoder_t *j_encoder = json_encoder_create(); - json_encoder_start_object(j_encoder, NULL); - - for (int num = 0; num < filter->counter; num++) { - char filter_name[JSON_FILTER_NAME_SIZE]; - sprintf(filter_name, "filter%i", num); - json_encoder_start_object(j_encoder, filter_name); - - strncpy(s_app_id, filter->apid[num], DLT_ID_SIZE); - - if (filter->apid[num][DLT_ID_SIZE - 1] != 0) - s_app_id[DLT_ID_SIZE] = '\0'; - - strncpy(s_context_id, filter->ctid[num], DLT_ID_SIZE); - - if (filter->ctid[num][DLT_ID_SIZE - 1] != 0) - s_context_id[DLT_ID_SIZE] = '\0'; - - json_encoder_add_string(j_encoder, "AppId", s_app_id); - json_encoder_add_string(j_encoder, "ContextId", s_context_id); - json_encoder_add_int(j_encoder, "LogLevel", filter->log_level[num]); - json_encoder_add_int(j_encoder, "PayloadMin", filter->payload_min[num]); - json_encoder_add_int(j_encoder, "PayloadMax", filter->payload_max[num]); - - json_encoder_end_object(j_encoder); - } - - json_encoder_end_object(j_encoder); - - printf("Saving current filter into '%s'\n", filename); - FILE *handle = fopen(filename, "w"); - int filter_buffer_size = 100 * (filter->counter); - char filter_buffer[filter_buffer_size]; - snprintf(filter_buffer, filter_buffer_size, json_encoder_buffer(j_encoder)); - fprintf(handle, filter_buffer); - - fclose(handle); - json_encoder_destroy(j_encoder); - - return DLT_RETURN_OK; -} -# endif /* __QNX__ */ -#endif /* EXTENDED_FILTERING */ - int dlt_filter_find(DltFilter *filter, const char *apid, const char *ctid, const int log_level, const int32_t payload_min, const int32_t payload_max, int verbose) { |