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 timex_ArithmeticHTTPServer_Application_hpp
10 #define timex_ArithmeticHTTPServer_Application_hpp
12 #include <anna/comm/Application.hpp>
13 #include <anna/comm/Communicator.hpp>
14 #include <anna/comm/ReceiverFactoryImpl.hpp>
16 #include <anna/timex/Engine.hpp>
18 #include "Acceptor.hpp"
19 #include "Reactor.hpp"
24 class IndexedDelivery;
36 class Application : public comm::Application {
40 comm::IndexedDelivery* getService () { return a_service; }
41 http4comm::Context* getContext () { return a_context; }
44 comm::Communicator* a_communicator;
45 anna::timex::Engine a_timeController;
46 http4comm::Context* a_context;
48 comm::ReceiverFactoryImpl <Acceptor> a_acceptorFactory;
49 comm::ReceiverFactoryImpl <Reactor> a_reactorFactory;
50 comm::ServerSocket* a_serverSocket;
51 comm::IndexedDelivery* a_service;
53 void initialize () noexcept(false);
54 void run () noexcept(false);