1 // ANNA - Anna is Not Nothingness Anymore //
3 // (c) Copyright 2005-2015 Eduardo Ramos Testillano & Francisco Ruiz Rayo //
5 // See project site at http://redmine.teslayout.com/projects/anna-suite //
6 // See accompanying file LICENSE or copy at http://www.teslayout.com/projects/public/anna.LICENSE //
9 #ifndef anna_timex_TimeEventObserver_hpp
10 #define anna_timex_TimeEventObserver_hpp
20 Clase base que se encarga de recibir las notificaciones basicas referentes al timex::TimeEvent.
22 Hemos comprobado que casi todos los procesos hay alguna entidad que se encarga de crear
23 los timex::TimeEvent que van siendo necesarios, normalmente usando un anna::Recycler<T>,
24 por lo que como minimo esta entidad tiene que preocuparse por cuando expiran los eventos
25 temporales y por cuando se caducan, para poder liberar su espacio.
27 Para facilitar el tratamiento de notificaciones vamos a incorporar esta clase, por ahora solo
28 recibe notificaciones de cuando se deja de usar un timex::TimeEvent, pero en el futuro podria
31 \see timex::TimeEvent::setObserver
33 class TimeEventObserver {
37 @param name Nombre logico de este alojador.
39 TimeEventObserver(const char* name) : a_name(name) {}
42 Devuelve una cadena con la informacion referente a este temporizador.
43 \return Una cadena con la informacion referenta a este temporizador.
45 std::string asString() const
47 std::string msg("timex::TimeEventObserver { Name: ");
54 Metodo virtual que debe reimplmentar para liberar el espacio reservado para el
55 evento temporal recibido como parametro.
57 Se invoca cuando el timex::Engine deja de usar el evento temporal.
59 \param timeEvent Evento temporal a liberar.
61 virtual void release(timex::TimeEvent* timeEvent) throw() = 0;