35 lines
1.5 KiB
C++
35 lines
1.5 KiB
C++
#pragma once
|
|
#include "garray.h"
|
|
#include "utiles_def.h"
|
|
#include "lock.h"
|
|
class C_error;
|
|
//proporciona un control de usuarios (entra en usuarios etc...)
|
|
class Ccontrol_usu_con
|
|
{
|
|
public:
|
|
//variables-----------------------------------------
|
|
Cgarray<Usuario_conx_0>us;//array de usuarios
|
|
Clock cerrojo;//interlock para protejer el array de usuarios
|
|
int nb;//numero de usuarios borrados;
|
|
int na;//numero de usuarios conectados;
|
|
//c y d---------------------------------------------
|
|
Ccontrol_usu_con(void);
|
|
~Ccontrol_usu_con(void);
|
|
//funciones-----------------------------------------
|
|
int lee(char* path, C_error *er);//carga usuarios de archivo y dice los que ha añadido
|
|
BOOL guarda(char*path ,C_error *er);//guarda los usuarios en un archivo
|
|
int pon(Usuario_conx_0 *u);//pone info del cliente en una posicion vacia de la lista (proteje antes usar)
|
|
Usuario_conx_0* get( char* nombre );
|
|
//funciones concurrente----------
|
|
int add(Usuario_conx_0 *user);//añade user CONCURRENTE
|
|
Usuario_conx_0* conecta(char*nombre, char* key,int*err);//pone como conectado un usuario CONCURRENTE
|
|
//err=1 usuariono existe,2 key incorrecta, 3 esta bloqueado, 4 usuario en uso
|
|
BOOL desconecta(Usuario_conx_0 *user);//desconecta un usuario CONCURRENTE
|
|
BOOL borra(Usuario_conx_0 *user);//borra usuario CONCURRENTE
|
|
int esta(char *nombre); //da el indice del usuario)(si esta)
|
|
BYTE* get_copy( int*nu,int modo=0 );//da una copia de los usuarios actuales
|
|
void verifica();//mira estado de lista y comprime si es necesario CONCURRENTE
|
|
|
|
|
|
};
|