Added error strings for return code.

Added a function to free previous message definitions.
Added some asserts.
fixed a warning issue.
Added an error notification when message definitions parse failed.

git-svn-id: http://svn.eurecom.fr/openair4G/trunk@4507 818b1a75-f10b-46b9-bf7c-635c3b92a50f
This commit is contained in:
winckel
2013-11-25 09:56:12 +00:00
parent e1d2667467
commit 0bd5e3a4d0
6 changed files with 142 additions and 76 deletions
@@ -390,9 +390,12 @@ void ui_signal_add_to_list(gpointer data, gpointer user_data)
uint32_t origin_task_id;
uint32_t destination_task_id;
uint32_t instance;
char lte_time[15];
g_assert(data != NULL);
g_assert(origin_task_id_type != NULL);
g_assert(destination_task_id_type != NULL);
gtk_tree_view_get_cursor (GTK_TREE_VIEW(ui_main_data.messages_list), &path, &focus_column);
signal_buffer = (buffer_t *) data;
@@ -4,10 +4,10 @@
#include <stdio.h>
#include <stdint.h>
#include <gtk/gtk.h>
#define G_LOG_DOMAIN ("UI")
#include <gtk/gtk.h>
#include "rc.h"
#include "ui_notebook.h"
@@ -96,11 +96,10 @@ int ui_messages_read(char *filename)
int size;
double read_fraction = 0.f;
if (stat(filename, &st) < 0) {
if (stat (filename, &st) < 0)
{
ui_notification_dialog (GTK_MESSAGE_ERROR, "get file length",
"Failed to retrieve length for file \"%s\": %s",
filename,
g_strerror (errno));
"Failed to retrieve length for file \"%s\": %s", filename, g_strerror (errno));
result = RC_FAIL;
}
size = st.st_size;
@@ -109,7 +108,7 @@ int ui_messages_read(char *filename)
ui_main_data.follow_last = TRUE;
/* Initialize the progress bar */
ui_progress_bar_set_fraction(0);
ui_progress_bar_set_fraction (0);
do
{
@@ -125,11 +124,11 @@ int ui_messages_read(char *filename)
if (read_data > 0)
{
read_fraction += (double)read_data / size;
read_fraction += (double) read_data / size;
input_data_length = message_header.message_size - sizeof(itti_socket_header_t);
g_debug ("%x, %x, %zd", message_header.message_type, message_header.message_size, input_data_length);
g_debug("%x, %x, %zd", message_header.message_type, message_header.message_size, input_data_length);
/* Checking for non-header part */
if (input_data_length > 0)
@@ -145,7 +144,7 @@ int ui_messages_read(char *filename)
break;
}
read_fraction += (double)input_data_length / size;
read_fraction += (double) input_data_length / size;
}
switch (message_header.message_type)
@@ -165,11 +164,11 @@ int ui_messages_read(char *filename)
buffer->message_number = itti_signal_header->message_number;
ui_signal_add_to_list (buffer, ((read_messages % 100) == 0) ? (gpointer) 1: NULL);
ui_signal_add_to_list (buffer, ((read_messages % 100) == 0) ? (gpointer) 1 : NULL);
if ((read_messages % 100) == 0)
{
ui_progress_bar_set_fraction(read_fraction);
ui_progress_bar_set_fraction (read_fraction);
ui_gtk_flush_events ();
}
@@ -179,14 +178,21 @@ int ui_messages_read(char *filename)
case ITTI_DUMP_XML_DEFINITION:
ui_gtk_flush_events ();
xml_parse_buffer (input_data, input_data_length);
result = xml_parse_buffer (input_data, input_data_length);
if (result != RC_OK)
{
ui_notification_dialog (GTK_MESSAGE_ERROR, "open messages",
"Error in parsing XML definitions in file \"%s\": %s", filename,
rc_strings[-result]);
read_data = 0;
}
ui_gtk_flush_events ();
break;
case ITTI_STATISTIC_MESSAGE_TYPE:
default:
ui_notification_dialog (GTK_MESSAGE_WARNING, "open messages",
"Unknown (or not implemented) record type %d in file \"%s\"",
"Unknown (or not implemented) record type: %d in file \"%s\"",
message_header.message_type, filename);
break;
}
@@ -205,16 +211,17 @@ int ui_messages_read(char *filename)
if (ui_main_data.follow_last)
{
/* Advance to the last signal */
ui_tree_view_select_row (ui_tree_view_get_filtered_number() - 1);
ui_tree_view_select_row (ui_tree_view_get_filtered_number () - 1);
}
basename = g_path_get_basename(filename);
basename = g_path_get_basename (filename);
ui_set_title ("\"%s\"", basename);
}
ui_progress_bar_terminate();
ui_progress_bar_terminate ();
g_message("Read %d messages (%d to display) from file \"%s\"\n", read_messages, ui_tree_view_get_filtered_number(), filename);
g_message(
"Read %d messages (%d to display) from file \"%s\"\n", read_messages, ui_tree_view_get_filtered_number(), filename);
close (source);
}
@@ -353,23 +360,23 @@ int ui_filters_save_file_chooser(void)
int ui_progress_bar_set_fraction(double fraction)
{
/* If not exist instantiate */
if (!ui_main_data.progressbar && !ui_main_data.progressbar_window) {
if (!ui_main_data.progressbar && !ui_main_data.progressbar_window)
{
ui_main_data.progressbar_window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
/* Set the window at center of window */
gtk_window_set_position(GTK_WINDOW(ui_main_data.progressbar_window), GTK_WIN_POS_CENTER);
gtk_window_set_title(GTK_WINDOW(ui_main_data.progressbar_window), "Processing");
gtk_window_set_position (GTK_WINDOW(ui_main_data.progressbar_window), GTK_WIN_POS_CENTER);
gtk_window_set_title (GTK_WINDOW(ui_main_data.progressbar_window), "Processing");
gtk_container_set_border_width(GTK_CONTAINER (ui_main_data.progressbar_window), 10);
gtk_container_set_border_width (GTK_CONTAINER (ui_main_data.progressbar_window), 10);
ui_main_data.progressbar = gtk_progress_bar_new();
ui_main_data.progressbar = gtk_progress_bar_new ();
gtk_container_add (GTK_CONTAINER (ui_main_data.progressbar_window),
ui_main_data.progressbar);
gtk_container_add (GTK_CONTAINER (ui_main_data.progressbar_window), ui_main_data.progressbar);
gtk_widget_show_all (ui_main_data.progressbar_window);
}
gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(ui_main_data.progressbar), fraction);
gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR(ui_main_data.progressbar), fraction);
// ui_gtk_flush_events();
@@ -378,14 +385,16 @@ int ui_progress_bar_set_fraction(double fraction)
int ui_progress_bar_terminate(void)
{
if (ui_main_data.progressbar) {
gtk_widget_destroy(ui_main_data.progressbar);
if (ui_main_data.progressbar)
{
gtk_widget_destroy (ui_main_data.progressbar);
}
if (ui_main_data.progressbar_window) {
gtk_widget_destroy(ui_main_data.progressbar_window);
if (ui_main_data.progressbar_window)
{
gtk_widget_destroy (ui_main_data.progressbar_window);
}
ui_main_data.progressbar = NULL;
ui_main_data.progressbar = NULL;
ui_main_data.progressbar_window = NULL;
return RC_OK;