Fixes and improvs. Basic DRA feature.
[anna.git] / example / diameter / launcher / Launcher.hpp
index c8417fb..204459a 100644 (file)
@@ -20,8 +20,9 @@
 #include <anna/time/Date.hpp>
 
 // Process
-#include "MyCommunicator.hpp"
-#include "MyCounterRecorder.hpp"
+#include <MyCommunicator.hpp>
+#include <MyCounterRecorder.hpp>
+#include <TestManager.hpp>
 
 
 namespace anna {
@@ -35,6 +36,8 @@ namespace anna {
   }
 }
 
+class TestManager;
+
 // RealmNode resources
 class RealmNode;
 typedef std::map<std::string, RealmNode*> realm_nodes_t;
@@ -50,8 +53,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,13 +66,13 @@ 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, 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);
 
-
 public:
   Launcher();
 
@@ -75,6 +80,7 @@ public:
   void startServices() throw(anna::RuntimeException);
 
   anna::diameter::codec::Engine *getCodecEngine() const throw() { return a_codecEngine; }
+  //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 +100,8 @@ public:
 
   // helpers
   bool getDataBlockFromHexFile(const std::string &pathfile, anna::DataBlock &db) const throw();
+
+  friend class TestManager;
 };
 
 #endif