Remove dynamic exceptions
[anna.git] / include / anna / comm / handler / BinderSocket.hpp
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_handler_BinderSocket_hpp
10 #define anna_comm_handler_BinderSocket_hpp
11
12 #include <anna/comm/Handler.hpp>
13
14 namespace anna {
15
16 namespace comm {
17
18 class BinderSocket;
19
20 namespace handler {
21
22 class BinderSocket : public Handler {
23 public:
24   BinderSocket(Communicator* communicator) :
25     Handler(communicator, Handler::Type::BinderSocket, Support::None),
26     a_binderSocket(NULL)
27   {;}
28
29   void setup(comm::BinderSocket* binderSocket) { a_binderSocket = binderSocket; }
30
31 private:
32   comm::BinderSocket* a_binderSocket;
33
34   void initialize() noexcept(false);
35   void apply() noexcept(false);
36   void breakAddress(const in_addr_t&) {;}
37   void recoverAddress(const in_addr_t&) {;}
38   void finalize() ;
39   std::string asString() const ;
40   xml::Node* asXML(xml::Node*) const ;
41 };
42
43 }
44 }
45 }
46
47 #endif
48