X-Git-Url: https://git.teslayout.com/public/public/public/?a=blobdiff_plain;f=example%2Fdiameter%2Flauncher%2FLauncher.hpp;h=c7181ee2eccd37bd005d85f235bb9c022d2df805;hb=5a6cba5fde2b2f538a7515f8293cc0a8d9589dfa;hp=dcc684d5e451169371e7e89bde77ad7eb4537773;hpb=0c533bf948a63d134c8001e16b15194b197cb99a;p=anna.git diff --git a/example/diameter/launcher/Launcher.hpp b/example/diameter/launcher/Launcher.hpp index dcc684d..c7181ee 100644 --- a/example/diameter/launcher/Launcher.hpp +++ b/example/diameter/launcher/Launcher.hpp @@ -23,12 +23,7 @@ // Process #include #include -#include - - -#define SH_COMMAND_TAG_FOR_REPLACE__CYCLE_ID "##cycleid##" -#define SH_COMMAND_TAG_FOR_REPLACE__TESTCASE_ID "##testcaseid##" -#define SH_COMMAND_TAG_FOR_REPLACE__TESTSTEP_ID "##teststepid##" +#include namespace anna { @@ -39,20 +34,21 @@ namespace anna { namespace codec { class Engine; } + namespace comm { + class OriginHost; + } } } class TestManager; -class OriginHost; class MyDiameterEntity; class MyLocalServer; class MyDiameterEngine; // OriginHost resources -class OriginHost; -typedef std::map origin_hosts_t; -typedef std::map::const_iterator origin_hosts_it; -typedef std::map::iterator origin_hosts_nc_it; +typedef std::map origin_hosts_t; +typedef std::map::const_iterator origin_hosts_it; +typedef std::map::iterator origin_hosts_nc_it; class Launcher : public anna::comm::Application { @@ -69,22 +65,18 @@ class Launcher : public anna::comm::Application { MyCounterRecorderClock *a_counterRecorderClock; // Nodes deployment: - origin_hosts_t a_originHosts; - OriginHost *a_workingNode; - OriginHost *a_operatedHost; // auxiliary for eventOperation + anna::diameter::comm::OriginHost *a_workingNode; + anna::diameter::comm::OriginHost *a_operatedHost; // auxiliary for eventOperation // comm resources: anna::comm::ServerSocket* a_httpServerSocket; // HTTP - const anna::Millisecond &getADMLMinResolution() const throw() { return a_admlMinResolution; } + std::string getSignalUSR2InputFile() const ; + std::string getSignalUSR2OutputFile() const ; - std::string getSignalUSR2InputFile() const throw(); - std::string getSignalUSR2OutputFile() const throw(); - - void servicesFromXML(const anna::xml::Node* servicesNode, bool eventOperation) throw(anna::RuntimeException); - anna::Millisecond checkTimeMeasure(const std::string ¶meter, 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); @@ -92,39 +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 ¶meter, const std::string &value) noexcept(false); + + 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 setWorkingNode(const std::string &name) throw(); - OriginHost *getOriginHost(const std::string &oh) const throw(anna::RuntimeException); - OriginHost *getOriginHost(const anna::diameter::codec::Message &message) const throw(anna::RuntimeException); - bool uniqueOriginHost() const throw() { return (a_originHosts.size() == 1); } + bool uniqueOriginHost() const ; // Operated host for communication resources smart assignment //////////////////////////////////////////////////////////// - void updateOperatedOriginHostWithMessage(const anna::diameter::codec::Message &message) throw(anna::RuntimeException); - 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; };