Remove dynamic exceptions
[anna.git] / example / diameter / launcher / Launcher.hpp
index 2d5b3a7..c7181ee 100644 (file)
@@ -65,20 +65,18 @@ class Launcher : public anna::comm::Application {
   MyCounterRecorderClock *a_counterRecorderClock;
 
   // Nodes deployment:
-  origin_hosts_t a_originHosts;
   anna::diameter::comm::OriginHost *a_workingNode;
   anna::diameter::comm::OriginHost *a_operatedHost; // auxiliary for eventOperation
 
   // comm resources:
   anna::comm::ServerSocket* a_httpServerSocket; // HTTP
 
-  std::string getSignalUSR2InputFile() const throw();
-  std::string getSignalUSR2OutputFile() const throw();
+  std::string getSignalUSR2InputFile() const ;
+  std::string getSignalUSR2OutputFile() const ;
 
-  void servicesFromXML(const anna::xml::Node* servicesNode, bool eventOperation) throw(anna::RuntimeException);
-  anna::Millisecond checkTimeMeasure(const std::string &parameter, const std::string &value) throw(anna::RuntimeException);
-  void initialize() throw(anna::RuntimeException); // HTTP
-  void run() throw(anna::RuntimeException);
+  void servicesFromXML(const anna::xml::Node* servicesNode, bool bindResources) noexcept(false);
+  void initialize() noexcept(false); // HTTP
+  void run() noexcept(false);
 
 
 
@@ -86,40 +84,49 @@ public:
   Launcher();
   //~Launcher(); TODO
 
-  void loadServices(const std::string & xmlPathFile, bool eventOperation = false) throw(anna::RuntimeException);
-  void startServices() throw(anna::RuntimeException);
+  anna::Millisecond checkTimeMeasure(const std::string &parameter, const std::string &value) noexcept(false);
 
-  bool setWorkingNode(const std::string &name) throw();
-  anna::diameter::comm::OriginHost *getOriginHost(const std::string &oh) const throw(anna::RuntimeException);
-  anna::diameter::comm::OriginHost *getOriginHost(const anna::diameter::codec::Message &message) const throw(anna::RuntimeException);
-  bool uniqueOriginHost() const throw() { return (a_originHosts.size() == 1); }
+  void loadServicesFromFile(const std::string & xmlPathFile, bool bindResources) noexcept(false);
+  void loadServicesFromXMLString(const std::string & xmlString, bool bindResources) noexcept(false);
+  void startServices() noexcept(false);
+
+  bool setWorkingNode(const std::string &name) ;
+  void setNodeAuto() { a_workingNode = NULL; a_operatedHost = NULL; }
+  anna::diameter::comm::OriginHost *getOriginHost(const std::string &name) const noexcept(false);
+  anna::diameter::comm::OriginHost *getOriginHost(const anna::diameter::codec::Message &message) const noexcept(false);
+  anna::diameter::comm::OriginHost *getOriginHost(const anna::DataBlock &messageDataBlock) const noexcept(false);
+
+  bool uniqueOriginHost() const ;
 
   // Operated host for communication resources smart assignment ////////////////////////////////////////////////////////////
-  void updateOperatedOriginHostWithMessage(const anna::diameter::codec::Message &message) throw(anna::RuntimeException);
-  anna::diameter::comm::OriginHost *getWorkingNode() const throw(anna::RuntimeException);
-  anna::diameter::comm::OriginHost *getOperatedHost() const throw(anna::RuntimeException);
-  MyDiameterEntity *getOperatedEntity() const throw(anna::RuntimeException);
-  MyLocalServer *getOperatedServer() const throw(anna::RuntimeException);
-  MyDiameterEngine *getOperatedEngine() const throw(anna::RuntimeException);
+  void updateOperatedOriginHostWithMessage(const anna::diameter::codec::Message &message) noexcept(false);
+  void updateOperatedOriginHostWithMessage(const anna::DataBlock &messageDataBlock) noexcept(false);
+  anna::diameter::comm::OriginHost *getWorkingNode() const noexcept(false);
+  anna::diameter::comm::OriginHost *getOperatedHost() const noexcept(false);
+  void setOperatedHost(anna::diameter::comm::OriginHost *);
+  MyDiameterEntity *getOperatedEntity() const noexcept(false);
+  MyLocalServer *getOperatedServer() const noexcept(false);
+  MyDiameterEngine *getOperatedEngine() const noexcept(false);
   ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 
+  const std::string & getInitialWorkingDirectory() const { return a_initialWorkingDirectory; }
 
-  MyCommunicator *getCommunicator() throw() { return a_communicator; }
-  void eventOperation(const std::string &, std::string &) throw(anna::RuntimeException);
-  void forceCountersRecord() throw(anna::RuntimeException) { if (a_counterRecorderClock) a_counterRecorderClock->tick(); }
-  void logStatisticsSamples(const std::string &conceptsList) throw();
+  MyCommunicator *getCommunicator() { return a_communicator; }
+  bool eventOperation(const std::string &, std::string &) noexcept(false); // returns success/failed
+  void forceCountersRecord() noexcept(false) { if (a_counterRecorderClock) a_counterRecorderClock->tick(); }
+  void logStatisticsSamples(const std::string &conceptsList) ;
 
 
-  anna::xml::Node* asXML(anna::xml::Node* parent) const throw();
-  void resetStatistics() throw();
-  void resetCounters() throw();
-  void signalUSR2() throw(anna::RuntimeException);
-  std::string help() const throw();
-  anna::xml::Node* oamAsXML(anna::xml::Node* parent) const throw();
-  anna::xml::Node* statsAsXML(anna::xml::Node* parent) const throw();
+  anna::xml::Node* asXML(anna::xml::Node* parent) const ;
+  void resetStatistics() ;
+  void resetCounters() ;
+  void signalUSR2() noexcept(false);
+  void signalTerminate() noexcept(false);
+  anna::xml::Node* oamAsXML(anna::xml::Node* parent) const ;
+  anna::xml::Node* statsAsXML(anna::xml::Node* parent) const ;
 
   // helpers
-  bool getDataBlockFromHexFile(const std::string &pathfile, anna::DataBlock &db) const throw();
+  bool getDataBlockFromHexFile(const std::string &pathfile, anna::DataBlock &db) const noexcept(false);
 
   friend class TestManager;
 };