#pragma once #include "_proceso.h" #include "static_cola.h" #include "base_head.h" typedef struct Timers_cola_asincrona { int t; __int64 ultimo; int tipo; }Timers_cola_asincrona; class UTILES_EXPORT Ccola_asincrona :public C_proceso { public: private: Cstatic_cola tareas; __int64 t; int n_timers; int max_timers; Timers_cola_asincrona* timers; BOOL ultima_tarea;//indica si hay que hacer ultima tarea antes de desconectar BOOL tipo_u_tarea;//tipo de ultima tarea public: BOOL pirate; int time_sleep; Ccola_asincrona(void); ~Ccola_asincrona(void); //funciones void inicia(int size,int cap=200);//prepara cola con elementos de tamaņo size y capacidad de la coloa de cap BOOL add(int tipo,BYTE*e);//pone una tarea nueva void on_timer(int t,int tipo);//pone una tarea cada t milesimas de segundo (solo el tipo) virtual void rum(); void termina();//finaliza thred cola asincrona (espera) void add_fin(int tipo);//pone ultima tarea(antes de finalizar) //override void virtual procesa(int tipo, BYTE* e); private: void cuida();//pide memoria para timers };