X-Git-Url: https://git.teslayout.com/public/public/public/?a=blobdiff_plain;f=example%2Fdiameter%2Flauncher%2FLauncher.hpp;h=9ac09af9e4b98b20bac6db21c75bf328cf98cc37;hb=cbbe8862e2d4f395e61c1939fbbabf9e7f92fa2b;hp=e420a1b6eaa3af7b1fd16335e85b99a1d2fcdba4;hpb=74730c7d0e4f713c932d6b06a07644d1c3c6c6c1;p=anna.git diff --git a/example/diameter/launcher/Launcher.hpp b/example/diameter/launcher/Launcher.hpp index e420a1b..9ac09af 100644 --- a/example/diameter/launcher/Launcher.hpp +++ b/example/diameter/launcher/Launcher.hpp @@ -20,8 +20,14 @@ #include // Process -#include "MyCommunicator.hpp" -#include "MyCounterRecorder.hpp" +#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##" namespace anna { @@ -35,6 +41,8 @@ namespace anna { } } +class TestManager; + // RealmNode resources class RealmNode; typedef std::map realm_nodes_t; @@ -50,8 +58,10 @@ class Launcher : public anna::comm::Application { // Core engines: MyCommunicator *a_communicator; anna::diameter::codec::Engine *a_codecEngine; + anna::diameter::stack::Dictionary *a_baseProtocolDictionary; anna::timex::Engine* a_timeEngine; MyCounterRecorder *a_counterRecorder; + anna::Millisecond a_admlMinResolution; MyCounterRecorderClock *a_counterRecorderClock; // Nodes deployment: @@ -61,21 +71,22 @@ class Launcher : public anna::comm::Application { // comm resources: anna::comm::ServerSocket* a_httpServerSocket; // HTTP + const anna::Millisecond &getADMLMinResolution() const throw() { return a_admlMinResolution; } - void servicesFromXML(const anna::xml::Node* servicesNode) throw(anna::RuntimeException); + 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); - public: Launcher(); - void loadServices(const std::string & xmlPathFile) throw(anna::RuntimeException); + void loadServices(const std::string & xmlPathFile, bool eventOperation = false) throw(anna::RuntimeException); void startServices() throw(anna::RuntimeException); anna::diameter::codec::Engine *getCodecEngine() const throw() { return a_codecEngine; } - RealmNode *getWorkingNode() const throw() { return a_workingNode; } // management operations working node + //anna::diameter::stack::Dictionary *getBaseProtocolDictionary() const throw() { return a_baseProtocolDictionary; } + RealmNode *getWorkingNode() const throw(anna::RuntimeException); // management operations working node bool setWorkingNode(const std::string &name) throw(); // we could update ignoreFlagsOnValidation/integrationAndDebugging over the global codec engine // but finally, that configuration issues will be global to the process. @@ -94,6 +105,8 @@ public: // helpers bool getDataBlockFromHexFile(const std::string &pathfile, anna::DataBlock &db) const throw(); + + friend class TestManager; }; #endif