X-Git-Url: https://git.teslayout.com/public/public/public/?a=blobdiff_plain;f=example%2Fdiameter%2Flauncher%2FLauncher.hpp;h=dab341559353c067e7a0866979098b24e14371c9;hb=c881c12ed7e116f1d43760a0d9873f860c10a357;hp=2d5b3a714da8efe2ac21eb4fc43561b4828a35ca;hpb=d723d5bf571eb48c641b092058eaa38bb6c4fcc8;p=anna.git diff --git a/example/diameter/launcher/Launcher.hpp b/example/diameter/launcher/Launcher.hpp index 2d5b3a7..dab3415 100644 --- a/example/diameter/launcher/Launcher.hpp +++ b/example/diameter/launcher/Launcher.hpp @@ -65,7 +65,6 @@ 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 @@ -75,7 +74,7 @@ class Launcher : public anna::comm::Application { std::string getSignalUSR2InputFile() const throw(); std::string getSignalUSR2OutputFile() const throw(); - void servicesFromXML(const anna::xml::Node* servicesNode, bool eventOperation) throw(anna::RuntimeException); + void servicesFromXML(const anna::xml::Node* servicesNode, bool bindResources) 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); @@ -86,26 +85,30 @@ public: Launcher(); //~Launcher(); TODO - void loadServices(const std::string & xmlPathFile, bool eventOperation = false) throw(anna::RuntimeException); + void loadServicesFromFile(const std::string & xmlPathFile, bool bindResources) throw(anna::RuntimeException); + void loadServicesFromXMLString(const std::string & xmlString, bool bindResources) throw(anna::RuntimeException); void startServices() throw(anna::RuntimeException); bool setWorkingNode(const std::string &name) throw(); - anna::diameter::comm::OriginHost *getOriginHost(const std::string &oh) const throw(anna::RuntimeException); + void setNodeAuto() { a_workingNode = NULL; a_operatedHost = NULL; } + anna::diameter::comm::OriginHost *getOriginHost(const std::string &name) 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); } + bool uniqueOriginHost() const throw(); // 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); + void setOperatedHost(anna::diameter::comm::OriginHost *); MyDiameterEntity *getOperatedEntity() const throw(anna::RuntimeException); MyLocalServer *getOperatedServer() const throw(anna::RuntimeException); MyDiameterEngine *getOperatedEngine() const throw(anna::RuntimeException); /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + const std::string & getInitialWorkingDirectory() const { return a_initialWorkingDirectory; } MyCommunicator *getCommunicator() throw() { return a_communicator; } - void eventOperation(const std::string &, std::string &) throw(anna::RuntimeException); + bool eventOperation(const std::string &, std::string &) throw(anna::RuntimeException); // returns success/failed void forceCountersRecord() throw(anna::RuntimeException) { if (a_counterRecorderClock) a_counterRecorderClock->tick(); } void logStatisticsSamples(const std::string &conceptsList) throw(); @@ -114,12 +117,12 @@ public: void resetStatistics() throw(); void resetCounters() throw(); void signalUSR2() throw(anna::RuntimeException); - std::string help() const throw(); + void signalTerminate() throw(anna::RuntimeException); anna::xml::Node* oamAsXML(anna::xml::Node* parent) const throw(); anna::xml::Node* statsAsXML(anna::xml::Node* parent) const throw(); // helpers - bool getDataBlockFromHexFile(const std::string &pathfile, anna::DataBlock &db) const throw(); + bool getDataBlockFromHexFile(const std::string &pathfile, anna::DataBlock &db) const throw(anna::RuntimeException); friend class TestManager; };