00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00025 #ifndef _LOGIN_H
00026 #define _LOGIN_H
00027
00028 #include "util.h"
00029 #include "socket.h"
00030
00034 struct componentes_form1
00035 {
00036 GtkWidget * ventana;
00037 GtkWidget * tabla;
00038 GtkWidget * boton_aceptar;
00039 GtkWidget * legajo;
00040 GtkWidget * contrasena;
00041 };
00042
00046 struct componentes_form2
00047 {
00048 GtkWidget * ventana;
00049 GtkWidget * etiqueta;
00050 GtkWidget * menu;
00051 GtkWidget * item_renovar;
00052 int segs;
00053 gint id_temporizador;
00054 };
00055
00059 typedef struct login
00060 {
00061 char run1 [1024];
00062 char run2 [1024];
00063 char escritorio [1024];
00064 char equipo [1024];
00065 char apagar [1024];
00066 char reiniciar [1024];
00068 int puerto;
00069 char ip [1024];
00071 GTcpSocket * socket;
00072 GIOChannel * io;
00074 int pos_x;
00075 int pos_y;
00077 int wm_login;
00078 int wm_reloj;
00080 char passwd [1024];
00082 struct componentes_form1 form1;
00083 struct componentes_form2 reloj;
00084 } Login;
00085
00086
00087
00088 int login_iniciar (Login * data, int argc, char * argv []);
00089 int login_iniciar_identificar (Login * data);
00090 int login_cargar_opciones (Login * data);
00091 int login_conectar_al_servidor (Login * data);
00092
00093
00094 void login_mostrar_error_conexion (Login * data, char * ip, int puerto);
00095
00096
00097 void login_iniciar_ventana (Login * data);
00098 void login_iniciar_ventana_crear_componentes (Login * data);
00099 void login_iniciar_ventana_conectar (Login * data);
00100 void login_ingresar (GtkWidget * widget, gpointer * _data);
00101
00102
00103
00104 void login_salida_con_error (Login * data, char * detalle);
00105 void login_signal (int num);
00106
00107
00108 int login_ejecutar_gestor (Login * data, int tiempo);
00109 void login_termino_gestor (GPid pid, gint status, gpointer _data);
00110 void login_terminar_sesion (Login * data);
00111 void login_actualizar_sesion (GtkWidget * widget, gpointer * _data);
00112 void login_solicitar_nueva_sesion (Login * data);
00113
00114
00115 void login_crear_reloj (Login * data, int tiempo);
00116 gint login_reloj_actualizar (gpointer _data);
00117 void login_mostrar_menu (GtkWidget * widget, gpointer * _data);
00118 void login_acerca_de (GtkWidget * widget, gpointer * _data);
00119
00120
00121
00122 gboolean login_atender_servidor (GIOChannel* io, GIOCondition cond, \
00123 gpointer data);
00124 void login_atender_mensaje (Login * data, GIOChannel * io);
00125 void login_atender_logout (Login * data, GIOChannel * io);
00126 void login_atender_reiniciar (Login * data, GIOChannel * io);
00127 void login_atender_apagar (Login * data, GIOChannel * io);
00128 void login_atender_error (Login * data, GIOChannel * io);
00129 void login_atender_actualiza_sesion (Login * data, GIOChannel * io);
00130 void login_atender_sesion (Login * data, GIOChannel * io);
00131 void login_atender_super_sesion (Login * data, GIOChannel * io);
00132
00133 void login_deshabilitar_renovacion (Login * data);
00134
00135 #endif