- itti_analyzer v0.2:
* Moved all GUI calls to main thread * Refine socket interface * Added origin/destination task id on message display list git-svn-id: http://svn.eurecom.fr/openair4G/trunk@4258 818b1a75-f10b-46b9-bf7c-635c3b92a50f
This commit is contained in:
@@ -1,61 +1,61 @@
|
||||
#include <glib.h>
|
||||
|
||||
#ifndef UI_INTERFACE_H_
|
||||
#define UI_INTERFACE_H_
|
||||
|
||||
typedef enum dialog_type_e {
|
||||
DIALOG_INFO,
|
||||
DIALOG_WARNING,
|
||||
DIALOG_QUESTION,
|
||||
DIALOG_ERROR,
|
||||
DIALOG_OTHER,
|
||||
DIALOG_MAX
|
||||
} dialog_type_t;
|
||||
|
||||
/**
|
||||
* socket_connect_t
|
||||
* @param remote_ip Remote ipv4 address
|
||||
* @param port Remote port number
|
||||
* @return RC_OK on Success, < 0 on failure
|
||||
**/
|
||||
typedef int (*socket_connect_t)(const char *remote_ip, const uint16_t port);
|
||||
typedef int (*socket_disconnect_t)(void);
|
||||
|
||||
typedef int (*parse_signal_file_t)(const char *filename);
|
||||
typedef int (*dissect_signal_t)(const uint32_t message_number);
|
||||
|
||||
/**
|
||||
* ui_notification_dialog_t
|
||||
* @param type Type for the new dialog box
|
||||
* @param fmt String formater
|
||||
* @param ... argument list
|
||||
* @return RC_OK on Success, < 0 on failure
|
||||
**/
|
||||
typedef int (*ui_notification_dialog_t)(dialog_type_t type, const char *fmt, ...);
|
||||
typedef int (*ui_disable_connect_button_t)(void);
|
||||
typedef int (*ui_enable_connect_button_t)(void);
|
||||
typedef int (*ui_progress_bar_set_fraction_t)(double fraction);
|
||||
typedef int (*ui_progress_bar_terminate_t)(void);
|
||||
|
||||
typedef int (*ui_tree_view_new_signal_ind_t)(const uint32_t message_number, const char *signal_name);
|
||||
typedef int (*ui_signal_set_text_t)(char *text, int length);
|
||||
|
||||
typedef struct {
|
||||
/** UI -> core program */
|
||||
socket_connect_t socket_connect;
|
||||
socket_disconnect_t socket_disconnect;
|
||||
parse_signal_file_t parse_signal_file;
|
||||
dissect_signal_t dissect_signal;
|
||||
|
||||
/** core program -> UI */
|
||||
int dissector_ready;
|
||||
ui_notification_dialog_t ui_notification_dialog;
|
||||
ui_disable_connect_button_t ui_disable_connect_button;
|
||||
ui_enable_connect_button_t ui_enable_connect_button;
|
||||
ui_progress_bar_set_fraction_t ui_progress_bar_set_fraction;
|
||||
ui_progress_bar_terminate_t ui_progress_bar_terminate;
|
||||
ui_tree_view_new_signal_ind_t ui_tree_view_new_signal_ind;
|
||||
ui_signal_set_text_t ui_signal_set_text;
|
||||
} ui_interface_t;
|
||||
|
||||
extern ui_interface_t ui_interface;
|
||||
|
||||
/*******************************************************************************
|
||||
* Pipe interface between GUI thread and other thread
|
||||
******************************************************************************/
|
||||
|
||||
typedef gboolean (*pipe_input_cb_t) (gint source, gpointer user_data);
|
||||
|
||||
typedef struct {
|
||||
int source_fd;
|
||||
guint pipe_input_id;
|
||||
GIOChannel *pipe_channel;
|
||||
|
||||
pipe_input_cb_t input_cb;
|
||||
gpointer user_data;
|
||||
} pipe_input_t;
|
||||
|
||||
int ui_pipe_new(int pipe_fd[2], pipe_input_cb_t input_cb, gpointer user_data);
|
||||
|
||||
int ui_pipe_write_message(int pipe_fd, const uint16_t message_type,
|
||||
const void * const message, const uint16_t message_size);
|
||||
|
||||
typedef struct {
|
||||
uint16_t message_size;
|
||||
uint16_t message_type;
|
||||
} pipe_input_header_t;
|
||||
|
||||
enum ui_pipe_messages_id_e {
|
||||
/* Other thread -> GUI interface ids */
|
||||
UI_PIPE_CONNECTION_FAILED,
|
||||
UI_PIPE_CONNECTION_LOST,
|
||||
UI_PIPE_XML_DEFINITION,
|
||||
UI_PIPE_UPDATE_SIGNAL_LIST,
|
||||
|
||||
/* GUI -> other threads */
|
||||
UI_PIPE_DISCONNECT_EVT
|
||||
};
|
||||
|
||||
typedef struct {
|
||||
char *xml_definition;
|
||||
size_t xml_definition_length;
|
||||
} pipe_xml_definition_message_t;
|
||||
|
||||
typedef struct {
|
||||
GList *signal_list;
|
||||
} pipe_new_signals_list_message_t;
|
||||
|
||||
#endif /* UI_INTERFACE_H_ */
|
||||
|
||||
Reference in New Issue
Block a user