Commit 46ae17e7 authored by winckel's avatar winckel

Changed windows title when connecting to socket.

Fixed some issue with operations interlocking.

git-svn-id: http://svn.eurecom.fr/openair4G/trunk@4944 818b1a75-f10b-46b9-bf7c-635c3b92a50f
parent 49b4149b
......@@ -319,25 +319,29 @@ void *socket_thread_fct(void *arg)
tv.tv_sec = 0;
tv.tv_usec = 1000 * SOCKET_MS_BEFORE_SIGNALLING;
ui_set_title ("connecting to %s:%d ...", socket_data->ip_address, socket_data->port);
do {
/* Connecting to remote peer */
ret = connect(socket_data->sd, (struct sockaddr *)&si_me, sizeof(struct sockaddr_in));
if ((ret < 0) && ((socket_abort_connection) || (retry < 0))) {
if (retry < 0) {
g_warning("Failed to connect to peer %s:%d",
socket_data->ip_address, socket_data->port);
ui_pipe_write_message(socket_data->pipe_fd,
UI_PIPE_CONNECTION_FAILED, NULL, 0);
ret = connect(socket_data->sd, (struct sockaddr *) &si_me, sizeof(struct sockaddr_in));
if (ret < 0) {
if ((socket_abort_connection) || (retry < 0)) {
if (retry < 0) {
g_warning("Failed to connect to peer %s:%d", socket_data->ip_address, socket_data->port);
ui_pipe_write_message(socket_data->pipe_fd, UI_PIPE_CONNECTION_FAILED, NULL, 0);
}
free(socket_data->ip_address);
free(socket_data);
/* Quit the thread */
pthread_exit(NULL);
}
free(socket_data->ip_address);
free(socket_data);
/* Quit the thread */
pthread_exit(NULL);
usleep(SOCKET_US_BEFORE_CONNECT_RETRY);
retry--;
}
usleep(SOCKET_US_BEFORE_CONNECT_RETRY);
retry --;
} while (ret < 0);
ui_set_title ("%s:%d", socket_data->ip_address, socket_data->port);
/* Set the socket as non-blocking */
fcntl(socket_data->sd, F_SETFL, O_NONBLOCK);
......
......@@ -44,11 +44,11 @@ gboolean ui_callback_on_open_messages(GtkWidget *widget, gpointer data)
operation_running = TRUE;
if (refresh && (ui_main_data.messages_file_name != NULL))
{
CHECK_FCT(ui_messages_read (ui_main_data.messages_file_name));
ui_messages_read (ui_main_data.messages_file_name);
}
else
{
CHECK_FCT(ui_messages_open_file_chooser());
ui_messages_open_file_chooser ();
}
operation_running = FALSE;
}
......@@ -65,7 +65,7 @@ gboolean ui_callback_on_save_messages(GtkWidget *widget, gpointer data)
if (operation_running == FALSE)
{
operation_running = TRUE;
CHECK_FCT(ui_messages_save_file_chooser(filtered));
ui_messages_save_file_chooser(filtered);
operation_running = FALSE;
}
......@@ -111,12 +111,11 @@ gboolean ui_callback_on_open_filters(GtkWidget *widget, gpointer data)
operation_running = TRUE;
if (refresh && (ui_main_data.filters_file_name != NULL))
{
CHECK_FCT(ui_filters_read (ui_main_data.filters_file_name));
ui_filters_read (ui_main_data.filters_file_name);
}
else
{
CHECK_FCT(ui_filters_open_file_chooser());
ui_filters_open_file_chooser ();
}
operation_running = FALSE;
}
......@@ -130,7 +129,7 @@ gboolean ui_callback_on_save_filters(GtkWidget *widget, gpointer data)
{
operation_running = TRUE;
g_message("Save filters event occurred");
CHECK_FCT(ui_filters_save_file_chooser());
ui_filters_save_file_chooser();
operation_running = FALSE;
}
......@@ -484,34 +483,22 @@ static gboolean ui_handle_update_signal_list(gint fd, void *data, size_t data_le
static gboolean ui_handle_socket_connection_failed(gint fd)
{
GtkWidget *dialogbox;
dialogbox = gtk_message_dialog_new (GTK_WINDOW(ui_main_data.window), GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE,
"Failed to connect to provided host/ip address");
gtk_dialog_run (GTK_DIALOG(dialogbox));
gtk_widget_destroy (dialogbox);
ui_notification_dialog (GTK_MESSAGE_WARNING, FALSE, "connect", "Failed to connect to provided host/ip address");
/* Re-enable connect button */
ui_enable_connect_button ();
operation_running = FALSE;
return TRUE;
}
static gboolean ui_handle_socket_connection_lost(gint fd)
{
GtkWidget *dialogbox;
dialogbox = gtk_message_dialog_new (GTK_WINDOW(ui_main_data.window), GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE,
"Connection with remote host has been lost");
gtk_dialog_run (GTK_DIALOG(dialogbox));
gtk_widget_destroy (dialogbox);
ui_notification_dialog (GTK_MESSAGE_WARNING, FALSE, "Connect", "Connection with remote host has been lost");
/* Re-enable connect button */
ui_enable_connect_button ();
ui_set_sensitive_save_message_buttons (TRUE);
operation_running = FALSE;
return TRUE;
}
......@@ -590,32 +577,37 @@ gboolean ui_callback_on_connect(GtkWidget *widget, gpointer data)
if (strlen (ip) == 0)
{
ui_notification_dialog (GTK_MESSAGE_WARNING, FALSE, "Connect", "Empty host ip address");
ui_notification_dialog (GTK_MESSAGE_ERROR, FALSE, "Connect", "Empty host ip address");
return FALSE;
}
if (port == 0)
{
ui_notification_dialog (GTK_MESSAGE_WARNING, FALSE, "Connect", "Invalid host port value");
ui_notification_dialog (GTK_MESSAGE_ERROR, FALSE, "Connect", "Invalid host port value");
return FALSE;
}
ui_pipe_new (pipe_fd, ui_pipe_callback, NULL);
if (operation_running == FALSE)
{
operation_running = TRUE;
ui_pipe_new (pipe_fd, ui_pipe_callback, NULL);
memcpy (ui_main_data.pipe_fd, pipe_fd, sizeof(int) * 2);
memcpy (ui_main_data.pipe_fd, pipe_fd, sizeof(int) * 2);
/* Disable the connect button */
ui_disable_connect_button ();
ui_set_sensitive_save_message_buttons (FALSE);
/* Disable the connect button */
ui_disable_connect_button ();
ui_set_sensitive_save_message_buttons (FALSE);
ui_callback_signal_clear_list (widget, data);
ui_callback_signal_clear_list (widget, data);
if (socket_connect_to_remote_host (ip, port, pipe_fd[1]) != 0)
{
ui_enable_connect_button ();
return FALSE;
if (socket_connect_to_remote_host (ip, port, pipe_fd[1]) != 0)
{
ui_enable_connect_button ();
operation_running = FALSE;
return FALSE;
}
}
ui_set_title ("%s:%d", ip, port);
return TRUE;
}
......@@ -627,7 +619,8 @@ gboolean ui_callback_on_disconnect(GtkWidget *widget, gpointer data)
ui_pipe_write_message (ui_main_data.pipe_fd[0], UI_PIPE_DISCONNECT_EVT, NULL, 0);
ui_enable_connect_button ();
ui_set_sensitive_save_message_buttons (TRUE);
operation_running = FALSE;
return TRUE;
}
......
......@@ -160,6 +160,7 @@ void ui_set_title(const char *fmt, ...)
vsnprintf (buffer, sizeof(buffer), fmt, args);
snprintf (title, sizeof(title), "%s %s", name, buffer);
va_end (args);
gtk_window_set_title (GTK_WINDOW(ui_main_data.window), title);
}
......@@ -190,7 +191,6 @@ int ui_gtk_initialize(int argc, char *argv[])
CHECK_FCT(ui_menu_bar_create(vbox));
CHECK_FCT(ui_toolbar_create(vbox));
// CHECK_FCT(ui_tree_view_create(ui_main_data.window, vbox));
CHECK_FCT(ui_notebook_create(vbox));
gtk_container_add (GTK_CONTAINER(ui_main_data.window), vbox);
......
......@@ -49,6 +49,7 @@ int ui_enable_connect_button(void)
gtk_widget_set_sensitive (GTK_WIDGET (ui_main_data.connect), TRUE);
gtk_widget_set_sensitive (GTK_WIDGET (ui_main_data.disconnect), FALSE);
socket_abort_connection = TRUE;
ui_set_sensitive_save_message_buttons (TRUE);
ui_set_title ("");
return RC_OK;
......@@ -365,7 +366,7 @@ int ui_messages_open_file_chooser(void)
int result = RC_OK;
GtkWidget *filechooser;
gboolean accept;
gboolean response_accept;
char *filename;
filechooser = gtk_file_chooser_dialog_new ("Select file", GTK_WINDOW (ui_main_data.window),
......@@ -375,14 +376,14 @@ int ui_messages_open_file_chooser(void)
gtk_filter_add (filechooser, "All files", "*");
/* Process the response */
accept = gtk_dialog_run (GTK_DIALOG (filechooser)) == GTK_RESPONSE_ACCEPT;
response_accept = gtk_dialog_run (GTK_DIALOG (filechooser)) == GTK_RESPONSE_ACCEPT;
if (accept)
if (response_accept)
{
filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (filechooser));
}
gtk_widget_destroy (filechooser);
if (accept)
if (response_accept)
{
ui_set_sensitive_save_message_buttons (FALSE);
......@@ -468,7 +469,7 @@ int ui_filters_open_file_chooser(void)
{
int result = RC_OK;
GtkWidget *filechooser;
gboolean accept;
gboolean response_accept;
char *filename;
filechooser = gtk_file_chooser_dialog_new ("Select file", GTK_WINDOW (ui_main_data.window),
......@@ -478,14 +479,14 @@ int ui_filters_open_file_chooser(void)
gtk_filter_add (filechooser, "All files", "*");
/* Process the response */
accept = gtk_dialog_run (GTK_DIALOG (filechooser)) == GTK_RESPONSE_ACCEPT;
response_accept = gtk_dialog_run (GTK_DIALOG (filechooser)) == GTK_RESPONSE_ACCEPT;
if (accept)
if (response_accept)
{
filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (filechooser));
}
gtk_widget_destroy (filechooser);
if (accept)
if (response_accept)
{
result = ui_filters_read (filename);
if (result == RC_OK)
......
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