ANNA Suite  2020b
Multipurpose development suite for Telco applications
Application.hpp
Go to the documentation of this file.
1 // ANNA - Anna is Not Nothingness Anymore //
2 // //
3 // (c) Copyright 2005-2015 Eduardo Ramos Testillano & Francisco Ruiz Rayo //
4 // //
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 //
7 
8 
9 #ifndef anna_comm_Application_hpp
10 #define anna_comm_Application_hpp
11 
12 #include <vector>
13 
14 #include <anna/app/Application.hpp>
15 
16 #include <anna/comm/functions.hpp>
17 
18 namespace anna {
19 
20 namespace xml {
21 class Node;
22 }
23 
24 namespace comm {
25 
26 class Communicator;
27 class TransportFactory;
28 
44 class Application : public app::Application {
45 public:
52  virtual TransportFactory& getDefaultTransportFactory() ;
53 
54 protected:
65  Application(const char *shortName, const char *title, const char *version, const char* date = NULL, const char* time = NULL);
66 
70  virtual void signalTerminate() noexcept(false);
71 
72 private:
73  Application(const Application&);
74  bool supportCommunication() const { return true; }
75 
76  friend class Communicator;
77  friend anna::comm::Application& comm::functions::getApp() noexcept(false);
78 };
79 
80 }
81 }
82 
83 #endif
Definition: Application.hpp:44
Definition: Communicator.hpp:79
Definition: Application.hpp:35
xml::Node Node
Definition: Node.hpp:21
static comm::Application & getApp() noexcept(false)
Definition: app.hpp:12
Definition: TransportFactory.hpp:30