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_ldap_TimerManager_hpp
10 #define anna_ldap_TimerManager_hpp
12 #include <anna/config/defines.hpp>
14 #include <anna/core/util/Recycler.hpp>
15 #include <anna/core/Singleton.hpp>
17 #include <anna/ldap/defines.hpp>
18 #include <anna/ldap/ClassCode.hpp>
19 #include <anna/ldap/internal/Timer.hpp>
21 #include <anna/timex/TimeEventObserver.hpp>
34 Gestor de temporizadores asociados a las peticiones LDAP.
36 class TimerManager : public timex::TimeEventObserver, public Singleton <TimerManager> {
37 typedef Recycler <Timer> timer_container;
39 timer_container a_timers;
40 timex::Engine* a_timeController;
43 TimerManager(const TimerManager&);
45 Timer* createTimer(Response*) throw(RuntimeException);
46 void cancel(Timer*) throw();
48 void release(timex::TimeEvent*) throw();
50 friend class Singleton <TimerManager>;
51 friend class Response;